Installation

Hi,
This looks fantastic and very promising.... have you been running this on your own system?  I'd love to try it out too
Willing to help if you need anything, testing etc

It's not really ready yet unfortunately, I haven't had time to finish it off yet. It connects, reads currently settings, but changing settings doesn't really work. It also seems to lose the connection after a while.

@andrewleech  - super keen for this!  have you seen this project? https://github.com/mrhteriyaki/airconcontrol
It is a win forms replacement for the magiqtouch app.  Potentially you could get some hints as to what is happening from that one.
Would be happy for just reading the settings/state in HA if you are happy to make it available in HACs?
cheers.

It is already available in HACS in general, but it sounds like there are still module dependency issues breaking install for some people.
As far as the rest of the mqtt communication to get/set the state I did previously have the format of that worked out and working (though suspect I might have lost a bit when my server died last year).
When I had it mostly working last time though there were some issues in the conversion of mqtt state to HA controls, and stability issues (it died after a few hours, probably a mqtt login/refresh issue).
The problem for me is far too many active projects, very little spare time, so yeah not a lot of progress.

haha, yeah... always lots going on!
I will be getting my A/C installed next friday, so i will be giving it a go!  If i can figure any of the issue out, i will let you know / PR.
BTW, are you using gitlab or github?

Yes, I haven't been able to install the integration - keeps stopping with a config flow error.

Yes, I haven't been able to install the integration - keeps stopping with a config flow error.

I’m getting the same error.

something to do with the mandate.git package in the requirements section in manifest.json.
Replacing it with the published mandate package allows it to progress past the config flow error, but it still doesn't allow login

Just wondering if there's been any progress on this? I'm also unable to get beyond the config flow error. Any update appreciated.

Sorry no I've got far too many projects on the go, this one hasn't made it back to the top of the list yet!

Hey
Also getting the config flow error. We really appreciate  that you have gotten it this far.
Thanks!

something to do with the mandate.git package in the requirements section in manifest.json. Replacing it with the published mandate package allows it to progress past the config flow error, but it still doesn't allow login

How did you manage to do this? Any tips?

How did you manage to do this? Any tips?

I did it by exec'ing an interactive bash shell in my Home Assistant docker container and using pip to install the mandate module manually.  Still can't login to the Seeley service though.

If anyone's looking for a "just works" solution, I've hacked in the newer web based API using research from mrhteriyaki. Still experimental and doesn't support anything more than simple on/off and temperature control, but you should be able to at least sign in now.

If anyone's looking for a "just works" solution, I've hacked in the newer web based API using research from mrhteriyaki. Still experimental and doesn't support anything more than simple on/off and temperature control, but at least you can sign in now.

@epetousis Looks good - it fails at login for me though;
2022-08-19 22:29:02.498 ERROR (MainThread) [custom_components.MagiQtouch.config_flow] Could not connect: Connect timeout on endpoint URL: "http://<IP_ADDRESS>/latest/api/token" Traceback (most recent call last):

@epetousis Looks good - it fails at login for me though; 2022-08-19 22:29:02.498 ERROR (MainThread) [custom_components.MagiQtouch.config_flow] Could not connect: Connect timeout on endpoint URL: "http://<IP_ADDRESS>/latest/api/token" Traceback (most recent call last):

Looks like the workaround I implemented in code didn't work. Try exporting AWS_EC2_METADATA_DISABLED=true as an environment variable in Home Assistant's shell environment. In my Docker configuration for Home Assistant, I've done it like so:
---
version: '2'
services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    restart: unless-stopped
    privileged: true
    environment:
      - AWS_EC2_METADATA_DISABLED=true

Looks like the workaround I implemented in code didn't work, I'll look into a better fix later. In the meantime, try exporting AWS_EC2_METADATA_DISABLED=true as an environment variable in Home Assistant's shell environment. In my Docker configuration for Home Assistant, I've done it like so:

This worked perfectly for me! Thank you. Now I can get rid of my unstable Home Assistant | node-red | Alexa automations!

@epetousis Looks good - it fails at login for me though; 2022-08-19 22:29:02.498 ERROR (MainThread) [custom_components.MagiQtouch.config_flow] Could not connect: Connect timeout on endpoint URL: "http://<IP_ADDRESS>/latest/api/token" Traceback (most recent call last):

Looks like the workaround I implemented in code didn't work, I'll look into a better fix later. In the meantime, try exporting AWS_EC2_METADATA_DISABLED=true as an environment variable in Home Assistant's shell environment. In my Docker configuration for Home Assistant, I've done it like so:
---
version: '2'
services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    restart: unless-stopped
    privileged: true
    environment:
      - AWS_EC2_METADATA_DISABLED=true

I'm using Home Assistant OS - not sure I can easily export variables. Unless someone knows?

I've fixed the other broken AWS Cognito connection in the login flow. You should be able to pull my latest changes and log in without any issues.

I've fixed the other broken AWS Cognito connection in the login flow. You should be able to pull my latest changes and log in without any environment variables needed.

Nice! works perfectly now thanks!

Really appreciate the effort in getting this working. Having some trouble though... I re-installed the integration via HACS and when I try to set in up in HA, I get the error: "This integration does not support configuration via the UI".
I gather I've done something wrong or need to set this up manually. Any help is appreciated...

"This integration does not support configuration via the UI".

I had the same thing happen.  Complete removal of the integration and reboot of the host (not just the HA instance) followed by reinstalling fixed it for me..

I had the same thing happen. Complete removal of the integration and reboot of the host (not just the HA instance) followed by reinstalling fixed it for me..

Yeah - happened to me a couple of times. I find it also gets out of sync with the cloud service at times - doesn't track the on/off state, or temperature changes made at the panel (or with the app).
But, as an alpha release, I'm really, really happy with it.

"This integration does not support configuration via the UI".

I had the same thing happen. Complete removal of the integration and reboot of the host (not just the HA instance) followed by reinstalling fixed it for me..

Thanks! That worked.

Yeah - happened to me a couple of times. I find it also gets out of sync with the cloud service at times - doesn't track the on/off state, or temperature changes made at the panel (or with the app).
But, as an alpha release, I'm really, really happy with it.

I'm also noticing this - doesn't sync with changes made at the wall panel but also isn't reflecting changes in current room temp for me either - or any setpoint changes. At least I can automate the on/off state of the device at least so for this, I'm very grateful. Thanks!

To clarify my last comment regarding setpoint, my system is central heating only, no cooling. I presume setpoint changes should only apply to when the thermostat is in "override" mode - and not auto/program mode? I guess this might be why setpoint has no effect for me because I don't see any override/manual mode available to me. The only hvac attributes I have are: off, cool, fan_only and auto.

It's a great leap forward!
There's two things I think need work next

it stops syncing after a while (not sure after what time period). Reloading the integration reconnects it. Probably needs to log into the system again after a while.
Only has auto / cool / fan /off. Is auto = heat? or does it need a heat option as well. Or can it tell what systems are installed?

It's a great leap forward! There's two things I think need work next

it stops syncing after a while (not sure after what time period). Reloading the integration reconnects it. Probably needs to log into the system again after a while.
Only has auto / cool / fan /off. Is auto = heat? or does it need a heat option as well. Or can it tell what systems are installed?

Actually - I think this integration is causing a more general failure in my Home Assistant setup. Most sensors are no longer available at the same time Magiqtouch stops communicating. Something is stuck in a loop somewhere? Disabling this integration tonight to see if it resolves, and then will investigate further.

@dphroon I've noticed the updating issue as well - not 100% on what's causing it, but it's possible that I broke something by moving to that new API. I'll have to take a look when I get some free time next, I'll probably push it alongside/after the multi-zone support that I'm working on.
As for the auto/cool/fan/off thing, I believe auto corresponds to heat right now, but I'm also working on improving this so that the modes are correctly set based off of what's hooked up to the control panel.

Thanks for that. As others have mentioned also, I'm noticing that it frequently loses its connection and no longer controls anything. I need to reload the integration to restore functionality (and re-sync). Maybe losing its connection and a reload forces a new one?

I've fixed the failing state refresh, was a mistake on my part - the entity wasn't calling the async refresh method in the driver properly. I've also added rudimentary support for multiple zones. Auto mode support has not been added yet - haven't yet looked into it.

I've fixed the failing state refresh, was a mistake on my part

@epetousis I've tried your updated commit, even removed and reinstalled completely, and am getting the below error in my Home Assistant logs. The integration logs in successfully, but creates no entities.
2022-08-24 18:33:06.972 WARNING (MainThread) [magiqtouch] The MagiQtouch API is reporting no zones. No devices will be available from the MagiQtouch integration.

I've checked my MagiQtouch app and profile settings, and can't see anything related to zones.

@DeltaTangoLima whoops, I don't know why I assumed that zoneless systems weren't a thing. Pushed a hotfix, let me know if that works for you.

@epetousis Cheers! It's loading correctly now - now to see if it stays in sync. I'll let you know.

@epetousis Hmmmm - still appears to be losing sync. Showing as off, with 0°/0° for the setpoint/current temp.

@DeltaTangoLima do you happen to see any logs from the integration?

@epetousis no, nothing since I restarted Home Assistant after your hotfix. The last log entries contain what look like a json payload of some sort, with the final one being about 5 or 6 minutes after the restart, then nothing.
The log entries all look pretty much identical:
WARNING (SyncWorker_6) [magiqtouch] Sent: {"SerialNo": "[REDACTED]","TimeRequest": "2022-08-24T18:59:43.178332+10:00","StandBy": 0,"EvapCRunning": 0,"CTemp": 23,"CFanSpeed": 0,"CFanOnly": 0,"CThermosOrFan": 0,"HRunning": 1,"HTemp": 23,"HFanSpeed": 10,"HFanOnly": 0,"FAOCRunning": 0,"FAOCTemp": 23,"IAOCRunning": 0,"IAOCTemp": 23,"OnOffZone1": 1,"TempZone1": 23,"Override1": 1,"OnOffZone2": 0,"TempZone2": 0,"Override2": 0,"OnOffZone3": 0,"TempZone3": 0,"Override3": 0,"OnOffZone4": 0,"TempZone4": 0,"Override4": 0,"OnOffZone5": 0,"TempZone5": 0,"Override5": 0,"OnOffZone6": 0,"TempZone6": 0,"Override6": 0,"OnOffZone7": 0,"TempZone7": 0,"Override7": 0,"OnOffZone8": 0,"TempZone8": 0,"Override8": 0,"OnOffZone9": 0,"TempZone9": 0,"Override9": 0,"OnOffZone10": 0,"TempZone10": 0,"Override10": 0,"CC3200FW_Major": 0,"CC3200FW_Minor": 0,"STM32FW_Major": 0,"STM32FW_Minor": 0,"TouchCount": 0,"CCL": null,"STL": null}

Interesting, I just got the same issue on my Home Assistant install. I'll enable debug logs and see if I can spot anything.

Looks like the issue was the refresh method wasn't properly throwing an exception when the authentication token expired, so the Home Assistant state was being set to blank defaults, and a reauthentication request wasn't being triggered. I believe my latest fix should work, but I haven't tested long-term yet.

No worries - have loaded it up, but about to head away for a few days, so won't be able to check the long-term fix myself either. Will let you know when I get back.

@epetousis - Still looking good, maintaining sync after about 5 hours here..

Yeah, looking good for me as well now.

Poop..
After restart following HA 2022.8.7 update:
Logger: homeassistant.setup
Source: setup.py:192
First occurred: 10:02:59 AM (1 occurrences)
Last logged: 10:02:59 AM

Setup failed for custom integration MagiQtouch: Unable to import component: cannot import name 'resolve_checksum_context' from 'botocore.client' (/usr/local/lib/python3.10/site-packages/botocore/client.py)

Working without error notification following another restart..

Yeah, that botocore error's a weird error that I'm yet to figure out. It comes and goes for me as well, but as you observed generally a restart makes it go away.

Updated to the latest build 2 days ago and sync looks really good now. HVAC modes look spot on now too!
Only "issue" I've encountered is that the setpoint seems to default to the max_temp whenever the system is shut off. The temp is programmed in my case to 22 degrees but always defaults to 27 when off.  It doesn't automatically update when the system is back on either.
Other observations:
Adjusting the setpoint in HA appears to have no effect if the system is in a pre-programmed schedule. This probably makes sense. If the system is in "override" mode however, then the temp can be adjusted through this integration but as there's currently no distinction b/w these 2 modes of operation in HA, it may cause some confusion to some.
If I encounter anything else over the next few days I'll post back here.
Really appreciate getting this so functional now!

Only "issue" I've encountered is that the setpoint seems to default to the max_temp whenever the system is shut off. The temp is programmed in my case to 22 degrees but always defaults to 27 when off. It doesn't automatically update when the system is back on either.

Interesting one, do you find that when this happens, the temperature on the thermostat is also 27, or is it out of sync entirely?

Adjusting the setpoint in HA appears to have no effect if the system is in a pre-programmed schedule. This probably makes sense. If the system is in "override" mode however, then the temp can be adjusted through this integration but as there's currently no distinction b/w these 2 modes of operation in HA, it may cause confusion for some.

Yet to take a look into program mode - it looks like this should be possible to do from the integration based off of what the API is returning, but haven't written anything in particular to integrate with it.

Yeah, it's entirely out of sync with the thermostat, which shows a setpoint of 22. But again, when in program mode, the setpoint changes in HA appear to have no effect - which I think is correct. Since I'm in this mode 99% of the time, might have something to do with that.
Perhaps if you do get a chance to take a look at this, I would suggest that any setpoint change whilst in a program mode should flick the system into the in-built override mode. This appears to work OK when in override.

For what it's worth, my setpoint syncs perfectly across all three (touch panel, Seeley app, and HA), no matter where I adjust it.

Ref to @epetousis fork
Another error immediately after upgrade similar to the one mentioned earlier in this thread (https://github.com/andrewleech/ha_magiqtouch/issues/1#issuecomment-1227875027)
Admittedly I didn't bother to check the error message and am just assuming that the error was similar since the circumstances are identical - notification that it was with MagiQtouch integration and it hadn't loaded.. But as before, a reboot fixed things..
Not a big deal since it's pretty obvious right after an upgrade and easy to just reboot again..  Just posting here as an FYI since it's happened twice, both during HA core update (on HASSOS)..

Ref to @epetousis fork
Another error immediately after upgrade similar to the one mentioned earlier in this thread (#1 (comment)) Admittedly I didn't bother to check the error message and am just assuming that the error was similar since the circumstances are identical - notification that it was with MagiQtouch integration and it hadn't loaded.. But as before, a reboot fixed things..
Not a big deal since it's pretty obvious right after an upgrade and easy to just reboot again.. Just posting here as an FYI since it's happened twice, both during HA core update (on HASSOS)..

Same here. Reboot fixed it.
Not sure if it's related or not though.
Google home app was reporting the device was offline just prior to doing the upgrade.

I can recall having some info sync issues back when the mobile update earlier this year occured.
I'm pretty sure it was the changes to AWS_CLIENT_ID and AWS_POOL_ID values that got it working for me.
(see here) if you want to try the newer values.
The older app sent an mqtt request at startup to trigger some sort of status update from the unit.
I found leaving the app open for long enough it would also show an out of sync temperature value from the wall panel.

That's interesting. The changes in #5 mean the integration is primarily using the HTTP endpoint to sync data, as I thought the MQTT requests were a legacy way of interacting with the API, but it sounds like it's more complex than that.
Does that MQTT status update push data from the unit or is it some kind of health check? If it's the former, it could be useful for fixing the delay between changing settings and seeing those changes reflected.

For everyone watching this, #5 has been merged now (with a few extra commits on top) so you should be able to install with HACS and try it out! Thanks @epetousis !

If I recall correctly all MQTT functions were removed from the mobile app but the unit still seems to use it.
I believe they replaced the same status update request with this web call but not sure if it improves the delay.
See RefreshData function here:
https://github.com/mrhteriyaki/MagIQTouch-Control/blob/master/SeeleyControl/SCData.cs
I'm also not sure if the AWS IDs were a part of it too, I got the feeling there were 2 backend systems and they were migrating systems, mine stopped working weeks after the app was updated. I'm not familiar with AWS to know the significance of the IDs only that they've been changed in the app.

FYI I got sick of trying to make the mode vs fan controls work well with the standard Thermostat card, so I've made my own custom card!

For details check out https://github.com/andrewleech/lovelace-magiqtouch-thermostat

@andrewleech I'd be really interested in understanding what issues you've been having. I've tried the stock climate card, my (preferred) mini climate card, and now your new one, and I have the same problem with all of them.
My setup is that MagiQtouch controller is plugged into my evap, which is daisy-chained to the heater unit (all brand new in the past few years, this is how Braemar recommended it).
The problems I have are:

if I try to turn on cooling AND cooling was the last mode it was operating in, it starts cooling
if I switch to heating OR heating was the last mode it was operating in, it will stick to heating
I can always switch between heating and fan mode without issues.

I'm just wondering if the JSON your integration sends is documented anywhere, or if it's something you figured out for yourself.
I'm seeing this one warning (see sample below) in the HA logs that seems to indicate that, at least seems to indicate in this instance that it attempted to start both cooling (EvapCRunning: 1) and heating (HRunning: 1) simultneously.
And, all subsequent warning entries in the logs, regardless of which mode I attempted to move, had EvapCRunning: 0 and HRunning: 1 set. Where I attempted to move to fan mode, it had HFanOnly: 1 set, as well as a positive value for HFanSpeed.
Side note: it would be great to figure out how to move to CFanOnly: 1 instead, as it would mean blowing fresh air through the house too. Maybe for a later update...
2022-12-18 10:09:41.633 WARNING (SyncWorker_58) [magiqtouch] Sent: {"SerialNo": "[redacted]]","TimeRequest": "2022-12-18T10:09:41.282731+11:00","StandBy": 0,"EvapCRunning": 1,"CTemp": 22,"CFanSpeed": 0,"CFanOnly": 0,"CThermosOrFan": 1,"HRunning": 1,"HTemp": 22,"HFanSpeed": 0,"HFanOnly": 0,"FAOCRunning": 0,"FAOCTemp": 22,"IAOCRunning": 0,"IAOCTemp": 22,"OnOffZone1": 1,"TempZone1": 22,"Override1": 0,"OnOffZone2": 0,"TempZone2": 0,"Override2": 0,"OnOffZone3": 0,"TempZone3": 0,"Override3": 0,"OnOffZone4": 0,"TempZone4": 0,"Override4": 0,"OnOffZone5": 0,"TempZone5": 0,"Override5": 0,"OnOffZone6": 0,"TempZone6": 0,"Override6": 0,"OnOffZone7": 0,"TempZone7": 0,"Override7": 0,"OnOffZone8": 0,"TempZone8": 0,"Override8": 0,"OnOffZone9": 0,"TempZone9": 0,"Override9": 0,"OnOffZone10": 0,"TempZone10": 0,"Override10": 0,"CC3200FW_Major": 0,"CC3200FW_Minor": 0,"STM32FW_Major": 0,"STM32FW_Minor": 0,"TouchCount": 0,"CCL": null,"STL": null}

Hi @DeltaTangoLima unfortunately the json is not documented anywhere. I figured it out initially by running the phone app via a sniffing proxy to see what it sends for each setting. Since then it's been more inspecting the return json format to infer what might go into the settings json.
I don't have a heater on magiqtouch, only evap, so I'm not surprised at some glitches with heating settings.
I wasn't sure if heating also supported fan speed setting mode as opposed to "heat to temperature" mode.
The ability to clearly show / control the "fan speed" vs "temperature" modes of cooling was the main reason I made my own card, I couldn't come up with an intuitive way to do this with the built in card.
Switching from off or "fan only" to cooling mode such that it uses the same settings cooling used previously was particularly difficult with standard HA climate controls.
I think the controls on my card should work for heating, but the json being sent for switching from temperature to fan possibly need tweaking for heating mode.
Oh, and how you say fan things weren't working for any of the cards, then started working better? Hopefully that was from the magiqtouch integration updating, I did fix a few things here.

Side note: it would be great to figure out how to move to CFanOnly: 1 instead, as it would mean blowing fresh air through the house too.

Isn't this just fan-only mode, no heat or cool?
This is the fan mode button in between off and cool modes - it's my most used mode!
Is there something wrong with that button on your system?

Oh, and how you say fan things weren't working for any of the cards, then started working better? Hopefully that was from the magiqtouch integration updating, I did fix a few things here.

That's probably it - I'd only just migrated back to your repo from a fork I tried out a few months back. Probably didn't come good until a restart of HA.

I think the controls on my card should work for heating, but the json being sent for switching from temperature to fan possibly need tweaking for heating mode.

I'm happy to have play via the CLI, and try a bunch of different things, if you think that'll help at all. I see you recently committed a change to magiqtouch.py to allow for CLI testing - any special tricks I should be aware of?

Isn't this just fan-only mode, no heat or cool?

Kinda, but kinda not. With the dual appliance setup I have, fan-only mode lets me select the fan for the heater unit (so recycled air) or the fan for the evaporative unit (so fresh air).
Switching to fan-only mode seems to select the fan mode based on the last heat/cool mode that was used. I think it's a problem in their Android app too - I can only select which fan on the wall panel, but not in their app.

I'm happy to have play a via the CLI, and try a bunch of different things, if you think that'll help at all. I see you recently committed a change to magiqtouch.py to allow for CLI testing - any special tricks I should be aware of?

The CLI can be used to query the current state json in demand, I use it like poetry run python custom_components/magiqtouch/magiqtouch.py -e <email> -p '<password>'
It doesn't currently have any way to change settings though.

Isn't this just fan-only mode, no heat or cool?

Kinda, but kinda not. With the dual appliance setup I have, fan-only mode lets me select the fan for the heater unit (so recycled air) or the fan for the evaporative unit (so fresh air).
Switching to fan-only mode with your HA integration seems to select the fan mode based on the last heat/cool mode that was used. I think it's a problem in their Android app too - I can only select which fan on the wall panel, but not in their app.

Ah, that's very interesting! I would have never guessed that's an option.
Using the cli above to grab json snapshots for "fresh air fan" and "recirculate fan" would be quite useful, perhaps if you could start a new issue here and post the json there that might be enough info to fix it.
If your unit does allow "heat with set fan speed" (like evap cool at set fan speed) it'd be helpful to know if that works with the current version?

@Rumbaar yes it works with hacs as a custom repository: https://hacs.xyz/docs/faq/custom_repositories/

Hi guys, anyone got issues with Magiqtouch? It doesn't work anymore.
upon checking, I found it saying can't connect to the host!!


Local dask client interferes with pyspark

Somehow just starting a local dask client via
from dask.distributed import Client

client = Client()

interferes with pyspark, seems like just in the USGS and NWM fetching. Probably in the _get_secondary_location_ids() function
        lcw_df = self.ev.location_crosswalks.query(
            filters={
                "column": "secondary_location_id",
                "operator": "like",
                "value": f"{prefix}-%"
            }
        ).to_pandas()

where nothing gets returned by the query and the missing table error is raised.  If we do not initialize the client, it works fine.

However, it seems to work fine on TEEHR-Hub v0.4-beta either way


User is able to create association with an already taken name

Either association's name should be globally unique or unique by university.

Fixed in #43


Added code from last season that we need.

Before issuing a pull request, please see the contributing page.
fixes #3

Looks great!!!!!!!


HTTPs webserver crashing when serving frontend files

Sometimes the HTTPs server crashes when the frontend files are served

During STA mode, the reset appeared with the following backtrace:
Backtrace: 0x401b89c5:0x3ffb1cd0 0x401750a6:0x3ffb1cf0 0x40173337:0x3ffb1d10 0x401b74fa:0x3ffb1d30 0x401744c5:0x3ffb1d50 0x401718d2:0x3ffb1f20 0x4011ebdd:0x3ffb1f50 0x400d2306:0x3ffb1f70 0x400d1cee:0x3ffb1f90 0x400d4fcd:0x3ffb1fb0 0x40089b1a:0x3ffb1fd0
  #0  0x401b89c5:0x3ffb1cd0 in SSL_pending at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/openssl/library/ssl_lib.c:1402
  #1  0x401750a6:0x3ffb1cf0 in httpsserver::HTTPSConnection::pendingByteCount() at .pio\libdeps\DebugMode\esp32_https_server\src/HTTPSConnection.cpp:116
  #2  0x40173337:0x3ffb1d10 in httpsserver::HTTPConnection::pendingBufferSize() at .pio\libdeps\DebugMode\esp32_https_server\src/HTTPConnection.cpp:258
  #3  0x401b74fa:0x3ffb1d30 in httpsserver::HTTPRequest::requestComplete() at .pio\libdeps\DebugMode\esp32_https_server\src/HTTPRequest.cpp:109
  #4  0x401744c5:0x3ffb1d50 in httpsserver::HTTPConnection::loop() at .pio\libdeps\DebugMode\esp32_https_server\src/HTTPConnection.cpp:515
  #5  0x401718d2:0x3ffb1f20 in httpsserver::HTTPServer::loop() at .pio\libdeps\DebugMode\esp32_https_server\src/HTTPServer.cpp:122
  #6  0x4011ebdd:0x3ffb1f50 in HTTPsWebServer::handleServer() at lib/HTTPsWebServer/HTTPsWebServer.cpp:99
  #7  0x400d2306:0x3ffb1f70 in System::handleServices() at lib/System/System.cpp:247
  #8  0x400d1cee:0x3ffb1f90 in loop() at src/main.cpp:59
  #9  0x400d4fcd:0x3ffb1fb0 in loopTask(void*) at C:\users\amerkle\.platformio\packages\framework-arduinoespressif32\cores\esp32/main.cpp:23
  #10 0x40089b1a:0x3ffb1fd0 in vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)

Related to https://github.com/fhessel/esp32_https_server/issues/85

Because of closeConnection() the SSL context is released.
Flow:

httpsserver::HTTPConnection::pendingBufferSize()

updateBuffer()

HTTPSConnection::closeConnection()
SSL_free();
Now the SSL context is released.

pendingByteCount()

SSL_pending() with released context
Reset

The following methods should check for a valid SSL context, before calling a SSL function:

HTTPSConnection::writeBuffer()
HTTPSConnection::readBytesToBuffer()
HTTPSConnection::pendingByteCount()

With the added check, there is no reset anymore.

size_t HTTPSConnection::writeBuffer(byte* buffer, size_t length) {
  size_t written = 0;

  if (_ssl)
  {
    written = SSL_write(_ssl, buffer, length);
  }

  return written;
}

size_t HTTPSConnection::readBytesToBuffer(byte* buffer, size_t length) {
  size_t read = 0;

  if (_ssl)
  {
    read = SSL_read(_ssl, buffer, length);
  }

  return read;
}

size_t HTTPSConnection::pendingByteCount() {
  size_t pendingBytes = 0;

  if (_ssl)
  {
    pendingBytes = SSL_pending(_ssl);
  }

  return pendingBytes;
}

size_t HTTPConnection::writeBuffer(byte* buffer, size_t length) {
  size_t written  = 0;

  if (_socket >= 0)
  {
    int socketSendRet = send(_socket, buffer, length, 0);

    if (0 < socketSendRet)
    {
      written = socketSendRet;
    }
  }

  return written;
}

size_t HTTPConnection::readBytesToBuffer(byte* buffer, size_t length) {
  size_t read = 0;

  if (_socket >= 0)
  {
    int socketRecvRet = recv(_socket, buffer, length, MSG_WAITALL | MSG_DONTWAIT);

    if (0 < socketRecvRet)
    {
      read = socketRecvRet;
    }
  }

  return read;
}

Just one minor finding, In order to  be consistent  sslPending could be also postfixed with Ret.
Apart from that no findings.

Will keep it as is. :-)


freewheelssp: Add adapter

Can be a generic bidder alias

@And1sS can you explain what you mean, please?
do you mean that the FreewheelSSPBidder is not needed and in FreewheelSSPConfiguration, the GenericBidder should be used instead?

Can be a generic bidder alias

@And1sS can you explain what you mean, please?
do you mean that the FreewheelSSPBidder is not needed and in FreewheelSSPConfiguration, the GenericBidder should be used instead?

Please, refer to prebid java docs for more information.

@wesley-freestar here's an example of a similar case: https://github.com/prebid/prebid-server-java/pull/2243
Sorry for the vague guideline. This can be done for cases where there is no need for any custom functionality like validation, enrichment, etc.


[Bug] [TVMScript] Parser cannot parse TVMScript with some vector dtypes

Hi there,
I tried to parse a TVMScript with long vector data type as the following case
@T.prim_func
def func():
    A = T.var("int32x32")
    B = T.reinterpret(A, dtype="int8x128")

f_script = func.script()
f_roundtrip = script.from_source(f_script)

It generates TVMScript as below
@T.prim_func
def main():
    A = T.int32x32()
    B: T.int8x128 = T.reinterpret("int8x128", A)
    T.evaluate(0)

But an error occured during parsing because of definiton of T.int8x128 is missing
 --> <str>:6:8
   |
 6 |      B: T.int8x128 = T.reinterpret("int8x128", A)
   |         ^^^^^^^^^^

The current definition of vector dtype cannot cover all types in actual use，shall we consider changing the printing method of vector dtypes to something like  T.vec_type("int8", 128)?
cc @Hzfengsy @cyx-6 @junrushao @shingjan

Looks good to me. Would also love to see opinions from the community


Need example BED file

I'm having no luck uploading my own genome (*fa, *fai) and BED file to https://igv.org/app/ ("Local file" option). The genome appears, but not the track.
You know what would be useful? An example BED file that works, like "ecoli.bed" to go along with "ecoli.fa" and "ecoli.fa.fai", in the genomes/ dir.

Could you zip and attach an example bed that is not working for you?

Yes Jim.
test.zip
And thank you for the offer.

The sequence names in your bed file do not match the names in your fasta.
In the bed file it is "1".   In the fasta it is NC_004718.3
On Tue, Jun 23, 2020 at 10:10 AM Brian Osborne<EMAIL_ADDRESS>wrote:

Yes Jim.
test.zip https://github.com/igvteam/igv-webapp/files/4820850/test.zip
And thank you for the offer.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/igvteam/igv-webapp/issues/146#issuecomment-648296049,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHD2HE7K64DUJ3OMT4MVR3RYDOYXANCNFSM4OFYDHTQ
.

Got it. No documentation I read mentioned that. UCSC, Sanger.

The first column is the name of the "chromosome or scaffold" (per UCSC).
In practice this means the sequence in your fasta file, which is usually a
chromosome but doesn't have to be.
On Tue, Jun 23, 2020 at 11:17 AM Brian Osborne<EMAIL_ADDRESS>wrote:

Got it. No documentation I read mentioned that. UCSC, Sanger.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/igvteam/igv-webapp/issues/146#issuecomment-648333024,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHD2HF5FWQQMNRHXWWNVV3RYDWTDANCNFSM4OFYDHTQ
.


atsign.ged does not appear to be legal GEDCOM

atsign.ged (both the 5 and 7 versions) have no @xref_id@ between the level and tag for "0 NOTE" / "0 SNOTE".  In the gedcom specs, 0 is stated to mean it must be a record and the NOTE/SNOTE record structures are speced as requiring an xref id.   The point of the test is presumably not to test that part, but rather the payloads, so the files should be updated to add xref ids to all records.

Per the 7.0 spec, section 1.3

Each record to which other structures point must have a cross-reference identifier. A record to which no structures point may have a cross-reference identifier, but does not need to have one

The 5.5.1 spec is ambiguous on whether non-identified records are allowed.
Thus, the 7.0 file was valid without these identifiers, the 5.5.1 file might have been too, but I've still merged these PRs because, as noted in the issue, including identifiers for no-target records is more common and testing their presence wasn't the goal of these files..

Per the 7.0 spec, section 1.3

Each record to which other structures point must have a cross-reference identifier. A record to which no structures point may have a cross-reference identifier, but does not need to have one

The 5.5.1 spec is ambiguous on whether non-identified records are allowed.
Thus, the 7.0 file was valid without these identifiers, the 5.5.1 file might have been too, but I've still merged these PRs because, as noted in the issue, including identifiers for no-target records is more common and testing their presence wasn't the goal of these files..

Hmm, I had missed that quoted text.  But that means the GEDCOM 7 spec has a contradiction.
The spec has lines like this for each record:
n @XREF:INDI@ INDI                         {1:1}  g7:record-INDI

Where the cross-reference identifier is not denoted as optional.  To be consistent with the paragraph quoted, it would need to be
n [@XREF:INDI@|<NULL>] INDI                         {1:1}  g7:record-INDI

Filed https://github.com/FamilySearch/GEDCOM/issues/408


Allow InputSimulationService in standalone builds

Describe the problem
When developing a complex AR project, I would like to use the InputSimulationService for testing the game's logic outside of the Unity editor. For example, running several builds to test networking.
Unfortunately, this is currently impossible since the simulation service is using the MixedRealityToolkitFiles utility to load files from the project folder hierarchy.
A comprehensive explanation of this can be found here:
https://stackoverflow.com/questions/56601801/is-it-possible-to-force-the-use-of-the-mrtks-inputsimulationservice-in-a-build
Describe the solution you'd like
I would like the option to build the unity project with the InputSimulationService enabled.
I believe there's no need to access the project folder structure from this script and instead use Unity's Scriptable Objects to store the pose data the simulation service requires.
Describe alternatives you've considered
Currently, for testing things like multiplayer, I have to run several instances of the unity editor so I can have the simulation service.
I thought about creating an alternative simulation service but since I need the hand gestures simulation it would basically be duplicating all of the service's logic.

Related #3692


Bump Marathon to 1.9.137

High-level description
Marathon bump to 1.9.137
Corresponding DC/OS tickets (required)

MARATHON-8741

Related tickets (optional)
Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): c0e59f4ca..3009052b1

@mesosphere-mergebot label ready for review

@timcharper  - shall we close this PR?


Update Dharma Indian Missions for 1.30

A lot of DH_* missions still use pre-1.30 estate code. These files should be compared to their base game counterpart and fixed accordingly.

GC_* missions also fall under this


Feature/Add imgur gifv support

This was needed since so much content uses imgur. Should add gfycat and other? common providers also.

This addresses #5 partially. Still need to add gallery support.


Add Call Sc with Description

No description

Description closed

Description open

Codecov Report
Patch and project coverage have no change.

Comparison is base (3d16b5e) 42.13% compared to head (ff00a2e) 42.13%.

:exclamation: Current head ff00a2e differs from pull request most recent head cfab29e. Consider uploading reports for the commit cfab29e to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #646   +/-   ##
=======================================
  Coverage   42.13%   42.13%
=======================================
  Files          19       19
  Lines        1329     1329
=======================================
  Hits          560      560
  Misses        709      709
  Partials       60       60

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


any demo script?

Is there any demo script  to inference one single image and visualize?
like https://github.com/open-mmlab/mmdetection/blob/master/demo/image_demo.py

There is a demo folder contributed in https://github.com/amazon-research/bigdetection/tree/main/demo

i followed the install instruction ,which is :
# Install Pytorch
conda install pytorch==1.8.0 torchvision==0.9.0 cudatoolkit=10.2 -c pytorch

# Install mmcv
pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html

# Clone and install
git clone https://github.com/amazon-research/bigdetection.git
cd bigdetection
pip install -r requirements/build.txt
pip install -v -e .

but got the error:
Traceback (most recent call last):
  File "demo/image_demo.py", line 51, in <module>
    main(args)
  File "demo/image_demo.py", line 26, in main
    result = inference_detector(model, args.img)
  File "/home/xt.xie/workspace/project/dog_stroller/bigdetection/bigdetection/mmdet/apis/inference.py", line 121, in inference_detector
    test_pipeline = Compose(cfg.data.test.pipeline)
  File "/home/xt.xie/.conda/envs/mm/lib/python3.8/site-packages/mmcv/utils/config.py", line 47, in __getattr__
    raise ex
AttributeError: 'ConfigDict' object has no attribute 'test'

@cailk @JY-Qiao Given the demo script is contributed by you, can you help? Thank you.

Any updates? I am having the same issue with "configs/BigDetection/cbnetv2/htc_cbv2_swin_base_giou_4conv1f_adamw_bigdet.py"

After adding "test" to the "data" dictionary in the config file (link) seems working.
Replace lines 130-134 with this:
data = dict(     samples_per_gpu=samples_per_gpu,     train=dict(         pipeline=train_pipeline),     test=dict(         pipeline=test_pipeline) )

Adding "test" to the "data" dictionary in the config file (link) seems working.
Replace lines 130-134 with this: data = dict( samples_per_gpu=samples_per_gpu, train=dict( pipeline=train_pipeline), test=dict( pipeline=test_pipeline) )

Hi, sorry for the late reply! We have not met such an error in our local environment. It is great that adding a test configuration in "data" would solve this problem. Thank you for your helpful advice.


some thoughts about the landing page example

The example on the landing page is great. Very clear code and it shows neatly how (1) model specification can be separated from inference; (2) inference can be automated.

At the same time, here are some thoughts for possible improvements in the future:
On randomvar
Do you need to specify x = randomvar(n)? What happens if you omit this specification? Why not just specify that x is a vector of float64s or omit it altogether and the rxinfer/model compiler infers from x[i] ~ MvNormal( \mu = , \Sigma = ) that x is a float64?  If you say x is distributed as a Gaussian, then it must be a float64, unless specified otherwise (like a double float, or whatever you have in Julia). What do you really say by specifying that x is a randomvar? The probability distribution over x is not its type, but rather a statement of beliefs. (It's too big a discussion for this issue but the whole concept of a random variable is very shady (if not plainly wrong) in a Bayesian framework).
On datavar
Withy = datavar, you are really specifying that y is observed, but that should not be part of the knowledge base in the generative model specification. y is just a vector of float64's, which can be inferred from the statement y[i] = MvNormal(\mu= ,\Sigma= ). I am not a fan of double type assignments (first by y = datavar and then by y[i]=MvNormal()), unless the type is not the default type that is associated with MvNormal. Another serious problem is that this model can not be used "as a node" in a bigger graph, since we cannot pass messages towards y, other than delta distributions. The fact that y is observed is not a property of the model, but rather a feature of how we want to use the model. In this case, you happen to use the model for state estimation, given a data set y, ie for $p(x|y)$. If you happen to use this model for prediction of future y (instead of state estimation), ie, for $p(y_{n+1} | y_{1:n})$ then it would be wrong to say that y=datavar, namely  $y_{n+1}$ will be inferred as a Gaussian.
On x_prior
This is really minor but it's a bit odd that you introduce x_prior and then copy it into x_prev, seemingly because you don't like the variable name x_prior in the loop. Better to just not use the variable name x_prior (saves a line). I also don't like the explanation of ~ in the comment. I think ~ simply means: is distributed as.
On for i in 1:n
Technically, I don't even think that the iteration for i in 1:n should be part of the model specification. I think you just want to specify $p(y_i,x_i | x_{i-1})$ with parameters $x0, A, B, P, Q$ inside the @model function. How you use the model (in this case roll out for n samples) is determined by the inference task (in this case: infer p(x|y)). So, I think it should be written as
result = infer(
  model = SSM( x0, A, B, P, Q ),
  data = (y = observations,)
)

ie, without the n in the SSM. Then, when rxinfer executes this inference task, the model gets rolled out over length(y). And I like infer() rather than inference() because I think it should be our convention to express the action of the function by a verb. It reads better.
In short, my main feedback is that I think that we don't want to specify how we use the model in the model specification phase.  This is important, since I think these prescribed roll-outs and data-type assignments limit the usage of the model.

Good points, we should consider them when refactoring GraphPPL and creating an actual graph for a model.


x/crypto/bcrypt: hashes different than in other languages

What version of Go are you using (go version)?
go version go1.10.3 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/aaron/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/aaron/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.10.3/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.10.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3s/c5bbqcxn7dlfcpjys4wytyvc0000gn/T/go-build618429129=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Get a bcrypt hash generated by x/crypto and then try to validate in node.js and python.
I verified node.js and python can validate hashes between each other.  But neither can validate hashes generated by this package.
Code samples: https://gist.github.com/geekgonecrazy/3a61ee15f515022295eef57f0713b52b
I can see the crypto package only has bcrypt 2a but from what I can tell 2a and 2b should be compatible.
To rule this out generated 2a from node.js and python could validate.  But still not the crypto package.
I'm stumped... Its unclear if a bug, or the results for what ever reason are completely incompatible with other bcrypt packages.

CC @FiloSottile

I'm not sure if there is any value to this, but I noticed is that if I make up a sequence of letters/numbers instead of the sha then I do get a match between go and python.

I have met something similar:password gererated by "golang.org/x/crypto/bcrypt" are incompatible with php's "password_hash"

golang.org/x/crypto/bcrypt generates pw-hashes using bcrypt version 2a (see $2a$) while python and node.js seem to create them using bcrypt version 2b (see $2b$).
Refs:

https://en.wikipedia.org/wiki/Bcrypt (see versions)
https://marc.info/?l=openbsd-misc&m=139320023202696

I guess bcrypt should be updated to handle versions 2b, too. (See https://github.com/golang/crypto/blob/master/bcrypt/bcrypt.go#L136)
Further I'd recommend to switch to algorithms providing stronger security properties / guarantees:
Argon2 or scrypt

I guess bcrypt should be updated to handle versions 2b, too. (See https://github.com/golang/crypto/blob/master/bcrypt/bcrypt.go#L136)

From my understanding at the least python and node.js should still be able to compare and match with an older version.
In node.js specifically if you do something like:
var hash = bcrypt.hashSync(sha, bcrypt.genSaltSync(10, 'a'))
console.log('bcrypt:', hash);

This generates $2a$ which python seems to be able to compare, but x/crypto/bcrypt still can't.

Further I'd recommend to switch to algorithms providing stronger security properties / guarantees:
Argon2 or scrypt
@aead
I wish that were an option.  But migrating an existing application with thousands of users to a new password hash would be a last resort.  Specifically using sha256 + bcrypt to integrate with an existing meteor application.  Definitely wouldn't argue on security between the two.  No doubt

I'm not sure if there is any value to this, but I noticed that if I make up a sequence of letters/numbers as the password instead of the sha then I do get a match between go and python.
@meirf now that is kind of interesting.  Sha256 is just letters and numbers as well.

In Go, you're feeding bcrypt with the byte array representation of the hash.
In Python, you're feeding bcrypt with the hex string representation of the hash.
Change hexdigest() in the Python code to digest() and it will work.

For me python is added just to be more thorough and make sure it wasn't just a go->nodejs thing but an issue with the hashes generated by go.
It being a byte array in go causing the problem makes some sense.
But the fact that I can't use a hash generated by go in any other language still remains a problem.  The key problem in my case.

I can't use a hash generated by go in any other language

You're doing it wrong. I've just checked: node.js successfully compares hashes generated by Go, and vice versa. The same with python. The bcrypt modules are perfectly interoperable.

@opennota care to elaborate?  What exactly am I doing incorrectly?  I've tried so many different variations, I totally believe i'm missing something that would be more obvious to someone more experienced.

@geekgonecrazy
Probably what @conradoplg said. Try
bcrypt.GenerateFromPassword([]byte(hex.EncodeToString(sha)), 10)

(See https://golang.org/pkg/encoding/hex/#EncodeToString)

I guess working-as-intenent

Correct, Sum in Go returns the raw hash (and %x converts it to hex when printing it), while hexdigest in Python and sha256 in Javascript return a hex encoding, so you are feeding different inputs to bcrypt.

Makes sense!  @opennota thanks for the code snippet.  I've confirmed it works.  Learn something new every day.
Thanks guys, glad it wasn't actually a bug in the package! :)


Add support for custom Enum values in schema

Hello,
Per the discussion here https://github.com/graphql/graphql-js/issues/525, I was wondering if there were any plans to implement custom Enum values.

From scanning the issues list, it looks like there was already a discussion to add support for custom enum values here https://github.com/apollographql/core-docs/issues/178. That issue has since been closed. @helfer If you could provide some guidance on the implementation, I could take a stab and open a PR.

Any updates?


[Bug] Index settings not being imported to terraform

Describe the bug
Hey guys 👋 We've found a bug in the provider when using resource "elasticstack_elasticsearch_index" where this resource does not import the existing index settings to terraform.
To Reproduce
Steps to reproduce the behavior:

TF configuration used. Create a new index with alias, mappings and settings manually:

{
    "dummy": {
        "aliases": {
            "dummy1": {}
        },
        "mappings": {
            "properties": {
                "field1": {
                    "type": "text"
                }
            }
        },
        "settings": {
            "index": {
                "creation_date": "1643651976221",
                "number_of_shards": "3",
                "number_of_replicas": "2",
                "uuid": "cluster-uuid",
                "version": {
                    "created": "7090199"
                },
                "provided_name": "dummy"
            }
        }
    }
}

Add the configuration of this index to terraform.

  # module.elasticsearch_indices.elasticstack_elasticsearch_index.this["dummy"] will be created
  + resource "elasticstack_elasticsearch_index" "this" {
      + id           = (known after apply)
      + mappings     = jsonencode(
            {
              + properties = {
                  + field1 = {
                      + type = "text"
                    }
                }
            }
        )
      + name         = "dummy"
      + settings_raw = (known after apply)

      + alias {
          + is_hidden      = false
          + is_write_index = false
          + name           = "dummy1"
        }

      + settings {
          + setting {
              + name  = "index.number_of_replicas"
              + value = "2"
            }
          + setting {
              + name  = "index.number_of_shards"
              + value = "3"
            }
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Import the index to terraform by running

 terraform import 'module.elasticsearch_indices.elasticstack_elasticsearch_index.this["dummy"]' 'cluster-uuid/dummy'

The output of the command is as follows:

module.elasticsearch_indices.elasticstack_elasticsearch_index.this["dummy"]: Importing from ID "cluster-uuid/dummy"...
module.elasticsearch_indices.elasticstack_elasticsearch_index.this["dummy"]: Import prepared!
  Prepared elasticstack_elasticsearch_index for import
module.elasticsearch_indices.elasticstack_elasticsearch_index.this["dummy"]: Refreshing state... [id=cluster-uuid/dummy]

Import successful!

The resources that were imported are shown above. These resources are now in
your Terraform state and will henceforth be managed by Terraform.

Run terraform plan and the output says that the settings will be created:

  # module.elasticsearch_indices.elasticstack_elasticsearch_index.this["dummy"] will be updated in-place
  ~ resource "elasticstack_elasticsearch_index" "this" {
        id           = "cluster-uuid/dummy"
        name         = "dummy"
        # (2 unchanged attributes hidden)

      + settings {
          + setting {
              + name  = "index.number_of_replicas"
              + value = "2"
            }
          + setting {
              + name  = "index.number_of_shards"
              + value = "3"
            }
          + setting {
              + name  = "index.refresh_interval"
              + value = "30s"
            }
        }
        # (1 unchanged block hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Expected behavior
I would expect that the index settings were imported into the terraform state.
Debug output
Run terraform command with TF_LOG=trace and provide extended information on TF operations. ->  No different output with the TRACE operation.
Screenshots
Not applicable.
Desktop (please complete the following information):

OS: macOS Big Sur
Terraform Version v1.0.11
Provider version 0.2.0.

Additional context
Add any other context about the problem here.
If you need any clarification or more details please let me know.
By the way, awesome work with this provider 💪
Francisco

New version of the provider released: v0.3.0


Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory.

Hi,
I'm getting error /dev/kvm: no such file or directory during installation.
Is there anything else I need to provide to install this?

Unraid 6.12.6.
I've seen various clips where users had "KVM" in the menu. I don't have it and I can't find any information about how to install KVM. It looks like everyone has it by default. Well, I don't.


don't use mmap for compression except for huge chunks in V4 raw index

Following on from #7930, it's possible to speed up building of V4 raw indexes slightly (~10%) by using a compression buffer and only using memory mapping for huge chunks. The size of the compression is fixed because the size of the chunk buffer itself is fixed, so the potential for very large compression buffers which exists with V2 and V3 does not apply here.
master
Benchmark                                  (_chunkCompressionType)      (_distribution)  (_maxChunkSize)  (_records)  Mode  Cnt           Score     Error  Units
BenchmarkRawForwardIndexWriter.writeV4                         LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5        9857.203 ± 167.084  ms/op
BenchmarkRawForwardIndexWriter.writeV4:b                       LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5<PHONE_NUMBER>.000                #
BenchmarkRawForwardIndexWriter.writeV4:kb                      LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5     7598680.000                #
BenchmarkRawForwardIndexWriter.writeV4:mb                      LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5        7420.000                #
BenchmarkRawForwardIndexWriter.writeV4                         LZ4           EXP(0.001)          1048576      100000    ss    5        1802.487 ± 112.871  ms/op
BenchmarkRawForwardIndexWriter.writeV4:b                       LZ4           EXP(0.001)          1048576      100000    ss    5<PHONE_NUMBER>.000                #
BenchmarkRawForwardIndexWriter.writeV4:kb                      LZ4           EXP(0.001)          1048576      100000    ss    5     1383340.000                #
BenchmarkRawForwardIndexWriter.writeV4:mb                      LZ4           EXP(0.001)          1048576      100000    ss    5        1350.000                #

branch
Benchmark                                  (_chunkCompressionType)      (_distribution)  (_maxChunkSize)  (_records)  Mode  Cnt           Score     Error  Units
BenchmarkRawForwardIndexWriter.writeV4                         LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5        8788.638 ± 256.238  ms/op
BenchmarkRawForwardIndexWriter.writeV4:b                       LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5<PHONE_NUMBER>.000                #
BenchmarkRawForwardIndexWriter.writeV4:kb                      LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5     7598680.000                #
BenchmarkRawForwardIndexWriter.writeV4:mb                      LZ4  UNIFORM(1000,10000)          1048576      100000    ss    5        7420.000                #
BenchmarkRawForwardIndexWriter.writeV4                         LZ4           EXP(0.001)          1048576      100000    ss    5        1625.317 ±  48.117  ms/op
BenchmarkRawForwardIndexWriter.writeV4:b                       LZ4           EXP(0.001)          1048576      100000    ss    5<PHONE_NUMBER>.000                #
BenchmarkRawForwardIndexWriter.writeV4:kb                      LZ4           EXP(0.001)          1048576      100000    ss    5     1383340.000                #
BenchmarkRawForwardIndexWriter.writeV4:mb                      LZ4           EXP(0.001)          1048576      100000    ss    5        1350.000                #

Codecov Report

Merging #7931 (319bd58) into master (6037cac) will decrease coverage by 56.82%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #7931       +/-   ##
=============================================
- Coverage     71.15%   14.32%   -56.83%
+ Complexity     4111       80     -4031
=============================================
  Files          1593     1548       -45
  Lines         82365    80506     -1859
  Branches      12270    12070      -200
=============================================
- Hits          58609    11535    -47074
- Misses        19806    68116    +48310
+ Partials       3950      855     -3095

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.32% <0.00%> (-0.01%)
:arrow_down:

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

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

@richardstartin , can we have a short discussion around raw index. I didn't get a chance to review v4 format and want to be on the same page here w.r.t changes / improvements being made.
Want to also make sure that V4 subsumes the V3 format changes I had introduced since V3 supports a critical production use case of ours. It is configurable through FieldConfig. I wanted to make V3 default going forward but looks like you want to make V4 default.
So, let's please have a short discussion to get clarity on the path forward. I can then help review this and PR https://github.com/apache/pinot/pull/7934
Will follow-up offline on the discussion.

Thanks, @siddharthteotia

Discussed offline with @richardstartin

The change here is limited to v4 format and I am ok with the reason behind the change

Regarding V3 v/s V4: they have similarities but the main difference is 4GB limitation imposed in V4. V3 has no such limitation as the chunk offset in the file header is tracked using long. V3 also derives the numDocsPerChunk (as opposed to using fixed 1000 rows per chunk) or packs a single row in the chunk if the row > 1MB. In V3 we never thought of using memory mapping for compressed buffer even though our chunks are potentially huge in size (from the production use case where V3 is being used).

Regarding changing the default from V2: I didn't make V3 default initially since wanted to test it out in production. It's been used for over an year now and hasn't had any issues. We discussed that we can bridge the functionality gap between V3 and V4 as a new change and then hopefully remove V3 code (ensuring the v4+ reader continues to read it) if possible since V3 and V4 had common goals

Thanks for reaching consensus, we should do more of these interactions. Way faster than comments in PRs.

For posterity, feedback was solicited on the design proposal for the V4 index in #7616.


MSID: 98652 Version: 1 DOI: 10.1101/2<IP_ADDRESS>9786

MSID: 98652
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>9786
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=98652
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>9786

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/98652v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>9786
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/98652/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!


Servantf/libraw flip option

Add an option "raw:user_flip" to force LibRaw to use a specific flip value.

LibRaw already have this input field available in imgdata.params.user_flip
It overrides the "flip" field found in some raw images such as .CR2 files

Why ?
Libraw will read the "flip" field and rotate the image buffer. As opposite to the orientation EXIF tag, this will change the result buffer.
Other (all except libraw ?) raw reader such as Adobe DNG converter, will ignore this field and will not propagate this information in the result buffer.
This means that if you take a CR2 and read it with libraw, or converting it to DNG then read it with libraw will not give you the same image. Being able to disable the flip value is a way to make sure the behavior is the same.

I think it's done

Works!
The failure on the "bleeding edge" case is unrelated to your change. I'm looking at that separately.


How to manage deployment stages with env vars

Deploy pipelines (test, prod) based on environment vars are important for some apps.
As most static deploy options may not handle the npm run build by themselves (allowing to register stage specific env vars at design time), I think some README advice on how to manage stage specific env vars would be helpful to many.
Or perhaps an enhancement like
STAGE=MYSTAGE npm run build which selects the REACT_APP_MYSTAGE_SOMEVAR env var?

I think you can already use the NODE_ENV argument.

Faced the same issue, it seems it has been hardcoded here. Meanwhile I have just used another variable BUILD_ENV to work with my deployment dependent stuff. https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/scripts/build.js#L13

@vernondegoede The NODE_ENV actually decides on the type of build (optimized or not, etc.). This doesn't relate to multi-stage deployment so much, as I need different stages, but each with NODE_ENV === 'production'.
One could probably add everything into the environment and do something like
const publicKey = process.env[`REACT_APP_${process.env.REACT_APP_STAGE}_PUBLIC_KEY`]

for every env variable, but maybe there are more elegant solutions than this?

@bebbi Ideally you should keep environment variables in code generic, like REACT_APP_PUBLIC_KEY and before running your deployment script you can do export REACT_APP_PUBLIC_KEY=REACT_APP_STAGE_PUBLIC_KEY
This helps the rest of the code/deployment script remain common for different build environments. I use this practice personally to control circleci deployments

@islahul would you mind elaborating on what your deployments look like?
Or even your local dev, in the context of CRA? e.g. do you run shell scripts as a part of the process to set env values?
Thanks!

@timworx We use Circleci as a CI for testing, deployment on feature, staging and production servers. A common use-case for stage based variables is API endpoint (staging.xyz.com for staging deployment, feature.xyz, and so on), another use-case is managing AWS tokens between different deployment targets.
Now lets say you have a script that sends your build files to an S3 bucket, your generic deployment script(deploy.sh) would have something like
npm run build
aws s3 sync ./build/ $TARGET_BUCKET --delete

and in js code something like this
const apiBaseURL = process.env.REACT_APP_API_ENDPOINT;

In our ci setup it is convenient to set environment variables in a configuration file or in web interface or in a post request as parameterized build. But if I were to run a setup script based on different stages before running deploy.sh I would do
export AWS_ACCESS_KEY_ID="XXXXXX"
export AWS_ACCESS_SECRET_KEY="XXXXXX"
export REACT_APP_API_ENDPOINT="staging.xyz.com"
export REACT_APP_BUILD_ENV="staging"
export TARGET_BUCKET="s3://mywebsite-build/staging/"

This script can be safely kept outside of your code/git history. Also your code does not need stage specific variables as mentioned by bebbi in his last example. This setup also allows deployment anywhere from local machine if you have the right credentials.
I still disagree with hardcoding environment variables like it is done in the line I linked, but to be fair it must have been done to ensure underlying build plugins work well.

OK so this is always handled in CI and out of react app scope.
Thanks for the details @islahul

@islahul
Hi @islahul I need your help to understand the deployment flow you wrote.
I also use scripts to deploy react application to aws S3 so I need to set my env variables before execute the scripts.
Below code block is your setup scripts which you said you would use this scirpts to set up env variables. However I just don't understand how to run this scripts.
export AWS_ACCESS_KEY_ID="XXXXXX"
export AWS_ACCESS_SECRET_KEY="XXXXXX"
export REACT_APP_API_ENDPOINT="staging.xyz.com"
export REACT_APP_BUILD_ENV="staging"
export TARGET_BUCKET="s3://mywebsite-build/staging/"

Is this code block is just a JS file?
How can I run this scripts and wire them with React env variables?

Forgive me if it's too easy question. I'm on entry level.

Hi @kimcrab, this code block is a set of shell commands and need to be run in the shell/terminal.  So above scripts will enable you to access variables using process.env.REACT_APP_BUILD_ENV Does this help? Happy to connect outside this issue thread in case you need anything else.

Thanks @islahul, now I totally understand the point.
When I type export AWS_ACCESS_KEY_ID="XXXXXX" in terminal, It is just a variable saved inside my terminal and when I type npm run build, webpack access to this variable!
Very simple but didn't understand before.
I just finished test case and now I know what to do!
Thanks again! You saved my day!


Replace specs_website with just the book

Fixes #318

This change is

r? @icefoxen

Not sure why I'm ping'ed on this, but it seems like a reasonable solution to me.

Thanks, I pinged you because you created the issue and I wanted to know if you're content with this before I close the issue.
bors r+


Remove some sample emails

Remove files which are not owned by us

Coverage decreased (-0.3%) to 95.034% when pulling 81183157bfdc396a8457707af5c8736266d8c84d on remove-some-sample-emails into c9ea755ec623016ec4363afd67dfe73bbf578457 on master.


Installation of Homematic IP Cloud Integration does not work - "unknown error occurred"

Home Assistant release with the issue:
0.100.2
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io on RPi 3
Integration:
https://www.home-assistant.io/integrations/homematicip_cloud/
Description of problem:
Its not possible for me to add the Homematic ip cloud integration.
When I clicked on "submit" i got a notification "unknown error occurred".
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
I have no configuration entry related to Homematic ip cloud.
Traceback (if applicable):
The problem appears since day one. My Installation of the hole system is just a few days old.
Additional information:

I guess it is something with your SGTIN:

should be 24 alphanumeric characters.
no special characters
check for correct 0 (Zero) and O (Letter)
add your PIN, if you already defined it in the HomematicIP-APP

I tried it on my test Hass.io on RPi 3 without a problem, so basically it should work.

should be 24 alphanumeric characters

and

add your PIN, if you already defined it in the HomematicIP-APP

works for me. Thank you!


🌱 Don't write hardware details into statusAnnotation

What this PR does / why we need it:
Don't write hardware details into statusAnnotation, because we don't need to move
inspection data to the target cluster via annotation anymore but do it instead via
hardwareData CRD, which is implemented in https://github.com/metal3-io/baremetal-operator/pull/1099.
Partially fixes https://github.com/metal3-io/cluster-api-provider-metal3/issues/266

/test-v1b1-ubuntu-integration

/test unit

This PR is ready, adding hold just to not merge it before getting green light on https://github.com/metal3-io/baremetal-operator/pull/1099
/hold

/hold cancel
@kashifest this should be good to go know as BMO PR got merged.

/test-v1b1-ubuntu-integration
/test-v1b1-centos-integration
/test-v1b1-e2e-ubuntu

/test-v1b1-ubuntu-e2e

/test-v1b1-centos-integration

/test-v1b1-centos-integration

/test-v1b1-ubuntu-e2e

/test-v1b1-ubuntu-e2e

/test-v1b1-ubuntu-e2e

/test-v1b1-ubuntu-integration
/test-v1b1-ubuntu-e2e

/test-v1b1-ubuntu-e2e

/test-v1b1-ubuntu-integration

Just leaving a note here @kashifest. Feature wise we have tested it with corresponding BMO, dev-env patches. E2E ubuntu test is failing here due to a common issue, not related to this patch. However, we should run E2E at least once. Not to block the feature landing and to avoid introducing a potential bug related to this feature, let's merge it and once E2E main is fixed we can verify the test with these additions.
Just a heads up, integration test is already checking the functionality of HardwareData. The only difference between E2E and integration tests is that we run some extra tests like node reuse etc during E2E. But since the feature is mainly concerned about pivoting, which is tested during integration, we should be safe to assume that patch is okay to land.


Instructions out of date in building template

For: https://github.com/alexa/skill-sample-nodejs-adventure-game/blob/master/instructions/1-voice-user-interface.md
Some of the instructions such as the step to follow after sign in is outdated as there seems to be a change in the UI and this may be confusing for some.

Yes, the instructions are out of date. I was in Stage 2: Lambda Function and after adding the trigger and saving, I went to the next step, i.e. Upload the zip file lambda/custom/gamebook.zip
I tried: https://github.com/alexa/skill-sample-nodejs-adventure-game/tree/master/lambda/custom
but it does not have the file mentioned in the instructions.
Could you please let us know if this will be resolved?
Thanks.


Add a Typing Game 'Typer'

Description
I have created a Typing Game which is very interesting. I want to add that. Can I ?
Tech Stacks :-- HTML, CSS, JavaScript
Working as a GSSOC,22 Contributor !!
Screenshots

Additional information
No response

@Rakesh9100 Try to improve the UI and the color scheme

Please check out now !!


Pm 2 basic readme 01

This is for issue #2 but it is not complete.

Lot more meat to this than the one I had, I like it. I think merging the two formats in some way might be our final goal. I like the overall form of this and simply think adding in the info from mine into an appropriate place would fit.

Thanks, Nick! That sounds like a good idea to keep our repos nice and uniform!

This was also to test my GPG key, looks like I hadn't configured it completely.


Glitchy rendering when removing elements with visible Tooltip

A single frame 'flicker' or 'glitchy' render occurs in some cases when modifying a control when there is a ToolTip showing. I can't nail down the specific behaviour, but my use-case is a user-control with clickable elements that - when clicked - causes the user-control to be rebuilt. If a clickable element's ToolTip is visible then the control either disappears momentary, or otherwise renders incorrectly.
Glitchy render seems to be across the whole application, not specific to the part of the UI with the control with the ToolTip (e.g. removing a control with a ToolTip somewhere and also rebuilding parts of the UI elsewhere causes the rebuilt UI to flicker).
To Reproduce
A minimal example can be found in https://gist.github.com/VisualMelon/faa66d64a8b2bf65ba8a350bbf479a35#file-mainwindow2-axaml-cs involving a TextBlock that replaces itself when clicked. Clicking the textbox before the tooltip appears replaces it clearly without any visual errors; allowing the tooltip to open before clicking causes it to 'flicker' between removing the old TextBlock and presenting the new TextBlock.
Expected behavior
ToolTip being open on a removed control should not affect render of other UI elements: there should be no 'flicker' or glitchy rendering.
Workaround
In simple cases, can work around by manually closing the ToolTips with ToolTip.SetIsOpen(c, false) before performing other UI changes.
Environment
Observed on Windows 10 in non-trivial application with Avalonia11-Preview5 and recent nightly.
Observed on Windows 10 in minimal examples with local build from ~2023-02-23, and local build as of commit c298a7ffbfed12d7974040704652f80b4502a31b
Not observed in the same application in 0.10; minimal examples not tested in 0.10. Not tested on other operating systems.

Just confirming that this still seems to be present in Preview7

In simple cases, can work around by manually closing the ToolTips with ToolTip.SetIsOpen(c, false) before performing other UI changes.

Probably an easier workaround would be to not change the tooltip.tip property, but reuse the same textblock.
And instead rebuild text block properties.

I think I've seen the same when a combo-box (the drop-down hides when selection is changed) causing a data-grid whose content is changed to flicker (looks blank for a 'frame'). Same behaviour is not observed, for example, when a checkbox that also causes the data-grid content to change is toggled.

Having seen that weird behaviour from the above commit, I've found you can reproduce the same effect by performing UI changes (e.g. change the ItemsSource of an ItemsControl) and then immediately closing the tooltip without having to do anything remotely weird (like removing the element that is showing the tooltip): I assume this is performing the implicit close that occurs when you remove and item with an active tooltip. Again, moving the ToolTip.SetIsOpen(btn, false); before the other UI changes makes the problem go away.

Indeed, if you go crazy and repeatedly show/hide the tooltip, then the UI stays in the broken state of a while.
for (int t = 0; t < 10; t++)
{
    ToolTip.SetIsOpen(btn, true);
    ToolTip.SetIsOpen(btn, false);
}

It's as though the UI changes put the UI into a not-complete state, and then showing hiding the tool-tip forces a re-render. Setting the FPS counter overlay, the frame number goes up by 2 instead of 1 (it doesn't go up by the number of times you hide/show the tooltip, always only one extra fram).
I've tried digging through the code a bit, but somehow I think I'm not going to be able to surmise where the problem is without a much better idea as to how the layout engine works.

I can't repro this with 11.1.0, so going to close.


data(any-code-works) - add more repos to the automated testing script

This adds a number of repositories for automated testing, to catch more cases, complete with additional hashes. Libraries were selected from a list of the most popular React-related repos, with a focus on components / component libraries (rather than, e.g., frameworks):

react-select (jed w)
react-dates (airbnb)
react-big-calendar (jquense)
antd (ant)
react-responsive (contra)
react-resizable (resizable)
react-data-grid (adazzle)

Commit in each case was "latest merged to master". I'm not sure what the rules are for adding things to the pathsToIgnore property. Please advise.

I'm not sure what the rules are for adding things to the pathsToIgnore property. Please advise.

In some cases repos will include entire forks / copies of other projects, which might have undergone minification etc. This is typically because the repo has a dependency on that code which isn't resolvable via normal means (maybe the version or even library isn't available on a public npm registry or maybe it includes some patching or has some non-compatible code removed for specific reasons). For those repos we want to exclude those folders since we're only interested in testing the project itself and not its dependencies.

I'm not sure what the rules are for adding things to the pathsToIgnore property. Please advise.

In some cases repos will include entire forks / copies of other projects, which might have undergone minification etc. This is typically because the repo has a dependency on that code which isn't resolvable via normal means (maybe the version or even library isn't available on a public npm registry or maybe it includes some patching or has some non-compatible code removed for specific reasons). For those repos we want to exclude those folders since we're only interested in testing the project itself and not its dependencies.

I'm not sure what the rules are for adding things to the pathsToIgnore property. Please advise.

In some cases repos will include entire forks / copies of other projects, which might have undergone minification etc. This is typically because the repo has a dependency on that code which isn't resolvable via normal means (maybe the version or even library isn't available on a public npm registry or maybe it includes some patching or has some non-compatible code removed for specific reasons). For those repos we want to exclude those folders since we're only interested in testing the project itself and not its dependencies.

react-three-flex-examples ignores a bundled three.js file which is half a megabyte IIRC. That alone makes the output really unwieldy on top of the above. I could also see it being used to exclude files which are similarly massive and not necessarily React related for example as well.

I'm not sure what the rules are for adding things to the pathsToIgnore property. Please advise.

In some cases repos will include entire forks / copies of other projects, which might have undergone minification etc. This is typically because the repo has a dependency on that code which isn't resolvable via normal means (maybe the version or even library isn't available on a public npm registry or maybe it includes some patching or has some non-compatible code removed for specific reasons). For those repos we want to exclude those folders since we're only interested in testing the project itself and not its dependencies.

react-three-flex-examples ignores a bundled three.js file which is half a megabyte IIRC. That alone makes the output really unwieldy on top of the above. I could also see it being used to exclude files which are similarly massive and not necessarily React related for example as well.


Fixes

Fixing regressions to get a green test-suite.

Codecov Report

:exclamation: No coverage uploaded for pull request base (metadata-editor@c78034c). Click here to learn what that means.
The diff coverage is 100%.

@@                Coverage Diff                 @@
##             metadata-editor     #606   +/-   ##
==================================================
  Coverage                   ?   50.15%
==================================================
  Files                      ?      257
  Lines                      ?     6863
  Branches                   ?        0
==================================================
  Hits                       ?     3442
  Misses                     ?     3421
  Partials                   ?        0

Impacted Files
Coverage Δ

src/article/editor/EditorPackage.js
100% <ø> (ø)

src/article/ArticleModelPackage.js
100% <100%> (ø)

Continue to review full report at Codecov.

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


Bump api to v2

Use endpoint https://api.tori.fi/api/v2/listings/search
instead of https://api.tori.fi/api/v1.2/public/ads

The APIv2 does not include the UNIX timestamp. This would require some refactoring.


Please add following icons

Please add Privacy.com, Anonaddy, Surfshark and  Intuit (TurboTax), and Tresorit.

Hi Widkidone, sorry for the delayed response and thank you for your request!
Life is a bit hectic at the moment, but I will try to make some icons soon.
I'll let you know when they are ready.

The Privacy.com and Tresorit icons where already added as can be seen here:
https://github.com/calleerlandsson/Tofu/blob/6622de6e5f81f33c370104606a5fd25ffb0aea15/Tofu/AccountCell.swift#L88
https://github.com/calleerlandsson/Tofu/blob/6622de6e5f81f33c370104606a5fd25ffb0aea15/Tofu/AccountCell.swift#L98
So I've only made icons for AnonAddy, Surfshark and TurboTax.
Please, let me know what you think of them!

Added in #56