2015 02 03 → YYYY DD D

moment.parseFormat('2015 02 03') parsed to YYYY DD D, I expected: YYYY MM DD

I am also seeing this issue with date strings of form '09-15' -> DD-D; expected MM-DD (moment treats as MM-DD).
Similarly, inputs for '09' -> DD (moment treats as MM) and '12' -> D (moment treats as MM).
And 'March 28, 2001' -> MMMM D, YYYY (this may be technically ok but I would think a better result would be MMMM DD, YYYY).

I don’t think that 09-15 or 09 would be useful input to be parsed with this library. I’d be okay to add proper parsing for YYYY M D / YYYY MM DD, although I have never seen this date format myself and given the issue is open for so long and nobody adding their +1s, it’s maybe too much of an edge case to be considered.

I am looking for a library that exposes the internal momentjs format string used to interpret the input if it (momentjs) determines that input to be a valid date string

I think momentjs is just passing the string to the native Date object that might or might not be able to parse the string correctly, it’s different based on the JavaScript runtime environment. I don’t think you can get access to the input format used to parse the string. This library is doing all the parsing by hand with lots and lots of regex :)
I use parseFormat to parse dates entered by humans. The idea is that someone can enter a date in a free text form and the app can understand both the entered date/time as well as the preferred date format of the user.

I think momentjs is just passing the string to the native Date object that might or might not be able to parse the string correctly

@gr2m Thanks. Yes, this makes sense and likely explains why momentjs does not seem to expose parsed date fields - even though they appear to have some notion of this in their parse flags object (_pf.parsedDateParts). It seems to be an empty array every time I check it.
I will spend more time with momentjs to try too understand it a bit better. There do appear to be cases where momentjs is making some attempt to interpret date strings before calling Date on the string (e.g. a string of "2001" is interpreted as the year 2001 by momentjs but native Date will interpret this as 2001 milliseconds). Perhaps this is a feature request better placed with momentjs - although the opaqueness of the native Date object may impose significant challenges for fulfilling this request.
Thanks again!

Keep me posted :) I’ll close this issue for the time being, maybe open a new issue if you have a plan™


[NEW BONUS GUIDE] Store data in a secondary disk

What
In some situations, we might have two different drives and would like to store system and data spread across different drives, this additional guide indicates the instructions needed to get this.
Why
This would cover more use cases
How
This complete guide indicates the necessary instructions to achieve this
Scope

[ ] significant change to core configuration
[X] independent bonus guide
[ ] simple bug fix

Test & maintenance
I will test by myself in different cases of use before posting this guide.
Animated GIF

Work done! 👷🏗 Let's go to the main! 🚀


Unwrapping Denormalizer

Ref https://symfony.com/blog/new-in-symfony-5-1-serializer-improvements#unwrapping-denormalizer

It seems like something similar could be done with custom types.
$result = $mapper->denormalize($value, 'unwrap{path: "[baz][inner]", ...<ValueType>}');

On the other hand, this is not very correct from a semantic point of view...
I'm not sure that this is a critically needed functionality. Often, such things are solved manually.
The only downside is that the mapper does not yet support array shapes, otherwise we could do:
$json = '{"baz": {"foo": "bar", "inner": {"title": "value", "numbers": [5,3]}}}';

$result = $mapper->denormalize(json_decode($json), <<<'TYPE'
    array{
        baz: array{
            inner: ExpectedType,
            ...
        }
    }
    TYPE);

/** @var ExpectedType $value */
$value = $result['baz']['inner'];

For some reason it just seems to me that this is some kind of separate, full-fledged functionality that should be introduced along with embeddable (Doctrine-like) types. The only difference is in the unpacking: One (embeddables) puts data it inside other type, and the other (unwraps) outside.


Ensure last event within debounceDelay window is emitted

I came up against the issue in #142 where the last change event is discarded. This ensures that the last event will fire after some are debounced.
I used the test that @motemen created in #142 but I found a simpler way to implement the logic.
In the grand schema of things I think debouncing/throttling should be left up to the user (re: your comments @shama https://github.com/shama/gaze/pull/142#issuecomment-94080660) but since this is already inside the module I thought I'd fix the bug. Feel free to remove everything later :)

I added another commit to implement the debounceImmediate: true|false option that decides whether an event should be emitted on the leading edge of the window (terminology borrowed from https://npm.im/debounce). This means that the internal debounce function is feature complete and usable. I set the default to true which means the existing behaviour is maintained.

Closing because of failing test on various platforms and lack of activity.


[flash_ctrl] Various documentation update

fixes #9205

Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

@a-will
@nikola-miladinovic


Allow to set token/contract metadata to null

Case: when Tezos domain is expired one need to invalidate contract metadata for each record associated with that domain.
We cannot delete the metadata item because it won't be indexed by third-party consumers in that case, just need to set it to NULL.
It can be done either by allowing metadata=None or by introducing reset_contract_metadata(...) helper.
Also metadata field should become nullable.

If only we could proceed without database migrations...

Closed by #644


[FEATURE] setting the schedule for heat & water

Is your feature request related to a problem? Please describe.
We change the 7 day schedule depending on a few criteria. Season/weather and sometimes the thermostat being tampered with too. We want to programme the schedule via the API
Describe the solution you'd like
get and set methods for the schedule
Additional context
Is there any documentation ONLINE for the HIVE REST API ?

Unfortunately no there is no documentation online for hives api. We identify calls by running tracing in the browser.

from what I can trace (I am new to this-sorry) the payload when editing the schedule is sending the complete schedule back with some additional json added to the updated slots. in the below case I updated the monday 1170 event index 3
  {
    "value": {
      "target": 17
    },
    "start": 1170,
    "type": "HEATING",
    "dayIndex": 0,
    "eventIndex": 3
  }

complete payload
{"schedule":{"monday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170,"type":"HEATING","dayIndex":0,"eventIndex":3},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}],"tuesday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}],"wednesday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}],"thursday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}],"friday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}],"saturday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}],"sunday":[{"value":{"target":21},"start":300},{"value":{"target":17},"start":540},{"value":{"target":21},"start":1050},{"value":{"target":17},"start":1170},{"value":{"target":21},"start":1245},{"value":{"target":17},"start":1425}]}}

@aashram Do you use home assistant or are looking at using this library on it own? Did it send the whole data back in the post API call when it was updating the schedule?

I have a python application that uses the library directly. I have not tried anything with schedule as yet. I just did a trace on google chrome of what happens when doing schedule edits on the hive website

How would you see this working you pass a day and time update the schedule dictionary and pass it all back to hive?

Maybe the most straightforward is iterate though dictionary (each event index and day index) and compare it to a pre-defined template. Anything thats different send a update for that dayIndex and eventindex position

@KJonline is there anyway to send out this json using the present API version to test that it updates the schedule ? Would I need to do the Request or setState method call ? I have a python app working which sets mode to schedule and monitors the boost settings. I wanted to add an additional feature to re-set the schedule if it was changed.
"{"schedule":{"monday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320,"type":"HEATING","dayIndex":0,"eventIndex":4},{"value":{"target":17},"start":1425}],"tuesday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"wednesday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"thursday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"friday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"saturday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"sunday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}]}}"

@aashram I can confirm that posting a JSON payload with that structure to https://beekeeper-uk.hivehome.com/1.0/nodes/heating/<heating-id> results in my schedule updating. I think the update model is to pass the full schedule structure for the week each time a change is made. This is what I see in the request to the beekeeper API made by the Hive website when I update the schedule. I also see the full week's schedule sent over my home zigbee network when I update a single element via the Hive android app (one message per day, but always 7 messages for the full week).

@KJonline I'm happy to add make a PR to add a heating.setSchedule() function, wrapping a call to api.setState() following the model of heating.setTargetTemperature().

That would be excellent thank you @martintoreilly

Note to self: If the payload isn't well-formed JSON, the beekeeper endpoint returns a "400 - Bad request" status and a JSON { "Could not process payload" } message. If the payload is well-formed JSON but not a valid property for the heating product then the beekeeper endpoint returns a "200 - OK" status and the body contains the same JSON as the request. Therefore, it would probably be a good idea to verify that the update has taken place by retrieving the schedule after the update and checking that it matches the schedule we just attempted to set, throwing an error if not.

@martintoreilly This is the error I was getting, glad you found out why that was happening. Could you please post an example message which gives a successful update ?

@aashram The following works for me.
{"schedule":{"monday":[{"value":{"target":21},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"tuesday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"wednesday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"thursday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"friday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"saturday":[{"value":{"target":20},"start":540},{"value":{"target":7},"start":660},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"sunday":[{"value":{"target":20},"start":540},{"value":{"target":7},"start":660},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}]}}

@aashram Actually, I've just tested with the JSON you posted and it works for me (after removing the outer double quotes).

@martintoreilly I have been trying to use session.api.setState to send the JSON to test if it works but not had much success.
schedule_payload_json = r'{"monday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320,"type":"HEATING","dayIndex":0,"eventIndex":4},{"value":{"target":17},"start":1425}],"tuesday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"wednesday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"thursday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"friday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"saturday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"sunday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}]}'
data = session.data.products[HeatingZone_1["hiveID"]]
resp = session.api.setState(
data["type"], HeatingZone_1["hiveID"], schedule=schedule_payload_json
)

@aashram I'm having a bit of trouble figuring out the best way to select a product/device from the fields of the session object. How did you access / generate the HeatingZone_1 object?

@aashram Playing round with the code that constructs the JSON in api.setState(), your schedule_payload_json string is wrapped in double quotes within the JSON payload string constructed in api.setState().
I've tried passing the schedule in as a python dictionary and it escapes all the single quotes in the schedule dictionary keys when it constructs the full payload string.
@KJonline Do you have a trick to pass properties that are dictionaries into api.setState() and get valid JSON the beekeeper API will accept with the current jsc construction code? If not, I've played around a bit and I think that importing the json library and calling json.dumps(kwargs) should construct valid/acceptable JSON with both single valued and dictionary property values.

@aashram I have schedule setting working using json.dumps(). I've started a work-in-progress branch for adding support for getting and setting schedules, with just this change in it so far. I've tested it with the following code (insert your own credentials). Your schedule is schedule_1 and mine is schedule_2.
from pyhiveapi import Hive, SMS_REQUIRED

session = Hive(username="<username>", password="<password>")
login = session.login()

if login.get("ChallengeName") == SMS_REQUIRED:
    code = input("Enter 2FA code: ")
    session.sms2FA(code, login)

session.startSession()
thermostat = session.deviceList["climate"][0]
schedule_1 = {"monday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320,"type":"HEATING","dayIndex":0,"eventIndex":4},{"value":{"target":17},"start":1425}],"tuesday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"wednesday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"thursday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"friday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"saturday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}],"sunday":[{"value":{"target":19},"start":450},{"value":{"target":17},"start":555},{"value":{"target":17},"start":810},{"value":{"target":19},"start":1080},{"value":{"target":18.5},"start":1320},{"value":{"target":17},"start":1425}]}
schedule_2 = {"monday":[{"value":{"target":21},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"tuesday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"wednesday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"thursday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"friday":[{"value":{"target":20},"start":420},{"value":{"target":7},"start":540},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"saturday":[{"value":{"target":20},"start":540},{"value":{"target":7},"start":660},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}],"sunday":[{"value":{"target":20},"start":540},{"value":{"target":7},"start":660},{"value":{"target":7},"start":720},{"value":{"target":7},"start":840},{"value":{"target":20},"start":1200},{"value":{"target":7},"start":1320}]}

schedule_new = schedule_2
session.api.setState(thermostat["hiveType"],thermostat["hiveID"], schedule = schedule_new)

@KJonline There are a few other places where you are constructing JSON strings by hand (see below). Are you ok with me converting them all to use json.dumps()? We might want to even consider replacing the data parameter in the calls to the underlying requests.request() with json and passing the dictionaries in directly without converting them to strings (supported since v2.4.2 of requests).

refreshTokens(): async_hive_api.py |  hive_api.py
setAlarm(): async_hive_api.py (not present in hive_api.py)

@KJonline So far I've only made this change to the synchronous setState() function in hive_api.py. However, in setup.py it looks like you are using the unasync library to automatically generate the synchronous version of the pyhiveapi code from the asynchronous version of the code, so I'm a little confused why my changes to the synchronous hive_api.py setState() function didn't just get overwritten by the code autogenerated from the asynchronous version of setState() in hive_async_api.py.
Also, I've not quite got my head round the test suite yet. I can only see a list of test IDs in bandit.yaml looking at the bandit docs am I right in my understanding that none of these tests are specific to the pyhiveapi code? Am I missing some library-specific tests somewhere I should be running to check I've not broken anything and adding to when I add the getSchedule() and setSchedule() functions?

Notes to self:

When I accidentally nested the schedule dictionary as an element in a second parent schedule dictionary item (i.e. schedule = { "schedule": {"monday":...) and passed the json.dumps(schedule_dictionary) as the request data, I got a 500 - Internal server error with a response payload of { "error": "UNEXPECTED_ERROR"  }
If I pass the schedule to setState() as a dictionary when using the hand rolled JSON string construction code (i.e. schedule = {"monday:...), I get a 500 - Internal server errorwith a response payload of{ "error": "UNEXPECTED_ERROR"  }. The JSON string has double quotes around the schedule value and escapes the single quotes round the keys (i.e. {"schedule": "{'monday': [{'value': ...`).
If I pass the schedule to setState() as a string (i.e. schedule = '{"monday":...), I get a 400 - Bad request with a response payload of { "message": "Could not process payload" }. The JSON string has double quotes around the schedule value (i.e. {"schedule": "{"monday":[{"value":...).
If I pass the schedule JSON as a string to setState() with json.dumps(schedule_json_string) as the request data, I get a 400 - Bad request with a response payload of { "message": "Could not process payload" }. The JSON produced by json.dumps() escapes all the quotes in the schedule_json_string by prefixing them with \\.

i'm also happy to extend the Hive Home Assistant Integration to expose this new functionality, though I'll need some time to get my head into the codebase.

@aashram Do you have multiple heating zones and/or radiator TRVs? I only have one heating zone with a single central boiler module so can't query the beekeeper API for these.

@martintoreilly we only one heating zone and no TRV. We also have Hot Water too on schedule.

@aashram I have hot water support on the central boiler module too, so will add hot water schedule support too. I may do this in PR #36 or may do it as a separate PR depending on the complexity. Not all installations have hot water support and I want to make sure this functionality behaves correctly in this case too.
@KJonline @Rendili Do either of you have any of the following in your Hive setups?

Multiple heating zones?
Individual radiator TRVs?
Heating-only central boiler unit (i.e. no hot water control)?

@martintoreilly happy to help with any testing if required 👍

@KJonline I'm going to add tests for this change. I plan to use pytest  and mock-requests. Let me know if you'd prefer we use different modules.

@KJonline I've tried running the current tests using pytest . from the root folder of the repo, but get the following error.
(.venv) hermes:Pyhiveapi martin$ pytest .
====================================== test session starts ======================================
platform darwin -- Python 3.9.9, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /Users/martin/Source/Personal/Pyhiveapi
plugins: requests-mock-1.9.3
collected 1 item

tests/test_hub.py F                                                                       [100%]

=========================================== FAILURES ============================================
________________________________________ test_hub_smoke _________________________________________

    def test_hub_smoke():
        """Test for hub smoke."""
        result = None

>       assert result
E       assert None

tests/test_hub.py:8: AssertionError
==================================== short test summary info ====================================
FAILED tests/test_hub.py::test_hub_smoke - assert None
======================================= 1 failed in 0.24s =======================================
(.venv) hermes:Pyhiveapi martin$

Am I missing something here? Should I be running the tests in a different way or are the current non-bandit tests just stubs that need filled out?

I re-wrote the library but never really got around to making the test work, so currently we have no tests what is committed is just playing around to see what we could get working. I have trv’s not multi zone and @Rendili  has hot water

Happy for you to add tests in we do need to start building the test framework again

@martintoreilly which version did you changes go in ?

@amarnagi They haven't been incorporated yet. I got distracted partway through adding this in PR #36 with trying to add a test framework (issue #37). I'm planning to try and pick this up again this weekend and might just try to get it done with manual tests.


pandas parquet (need to expose all params)

Adjust the existing parquet implementation to match https://pandas.pydata.org/docs/reference/io.html#parquet as a data loader & saver.

Modify the implementation in pandas_extensions.py, one class for the writer, on class for the reader, e.g. much like how the pandas pickle reader and writer are structured. We need to determine if this is a backwards compatible or incompatible change, i.e. can we replace the current implementation with this new one? Feel free to reach out to double check this.
There should be requisite tests to exercise the functionality. We should move to using a single test if possible -- one that writes and then reads.
Add to the pandas materializer example showing writing of a pandas dataframe.
If there's an issue with type hints, let me know and we can chat through it.

Ready to start!

Closing this since this has been done!


[BUG] Unknown setting for plugins security audit

Describe the bug
I'm using docker image opensearchproject/opensearch:1.0.0. The audit settings in opensearch.yml  seem to be unknown. I am using the settings from the docs:
https://opensearch.org/docs/security-plugin/audit-logs/index/#exclude-categories
To Reproduce
Create a new cluster and try a bunch of settings using plugins.security.audit.type: internal_opensearch
Expected behavior
Settings mentioned in the docs should be known.
Plugins
Default plugins that come with opensearch:1.0.0
My tests
plugins.security.audit.enable_rest: false
java.lang.IllegalArgumentException: unknown setting [plugins.security.audit.enable_rest] did you mean any of [opendistro_security.audit.enable_rest, plugins.security.audit.config.enable_ssl, plugins.security.audit.type]?
plugins.security.audit.enable_transport: false
java.lang.IllegalArgumentException: unknown setting [plugins.security.audit.enable_transport] did you mean [opendistro_security.audit.enable_transport]?
plugins.security.audit.config.disabled_rest_categories: AUTHENTICATED, opensearch_SECURITY_INDEX_ATTEMPT
java.lang.IllegalArgumentException: unknown setting [plugins.security.audit.config.disabled_rest_categories] did you mean [plugins.security.audit.config.enable_ssl_client_auth]?
plugins.security.audit.config.disabled_transport_categories: GRANTED_PRIVILEGES
java.lang.IllegalArgumentException: unknown setting [plugins.security.audit.config.disabled_transport_categories] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
plugins.security.audit.log_request_body: false
java.lang.IllegalArgumentException: unknown setting [plugins.security.audit.log_request_body] did you mean [opendistro_security.audit.log_request_body]?
plugins.security.audit.config.disabled_categories: ["AUTHENTICATED","GRANTED_PRIVILEGES"]
I found this setting in the example config
https://github.com/opensearch-project/security/blob/main/securityconfig/opensearch.yml.example
java.lang.IllegalArgumentException: unknown setting [plugins.security.audit.config.disabled_categories] did you mean any of [plugins.security.audit.config.enable_ssl, plugins.security.audit.config.pemkey_password]?
Interestingly, the setting plugins.security.audit.config.index: "'auditlog-'YYYY.MM" is recognized and does actually work as expected.
Omitting all settings in the config opensearch.yml the defaults seem to be applied without issues:
[INFO ][o.o.s.a.i.AuditLogImpl   ] [node1] Auditing on REST API is enabled.
[INFO ][o.o.s.a.i.AuditLogImpl   ] [node1] [AUTHENTICATED, GRANTED_PRIVILEGES] are excluded from REST API auditing.
[INFO ][o.o.s.a.i.AuditLogImpl   ] [node1] Auditing on Transport API is enabled.
[INFO ][o.o.s.a.i.AuditLogImpl   ] [node1] [AUTHENTICATED, GRANTED_PRIVILEGES] are excluded from Transport API auditing.
[INFO ][o.o.s.a.i.AuditLogImpl   ] [node1] Auditing of request body is enabled.

Once opensearch is up I can use opensearch-dashboards to configure those settings under "Security/Audit logs/General settings" without issues as it is writing to the .opendistro_security index.
This is my solution which is totally fine by me.

Seems the configuration properties are not consistent in their naming convention. This looks like a renaming issue when the security stuff was moved from opendistro to opensearch.
Some properties starts with plugins.security. (which is IMHO the correct prefix for opensearch) and some start with opendistro_security. (which is IMHO the old opendistro style naming).
So instead of plugins.security.audit.enable_rest use opendistro_security.audit.enable_rest for now.
Proposed fix is to support both to maintain backward compatibility but issue a deprecation warning when a opendistro style property is used.
Happy to prepare a PR.


⚠ Bofrost.be has degraded performance

In 9ae83be, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1259 ms

Resolved: Bofrost.be performance has improved in f8a1026.


SpellBad undercurl not working in all terminals

First thanks for making these awesome color schemes. I run into some trivial problems when running Vim in xterm.
The SpellBad highlighting to:
hi SpellBad guifg=NONE guibg=NONE gui=undercurl ctermfg=NONE ctermbg=NONE cterm=undercurl

However, not all terminals support undercurl, in xterm the badly spelled words are not styled distinctly. it would be better to set a ctermbg or ctermfg for it.

Would it be better to make them red, too?

I personally prefer to set spellCap, spellBad, spellLocal and spellRare to different colors, just like what's done in Gui.

I haven’t used Vim since June of last year, so I don’t really have the motivation to choose some good colour combinations for these. If you have the time would you mind creating a PR? If you do, don’t forget to edit the templates and not the generated colour scheme files themselves.


Use the dictionary for letter frequency analysis

Currently we're using a static letter frequency analysis done over all words in the English language.
However, we could use the dictionary(ies) being searched to limit the corpus to words of the target length and generate a letter frequency ranking for that subset on the fly to improve the filter.

Did this in 52327eb57337aafdf12ba23e6a6271fc2229812f


Payout error on v1.3.4

Getting the following on Kusama and Polkadot.
2021-09-30 07:10:14 [payouts] info: Total of 4 unclaimed payouts.
2021-09-30 07:10:14 [payouts] info: Transactions are being created. This may take some time if there are many unclaimed eras.
index.js collect

TypeError: api.consts.system.blockWeights.perClass.normal.maxExtrinsic.unwrap is not a function
    at signAndSendTxs (/home/ubuntu/git/staking-payouts/build/services.js:130:86)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Object.collectPayouts (/home/ubuntu/git/staking-payouts/build/services.js:37:5)
    at async Object.collect [as handler] (/home/ubuntu/git/staking-payouts/build/handlers.js:38:5)

Reverted back to v1.3.3 and the payouts work as intended. But then when the new runtime for Kusama enacts in and v1.3.4 works on the kusama runtime it would not be compatible with Polkadot.

Thank you for reporting the issue. Release v1.3.6 should fix this.


Hovering of links not consistent

Have a look at section 10.2:

The default behavior for links in text is to show a dashed underline, which vanished when the mouse hovers offer it.
For the hello_world() link the behavior is opposite. If you hover with the mouse a non-dashed underline will appear.
I would vote for only showing a (dashed) line for links only when hovering with the mouse, this avoids also that pages look to cluttered.
Compare

with

I think I got now the idea for the dashed underline:

So, they should distinguish external from internal links.
I would still argue that it looks better without the underlines, but when staying with them there ist still a small inconsitency when hovering with the mouse. In that case I would propose that the dashed underlines should change to an actual line as this happens for the internal links as well.

Another disadvantage of the dashed underlines for external links is that they don't work well together with badges:

Yes exactly, this is intentional, I would like to be able to differentiate internal and external links.
Some themes use a special symbol at the end of links, but I would like to have something less disruptive.
It doesn't have to be an underline, we can maybe also use different colors?
Or do you have other ideas how to make them different?
The hover behavior is not that important to me, but they should look different when not hovering over them.

I've just merged #63.
Does that resolve this issue, or are there other things we should change?

I'm trying to test it, but after installing it with pip install -e ., and setting the theme in my project building it with
$ python -m sphinx docs/ build/html -b html

fails with
...
writing output... [ 14%] api
Theme error:
An error happened in rendering the page api.
Reason: TemplateNotFound('icons/menu.svg',)

Sorry, forgot:
$ git submodule update --init

as I'm on a new machine ;)

Buttons are indeed fixed now:

Hovering works now as expected. You could still call it inconsistent as it is different for internal and external links, but as they are also marked differently it behaves as a user would expect.
I will close the issue, thanks.


[ICE: 18] Swap on Linea has a UI bug

Describe the bug
It is imposibble to swap on Linea for some users.
Can't repro it.
"not able to swap, nextweth->weth"
"no token to select"
Why it is important?
This is a period of Linea LXP-L points
Link to ticket in Intercom
https://app.intercom.com/a/inbox/qge2vd8z/inbox/shared/all/conversation/1073?view=List
https://app.intercom.com/a/inbox/qge2vd8z/inbox/shared/all/conversation/1067?view=List
Screenshots

This doesn't happen only for Linea. Check #6627

@just-a-node @regexpressyourself the high priority now.

@ekbainova I'm not seeing this live right now. I also see it working for the support person in the linked conversation:
At this time I'm not sure how to reproduce this issue.

https://app.intercom.com/a/inbox/qge2vd8z/inbox/tickets/1076/linked-conversations?show_bulk_edit_modal=false&view=List

It is happening still, we have a ticket 30 min ago - https://app.intercom.com/a/inbox/qge2vd8z/inbox/shared/all/conversation/1099?view=List

Okay, I am trying to collect all tickets on different problems in the #Reliability channel.

I am able to see the issue here:
https://www.loom.com/share/79d4577ed53449f685850960ab52d89d?sid=e9831952-abf6-4937-aa3d-d7fe2f0120bb

Any progress? @just-a-node

Please let me know if this still needs a fix, possible other things could have fixed this


CLI status messages appear to be off by one month

Describe the bug
When executing Miyagi commands via cli, the dates that accompany status messages appear to be off by one month
To Reproduce

run yarn start:cl
each status message displays the date, but it is off by one month

Expected behavior
The status message displays the correct date
Screenshots

Thank you! Fixed in https://github.com/miyagi-dev/miyagi/releases/tag/core%2Fv3.4.8.


Clean, Simple, Fast!

No issues here, just wanted to drop you a line and say thanks for the great little library. Nice work!

Thanks @ckhicks! Spread the word!


Stop comparing repr()'s in TestEntryPoint

In Python 3, the default order of iterables can not determined,
so comparing the repr of objects that include tuples is not static
like it is under Python 2. Compare the attributes of EntryPoint
instead, making sure to sort .attrs and .extras.
Closes: #526

Fantastic. Thanks!
One clarification - tuples and lists are ordered and will always have consistent order, but on late versions of Python, it's possible that ordering of items in identical sets is not stable, depending on the PYTHONHASHSEED:
$ PYTHONHASHSEED=3 python3.5 -c "print(list({'extra1', 'extra2'}) == list({'extra2', 'extra1'}))"
False
$ PYTHONHASHSEED=0 python3.5 -c "print(list({'extra1', 'extra2'}) == list({'extra2', 'extra1'}))"
True


Move to new test scheduler for pub tests

It's nigh impossible to write complex deterministic tests on top of async Dart code, but we need to for pub. It looks like our current test scheduling system may have some issues that are causing some tests to be flaky.
Hopefully a new scheduler will help.
When this bug is closed, make sure to unflake the appropriate pub tests.

This issue has been moved to dart-lang/pub#439.


Consider improving the performance of Microsoft.AspNetCore.Mvc.Versioning.QueryStringApiVersionReader

The Read method of Microsoft.AspNetCore.Mvc.Versioning.QueryStringApiVersionReader unconditionally instantiates an HashSet<string> regardless of having a version specified or not with the only purpose of invoking CollectionExtensions.EnsureZeroOrOneApiVersions.
CollectionExtensions.EnsureZeroOrOneApiVersions uses Enumerable.SingleOrDefault to return null, if the hash set is empty; and its single item if it isn't.
Enumerable.SingleOrDefault has optimizations for IList<T>, but not for ICollection<T>, which requires the instantiation and boxing of HashSet<T>.Enumerator.
All this could be optimized by only instantiating the HashSet<string> if 2 or more different versions are found and having an extension method to report the error that takes an HashSet<string> for the optimized construction of the list of versions.

This is not an unreasonable enhancement. I've converted many iterator loops to indexing loops, but there's still a few left. This is was one of the earlier bits of code. I'll review all of the readers for potential optimization.

This was a great observation and has been broadly integrated into all IApiVersionReader implementations, across all platforms. I've been continuing to look for unnecessary allocations and uses of foreach. If you find more, keep them coming. You were credited for this improvement in the latest release notes. Thanks again!


Moving code from gax-grpc to gax

This is just a work-in-progress PR, so I am just looking for feedback on overall design. I'd like validation on the following changes:

Overall, I tried to move logic up from grpc/httpjson to gax.rpc
Moved most of the implementation of GrpcCallableFactory to CallableFactory in gax.rpc
Created an OperationApi abstraction in gax.rpc, along with an OperationSnapshot abstraction
3.1. Now that OperationSnapshot is used throughout gax.rpc, OperationT is removed as a type parameterization
3.2. Most of the operation implementation is moved up to gax.rpc
Renamed Transport to TransportChannel and ChannelProvider to TransportChannelProvider; removed TransportProvider, and instead repurposed Instantiating(*)ChannelProvider to directly create TransportChannel objects (either GrpcTransportChannel or HttpJsonTransportChannel), cutting out a layer of abstraction
Created new TransportDescriptor concept, to allow for transport-specific logic to be supplied in various places
Moved header logic out of Instantiating(*)ChannelProvider into a new HeaderProvider, which lives at the gax.rpc level and can be shared by grpc & http/json
In the new TransportChannelProvider, changed the model of providing other providers, such that you can do provider.withX(X x), so now there is only a single getTransportChannel() method

Codecov Report

Merging #359 into gax-httpjson will decrease coverage by 3.04%.
The diff coverage is 48.01%.

@@                Coverage Diff                 @@
##             gax-httpjson     #359      +/-   ##
==================================================
- Coverage           64.81%   61.77%   -3.05%
- Complexity            541      574      +33
==================================================
  Files                 151      167      +16
  Lines                3203     3330     +127
  Branches              237      259      +22
==================================================
- Hits                 2076     2057      -19
- Misses               1026     1170     +144
- Partials              101      103       +2

Impacted Files
Coverage Δ
Complexity Δ

...oogle/api/gax/rpc/OperationTimedPollAlgorithm.java
83.33% <ø> (ø)
3 <0> (?)

...ogle/api/gax/httpjson/HttpJsonCallableFactory.java
0% <ø> (-38.6%)
0 <0> (-6)

...ogle/api/gax/httpjson/HttpApiExceptionFactory.java
23.88% <ø> (ø)
7 <0> (ø)
:arrow_down:

...om/google/api/gax/rpc/ApiResultRetryAlgorithm.java
90.9% <ø> (ø)
7 <0> (?)

...m/google/api/gax/httpjson/ApiMethodDescriptor.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...a/com/google/api/gax/grpc/GrpcCallableFactory.java
20% <ø> (-65.9%)
1 <0> (-14)

...oogle/api/gax/rpc/EntryPointOperationCallable.java
100% <ø> (ø)
5 <0> (ø)
:arrow_down:

...java/com/google/api/gax/rpc/OperationCallable.java
100% <ø> (ø)
6 <0> (ø)
:arrow_down:

...oogle/api/gax/rpc/GoogleServiceHeaderProvider.java
0% <0%> (ø)
0 <0> (?)

...i/gax/httpjson/ApiMessageHttpRequestFormatter.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

... and 93 more

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 7d720bb...ba3f3ad. Read the comment docs.

Can this be split at all? The individual bullets in the description sound reasonable, but I'm having great difficulty groking the 7000 line diff

Header routing problem: my implementation is for static headers. I think we can make an additive change later for dynamic headers (which you would need).
Look at the withExecutor() and withHeaders() methods on TransportChannelProvider, and see if it makes sense to you.

I have addressed feedback from @vam-google . PTAL if you want, or wait for a following update where I update docs & add tests.

@vam-google I have updated docs & tests, PTAL

I have created a diff PR for certain files as promised: https://github.com/googleapis/gax-java/pull/374
Note, it only include files that git didn't match up correctly; it doesn't include all files that were touched in the present PR.

@pongad I would recommend doing multiple passes on this PR and focus on different things in those passes; it would be hard to split this PR apart because it involves code moves & renames, so any splits would result in code that wouldn't compile.
One way to cut down on the lines to review is that you could completely skip gax-httpjson changes; they will mirror gax-grpc directly. Secondly, the most important thing to focus on is the surface under gax/ (transport-agnostic surfaces); prioritize reviewing that code.
Lastly, the diff PR should help reviewing some files that git didn't match up for diffs.

@pongad I believe the callable stack was the right design. We can't really revisit the design if we want a third transport because we're going GA before such a thing will even be considered. Register your concerns now w.r.t. supporting a third transport!

@garrettjonesgoogle I don't have specific concerns about adding new transports. Not having worked on gax-java for a while, I find it difficult to think of specific action items. I'm sorry I'm not being helpful, but here's my "nebulous" concern.
At the time of writing, gax-java master has 212 files and ~13,000 lines of code. At the same time, gax-go has 250 statements. I understand LOC isn't a good measure for quality or productivity, and to be fair, Java's job is harder (eg, Go can efficiently block; Java has to do things with executors). I don't think this should block GA, but there's something unsettling about the 52x size difference.

@vam-google , I have done the following:

Added initialFuture back to OperationFuture
Moved the Fake* classes to src/test

As I mentioned in the diff PR, there is a test for the transformers at GrpcOperationTransformersTest .
Is there anything else I'm missing?
I'd like to merge this to the gax-httpjson branch and then do another PR with additional changes before I merge to master.


Enable Parcel multiple entry points

Right now, the entry point of the app is the src/index.njk file. That means that only files referenced in the src/index.njk. For example, the src/about.njk is not being processed because is not referenced inside the src/index.njk.
Solution
Change the dev script in the package.json to use every .njk file directly under the src/ folder as an entry point.
-"dev": "NODE_ENV=development parcel src/index.njk --open",
+"dev": "NODE_ENV=development parcel src/*.njk --open",

Problems
Using a multiple entry point, when running the npm run dev script Parcel opens url http://localhost:1234/ but a 404 error is shown, which is very confusing and can lead people to think that the development server is not working properly. Parcel has an opened issue regarding this https://github.com/parcel-bundler/parcel/issues/1315.
The expected behaviour is that http://localhost:1234/ shows the generated index.html, just like when we're using a single entry point for Parcel.
A workaround could be to remove the --open param to avoid Parcel opening automatically http://localhost:1234/ and open manually http://localhost:1234/index.html to avoid the confusion for developers.

A workaround for this https://github.com/parcel-bundler/parcel/issues/1315#issuecomment-523524186 until this is fixed by Parcel.


Expose RR and RR Header Len

Related to issue #316

I think it makes most sense to do this in the same way as we did Copy, https://github.com/miekg/dns/blob/85b661b2a6fc95a5a83e66d7730c4bc0b6e9c99e/msg.go#L1893
This would be a minimal I think Len() would then automatically work for RR_Header as that is an RR as well.
Also: currently the tests don't compile

Although not relevant to implementing this as func Len(RR) int, for future reference types_generate.go builds ztypes.go via go generate.

@miekg It's still on my todo list

Easier to close this PR and create a new one with the easier fix, see #333


Fix NVHPC + OpenMP ~ OpenACC compilation

#pragma acc routine seq seems to play better with templates than #pragma omp declare target does. Here is a hideous workaround...

This is being tested with https://github.com/BlueBrain/CoreNeuron/pull/717.


[Search] Run CMK tests weekly

Customer-managed keys (CMKs) which require provisioning a Key Vault with the "basic" pricing tier, which adds cost over the free tier and because CMK support doesn't change much, we only want to do that weekly.
Fixes: https://github.com/Azure/azure-sdk-for-net/issues/16576

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

/azp run net - search - tests-weekly

Seems like we need to use the "basic" tier for Nightly runs as well where we don't run Key Vault + CMK tests. If we need to use "basic" tier anyway, then I think there is no need to introduce all these complexity.


Add Get Started button back in

we need to make this dynamic, so maybe a gettingStarted prop in the _config.yaml can let you override to do a different action, like maybe Use This Template https://github.com/drivly/worker.templates.do/generate ... but for the vast majority of these, we want to redirect the user to oauth.do/login and then have them redirect back to the original domain /api to see the API endpoint
@sam-lippert has #14 to figure out the redirects, but we need to put back the Get Started button in the meantime

added the Button back and created gettingStarted variable in the yaml for the href... and for the docs set it to the Template https://github.com/drivly/worker.templates.do/generate

this link is in the config.yaml gettingStarted: /login?redirect_uri=https://github.com/drivly/worker.templates.do/generate
going to a 404 page not found => https://github.com/login/callback?state=89479662-60d6-45cb-a7ca-43354aefbfbc


Submodules for user directory types

This PR changes the architecture of the library.
The core sub-domain is based on events and Projection state types like User, UserAccount, and Group. It's what the users-client artefact provides. Correspondingly, the users-server artefact provides the server-side implementation for Projection types that build User, Group, etc.
User-management implementations, like users-db, are responsible for producing the events that users-server consumes for building the projections.
The users-db module added in this PR serves as an example for now it can work. This PR does not provide full implementation of the user management based on locally-managed database with users, group, and all.
The code related to authentication, organization, org. units, and roles is extracted into separate repositories. It is expected that it would be developed separately. It may turn that, authentication (at least partially) would be a part of Users library. But for now it was extracted for the sake of simplicity.
Other changes:

Gradle files were ported to Kotlin Script.
Some commands, events, and entity states were renamed to improve the language.

@armiol, this is the PR with the draft for new Client and Session API.

@armiol, @dmdashenkov PTAL. Significant part of this PR is deleted or moved into other repositories. So it's not real 208 files.


License updates for support-pip-license-files

This PR was auto generated by the licensed-ci GitHub Action.
It contains updates to cached github/licensed dependency metadata to be merged into support-pip-license-files: (branch, PR).
The licensed-ci action will add comments to this PR with the status of license checks.  Please make any changes needed to fix any status failures on this branch, then merge license updates into your branch.
If updates are unexpected, please check the github/licensed changelog for recent updates.

The licensed-ci GitHub Action updated cached license metadata based on changes to support-pip-license-files: (branch, PR).
licensed status result: SUCCEEDED
All status checks succeeded, please merge when ready.
Checking cached dependency records for licensed
.............................
29 dependencies checked, 0 errors found.

/cc @jonabc


fbreader: 0.99.4 -> 0.99.6, switch to fetchFromGitHub, add more build options

This, apparently, is not an official release (it's tagged, but the tarball is not available on the official site), but this repo is the official repo mentioned on the official site.
 Yay!
Motivation for this change
I hate that crash.
Things done

[X] Build and works for me on Linux.
[ ] I added the plumbing for Darwin emulating other similar packages, but have not tested it.

Success on x86_64-linux (full log)
Attempted: fbreader
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6
shrinking /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6/bin/FBReader
shrinking /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6/lib/libzltext.so.0.14.0
shrinking /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6/lib/libzlcore.so.0.14.0
shrinking /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6/lib/zlibrary/ui/zlui-qt4.so
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6/lib  /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6/bin
patching script interpreter paths in /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6
checking for references to /build in /nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6...
/nix/store/69jyqgan9rvsv28mpqfxlv4p38fhh6gg-fbreader-qt4-0.99.6

Success on aarch64-linux (full log)
Attempted: fbreader
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6
shrinking /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6/bin/FBReader
shrinking /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6/lib/zlibrary/ui/zlui-qt4.so
shrinking /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6/lib/libzltext.so.0.14.0
shrinking /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6/lib/libzlcore.so.0.14.0
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6/lib  /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6/bin
patching script interpreter paths in /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6
checking for references to /build in /nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6...
/nix/store/9kwp5q2kmzn1y0kbs551pf7xsldwnmyb-fbreader-qt4-0.99.6

a big leap from 2011 -> 2016 :smile:

@xeji, fbreader won't build on more recent curl :(
https://github.com/geometer/FBReader/issues/310
https://hydra.nixos.org/jobset/nixos/trunk-combined#tabs-jobs

It does now; see 1970a4cd.

Thanks a lot @vcunat.


Remove unused field

It looks like the tests are broken. Could you take a look at Travis?

Ok, I'll take a look at it.

@cberner fixed.

Looks good. I'll merge it in.

Merged. Thanks!


Just a simple "Thank you"

I just want to leave a big Thank You to all contributors.
This library is so useful to automate a lot of tasks around Github. And I am sure that the work of more than 180 contributors has saved tens of hours from engineers who can just focus on getting their stuff done. Thank you 👍
But even more important (for me): I learned so much by reading the code of this library.

Service Structure: The way how the single services are split is just great, easy to understand and to extend.
HTTP Unit Testing: Before this library, i was not aware how to test external HTTP interfaces. This library showed me how to do it (with bootstrapping an own HTTP server and mocking the response properly)
Proper Auth: The way how this lib integrates the way to auth against the external service (via RoundTripper) is so elegant in my opinion. With this, it is not 100% build into the lib, but more into the HTTP client. Smart way!

For me personally I design all my client libs according to the design of this library. It has everything in there and is well written.
So once I meet one of the authors and contributors, remind me that you participated in this project and will say Thank You in person.
Keep up the good work and don't let open source work switch to stress. You are doing amazing work. Don't forget this.

As one of the (many) contributors, thank you for the thank you. :)
I agree with the 3 points you've raised. It's nice to see them written up and appreciated. I also am a big fan of those properties of the design of this library. I'll add one of my favorites to it:

Conditional Requests via HTTP caching http.Transport: As https://github.com/google/go-github#conditional-requests says:

go-github does not handle conditional requests directly, but is instead designed to work with a caching http.Transport. We recommend using https://github.com/gregjones/httpcache for that.

Instead of trying to implement HTTP caching directly, a general purpose http.Transport can be used. That means it can be developed independently, and reused in other places that need it, rather than being tightly coupled with go-github itself.

I will close this now because here is no action needed instead of drinking a ☕ or a 🍺 and celebrate.


fix: handle non-length 42 addresses in to_address utility method

What I did

fixes: #579
How I did it

Copy code from eth_utils.to_checksum_address() method
Replace part that assumes the length is 42 with the length of hex_address that gets created.

How to verify it

See tests!
Or, install an ecosystem plugin that does not have addresses with this length and make sure you can do stuff like ape accounts list --all and they show up.
Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

So, it would be helpful to understand the address encoding format for an EcosystemAPI plugin. Ethereum defines one, the checksum hex format, but many non-EVM chains do not use the same format. Even the Ethereum 2.0 Beacon chain uses a different format.
We probably have to be a bit more abstract about converting "raw addresses" to/from their string representations, perhaps through an abstractmethod on EcosystemAPI

So, it would be helpful to understand the address encoding format for an EcosystemAPI plugin. Ethereum defines one, the checksum hex format, but many non-EVM chains do not use the same format. Even the Ethereum 2.0 Beacon chain uses a different format.
We probably have to be a bit more abstract about converting "raw addresses" to/from their string representations, perhaps through an abstractmethod on EcosystemAPI

I will create a new branch for this and close this one for now


Fix Release CD

Release CD successfully publishes the artifact, but setting the next version to SNAPSHOT and pushing it fails with:
remote: Permission to infinyon/fluvio-client-java.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/infinyon/fluvio-client-java/': The requested URL returned error: 403

Fixed with https://github.com/infinyon/fluvio-client-java/commit/4ec8cf5040755bf9964184ec6de38fc168e9a7c6


Note addition

As per user recommendation, I have updated the note portion with additional required information.
Problem: https://github.com/MicrosoftDocs/windows-itpro-docs/issues/4668

Thank you for merging this PR, @Dansimp. Much appreciated!


in_tail: add option to skip long lines

Which issue(s) this PR fixes:
Fixes #
What this PR does / why we need it:
There is a case that processing unexpected long line causes a
BufferChunkOverflow exception.
With #3562 (Fluentd v1.14.3), it can just ignore only problematic long
record, but it always raise an exception. Thus it has performance
regression.
In this fix, skip_long_lines option enables to just skip processing
event further more.
Docs Changes:
It should be documented in in_tail.
Release Note:

I've missed the additional comment.
Hmm, skip_long_lines is explicitly set by system admin, so logging info is redundant,
in the contrast to it, it is also reasonable user want to know 'which line is skipped'.


Bump @jbx-protocol/contracts-v1 to v2.0.0

What it says on the tin!
This PR upgrades the V1 contract package version. This new version is itself a reshuffling of dependencies. See https://github.com/jbx-protocol/juice-contracts-v1/pull/20 for the diff.

@johnnyd-eth could u review this instead? 🙏

Smoke tested and LGTM


v3 - Pest tests

Pre-steps
Have you searched through other issues to see if your problem is already reported or has been fixed?

[X ] Yes - I did not find it.
[ ] No

Did you read the documentation?

[ X] Yes - I did not find it.
[ ] No

Have you tried to reconfigure LaraDumps?
To configure LaraDumps, run: php artisan ds:init.

[X ] Yes - I didn't work.
[ ] No, I believe this error is not related the configuration.

Software Version
You can run composer show -i and npm list to list installed package with their versions.

Software
Version (exactly)

LaraDumps App
v3.0.2

LaraDumps
v3.0.0

LaraDumps  core
v2.0.0

Laravel
10.48.4

Operating System
Sonoma 14.4.1

What is your project Environment?

[ ] Laravel Valet
[ ] Laravel Sail
[ ] Docker
[ ] XAMPP
[ ] Laragon
[X ] Other - please specify: HERD

Describe the bug
What happened?
After installing v3 is impossible to debug PEST tests even with dd or dump. Also with ds.
Steps to Reproduce the problem
Create a test. For example:
it('test is not dumping', function () {
    dump('test');
    ds('test');
    dd('no output');
})->only();

Fire the test:  ./vendor/bin/pest.
You will see how the test goes out but without output. Just finishes the test.
Remove the package: composer remove laradumps/laradumps --dev ^3.0 -W. Remove the ds call from test and run again.
it('test is not dumping', function () {
    dump('test');
    dd('no output');
})->only();

Fire the test:  ./vendor/bin/pest and you will see your dumps on terminal.
Downgrading to v2 fixed the problem

Hello!. It's not an issue. Currently, for you to be able to debug within the test, you need to activate "enabled in testing". This still needs to be documented.
By the way, when you use "dump", to keep the output in the console you must keep "original dump" true,

Right. Understand the problem. I will send a pull request to fix this

Right. Understand the problem. I will send a pull request to fix this

Thank you 😄


Feature/encoding iso8 support

In case if you are interested in it. If not - just decline.

Sorry its taken me so long to get to this. I renamed "master" to "trunk," which closed the PR. I'm interested in this and have integrated it into my 2.0 work.


Why is offsets in scoped_subscribe an Option<Vec>

Why not drop the Option? Ain't None and Some(Vec::empty) the same?

Not the same when serialised… it is the diff between a json field having an empty array and the fuels not being present.

But is there a semantic difference at the level of Rust code? If not, i.e. if both None and Some(Vec::empty) lead to the program behaving the same way, it would simplify the API if we removed the option and made any needed adjustments for serialization.

Actually, I don't think there is a Vec::empty function is there? Doesn't the creation of an empty vector always allocate?

Sorry, that was just me using Rust like pseudo code.
If you create an empty Vec, e.g. via Vec::new or Vec![], then its capacity is set to zero and it does not allocate heap memory. See https://doc.rust-lang.org/std/vec/struct.Vec.html#guarantees.
Not sure though how the serialization code creates Vecs.

You're right. I shall change it.


Nothing displayed in Edge or Firefox

For some reason, I am not getting weather data in Microsoft Edge, or Mozilla Firefox. The console shows no errors, and it works great in Chrome. Using City, State for the location, not geolocation.

See #174 for info.


[Bug Report] Autocomplete delete all selected text and search is invalid

Element UI version
1.3.4
OS/Browsers version
win7/chrome
Vue version
2.3.3
Reproduction Link
https://jsfiddle.net/1op0rLxc/
Steps to reproduce
1、Search normally and then select a result
2、In the search box, select the text, and then delete
3、Search failed without triggering
Detail gif operator example:
http://code.zhongheyi.com/img/123.gif

What is Expected?
After deleting the input, the search can continue
What is actually happening?
Search termination

Please try on https://elementui.github.io/dev/dev/#/zh-CN/component/input to see if this problem continues. If not, it will be fixed in our next release.

@Leopoldthecoder Sorry, The demo on the link page you gave me is OK, but the JSFiddle in demo is also not available, is it because you have not merged into the 1.3.4 version?
you could try it .
https://jsfiddle.net/t0znsjht/

@cench yes, it will be release in 1.3.5

@cench Yes, the link I gave you syncs with our dev branch.


Fix build

Hi!
I was trying to set up and run ERENO, but I couldn't by only using the current master branch and its README. This PR introduces small changes that I did in order to run:

https://github.com/sequincozes/ereno/commit/f8fa5a1c4cc9644fdf06d948c14994a8e057192b: remove an extra }, as the code won't compile with it
https://github.com/sequincozes/ereno/commit/361e73302b1dc2699559f1e064a8d8751d1b2205: generated by IntelliJ when bumping JDK to version 21
https://github.com/sequincozes/ereno/commit/1643331ce6de1bab531f6191c04e213af98e8fc0: add some IntelliJ files to .gitignore, basically copied from https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
https://github.com/sequincozes/ereno/commit/858d0c45f6c57c4529a89936fadbb3c86a85c526: add a note about Tomcat version. ERENO won't run with Tomcat 10 in the latest master. I bisected the code and found that it is due to the changes introduced in 0e3a5df26a4519ffbb173fe45f61736ae912892f (the previous commit is ok). I tried to fix it by myself but I couldn't as I don't have experience with Tomcat.

Hello, Lucas Seiki!
I just found your e-mail.
Thank you for your message and sorry for my late response.
Were you able to use ERENO?
Please let me know if you have any questions or want to collaborate on
research using it.
Atenciosamente,
Silvio E. Quincozes.
--
Prof. Dr. Silvio E. Quincozes
Professor do Magistério Superior - Engenharia de Software
Universidade Federal do Pampa (UNIPAMPA), campus Alegrete.
https://unipampa.edu.br/
Em dom., 10 de mar. de 2024 às 12:56, Lucas Seiki Oshiro <
@.***> escreveu:

Hi!
I was trying to set up and run ERENO, but I couldn't by only using the
current master branch and its README. This PR introduces small changes
that I did in order to run:

f8fa5a1
https://github.com/sequincozes/ereno/commit/f8fa5a1c4cc9644fdf06d948c14994a8e057192b:
remove an extra }, as the code won't compile with it
361e733
https://github.com/sequincozes/ereno/commit/361e73302b1dc2699559f1e064a8d8751d1b2205:
generated by IntelliJ when bumping JDK to version 21
1643331
https://github.com/sequincozes/ereno/commit/1643331ce6de1bab531f6191c04e213af98e8fc0:
add some IntelliJ files to .gitignore, basically copied from
https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
858d0c4
https://github.com/sequincozes/ereno/commit/858d0c45f6c57c4529a89936fadbb3c86a85c526:
add a note about Tomcat version. ERENO won't run with Tomcat 10 in the
latest master. I bisected the code and found that it is due to the
changes introduced in 0e3a5df
https://github.com/sequincozes/ereno/commit/0e3a5df26a4519ffbb173fe45f61736ae912892f
(the previous commit is ok). I tried to fix it by myself but I couldn't as
I don't have experience with Tomcat.

You can view, comment on, or merge this pull request online at:
https://github.com/sequincozes/ereno/pull/3
Commit Summary

f8fa5a1
https://github.com/sequincozes/ereno/pull/3/commits/f8fa5a1c4cc9644fdf06d948c14994a8e057192b
remove } out of place
361e733
https://github.com/sequincozes/ereno/pull/3/commits/361e73302b1dc2699559f1e064a8d8751d1b2205
bump JDK to version 21
1643331
https://github.com/sequincozes/ereno/pull/3/commits/1643331ce6de1bab531f6191c04e213af98e8fc0
add JetBrains generated files to .gitignore
858d0c4
https://github.com/sequincozes/ereno/pull/3/commits/858d0c45f6c57c4529a89936fadbb3c86a85c526
add note about tomcat version in README

File Changes
(5 files https://github.com/sequincozes/ereno/pull/3/files)

M .gitignore
https://github.com/sequincozes/ereno/pull/3/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
(34)
M .idea/misc.xml
https://github.com/sequincozes/ereno/pull/3/files#diff-7ea1cd7bd5d16299a0abd33128e8d0a8bc04146f6b00c07bcd3cc0aad813c229
(3)
D .idea/workspace.xml
https://github.com/sequincozes/ereno/pull/3/files#diff-9f043e4e89d784b579b6d75ea8704b232f9475fa5b3afd11f805fdf8e74c675c
(783)
M README.md
https://github.com/sequincozes/ereno/pull/3/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(57)
M src/main/java/br/ufu/facom/ereno/MultiSource.java
https://github.com/sequincozes/ereno/pull/3/files#diff-34d5026c815998b45fe5ad84befa846b0bcdeb57344465d5ebf0f6782ad6b6d3
(1)

Patch Links:

https://github.com/sequincozes/ereno/pull/3.patch
https://github.com/sequincozes/ereno/pull/3.diff

—
Reply to this email directly, view it on GitHub
https://github.com/sequincozes/ereno/pull/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETJP76D5VKLJADX4WYSEPDYXR7DRAVCNFSM6AAAAABEPCJQE6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGE3TONZYGE4TMNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


fix oversteer udev rule package paths

With the following in a nixosModule context services.udev.packages = with pkgs; [ oversteer ]; a nixos-rebuild fails to apply udev rules with contains references to /usr/bin/evdev-joystick
Adding the linuxConsoleTools package as a dependency was needed to provide the evdev-joystick binary.
I have not been able to test if the evdev rules work for the Fanatec hardware. I was able to verify that the path in the build output is now compliant.

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

For confirmation that the package is working now:

for the impatient: package and os module

Why --replace-warn instead of --replace-fail?

Why --replace-warn instead of --replace-fail?

Because of the other udev rules detailed above (Gosh you're fast). Should I add --replace-fail to the /bin/sh substitution? That one does work.

Should I add --replace-fail to the /bin/sh substitution? That one does work.

Yes please!

updated with suggested changed :)

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 364728

x86_64-linux

:white_check_mark: 1 package built:

oversteer

Thanks!


NodeMCU 1.0 ESP8266 not connecting to Firebase database?

Firebase.error() comes empty. Doesn’t change lamp value. Always prints "1" when asked Bool value of lamp.
Here is the branch:
testel-23702:
------lamp: false
Here is the code:
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
// Set these to run example.
#define FIREBASE_HOST "testel-23702.firebaseio.com"
#define FIREBASE_AUTH "LEWg3dqwjHWWHffjsmBNfDsNTVccIEU3CW4eEfLe"
#define WIFI_SSID "mywifi"
#define WIFI_PASSWORD "mywifipassword"
int hora = 0;
float horas = 0;
void setup() {
Serial.begin(115200);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
delay(1000);
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.setBool("lamp", false);
}
void loop() {
Serial.println("Enviando dados....");
Firebase.setBool("lamp", true);
Serial.println(Firebase.getBool("lamp"));
delay (1000);
if (Firebase.failed()) {
Serial.print("setting /message failed:");
Serial.println(Firebase.error());
return;
}
delay(5000);
}

I am exactly got the same problem. My code for NODE MCU that works 3 months ago, now useless. It gives empty error and I don't know why.

I just solve the problem. Thanks for @haizen007 from #253 thread.

it's working here!
you have to remove your old firebase library (usually in my documents on windows), download and add the new one from master, then you will be able to run your code again!

I tried that, removed and added again and again, but nothing goes to firebase... I don't even know what the problem is...

same here..any solution ?

same here looking for solution

same here...

same here

Not working for me too!
:(

In Arduino IDE, Tools->Debug level->Wifi
Try this

I am having the same issue, please help

I'm having the same problem, I downloaded it again, updated but it does not work.
Someone?

Guys, I've been able to solve my problem.
I removed the bar "/"  from the end of the url
Ex:
#define FIREBASE_HOST "test.firebaseio.com"
That's Work!!!

@heriveltogabriel Are you using the latest Firebase Library?

Yes

Sry. I am using latest library. But still no luck

@mrunmaydarpan Try include Arduino JSON Library

Ok thanks. I'll try it after some time. Thn I'll let you know the results

@heriveltogabriel yes this works, also had to remove https:// , thanks

@aravindkarthik96 , @BrosnanUhYeah  Yes, I did downloaded last version and removed the bar "/"  from the end of the url and "https:// "  too.
Works Perfect!
my url example:
#define FIREBASE_HOST "test.firebaseio.com"

Hi, I had the same problem. I was using the wrong token. Apparently you have to go to Firebase "Settings" > "Service Accounts" tab > under Legacy Credentials click "Database Secrets" > select your firebase project anda click "Show".
The following video shows how to get the token.
youtube

Filed #350 to update the secret documention.

not working.. kept getting setting /number failed: error
tried all off the above..

If such things happen please remove old firebase master from arduino library, download latest firebase master from github and place it in arduino library folder. Everything will work fine then.

I had the same problem, I tried with haizen007 solution but still doesn't work. This is what I made to finally get it. I added a new secret (token) in Firebase Settings, I copied that and pasted in code, that's all and now it's working

Thanks haizen007, its work for me.

Download latest library FirebaseArduino https://github.com/firebase/firebase-arduino
Delete old library on C:\Users"YOUR USER NAME"\Documents\Arduino\libraries
Add new library (file download step 1) from Arduino IDE.
Everything will work fine then :)

After Updating Firebase Library My Connectivity Problem is Gone

Apparently none of the above solutions are working for me. I tried to include new Arduino master library, tried new database secret key, disabled watchdog, changed fingerprints, added delays...still couldn't connect Nodemcu with google firebase.
Here is the part of the code.
`
#include <ESP8266WiFi.h>
#include<FirebaseArduino.h>
#include<FirebaseHttpClient.h>
#define FIREBASE_HOST "myhome-autoae8e8.firebaseio.com" //Your Firebase Project URL goes here without "http:" , "" and "/"
#define FIREBASE_AUTH "B4g2QQehSW8ZT14bi8pj8HtzXCviNswdE6tNbcvr"       //Your Firebase Database Secret goes here
#define WIFI_SSID "Tenda"                                               //your WiFi SSID for which yout NodeMCU connects
#define WIFI_PASSWORD "**********"                                      //Password of your wifi network
#define FIREBASE_JSONBUFFER_SIZE JSON_OBJECT_SIZE(128)
#define Relay1 D6 //D6 12
int val1;
#define Relay2 4 //D2
int val2;
#define Relay3 5  //D1
int val3;
#define Relay4 14 //D5
int val4;
void setup()
{
Serial.begin(115200);           // Select the same baud rate if you want to see the datas on Serial Monitor
ESP.wdtDisable();
//  pinMode(Relay1,OUTPUT);
//  pinMode(Relay2,OUTPUT);
//  pinMode(Relay3,OUTPUT);
//  pinMode(Relay4,OUTPUT);
//
//  digitalWrite(Relay1,LOW); //high
//  digitalWrite(Relay2,LOW); //high
//  digitalWrite(Relay3,LOW); //high
//  digitalWrite(Relay4,LOW); //high
WiFi.begin(WIFI_SSID,WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status()!=WL_CONNECTED){
Serial.print(".");
Serial.print("I am getting connected..");
delay(1000);
}
Serial.println("I am here and connected");
Serial.print("connected:");
Serial.println(WiFi.localIP());
//ESP.wdtDisable();
Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH);
delay(10);
Firebase.setInt("S1",0);                     //Here the varialbe"S1","S2","S3" and "S4" needs to be the one which is used in our Firebase and MIT App Inventor
Firebase.setInt("S2",0);
Firebase.setInt("S3",0);
Firebase.setInt("S4",0);
}
void firebasereconnect()
{
Serial.println("Trying to reconnect");
//delay(500);
//ESP.wdtFeed();
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
delay(5);
ESP.wdtDisable();
}
void loop()
{
if (Firebase.failed())
{
Serial.print("setting / number failed:");
Serial.println(Firebase.error());
firebasereconnect();
delay(5);
return;
}
Serial.println("I am at relay 1");
val1=Firebase.getString("S1").toInt();
`

Its fixed!!!
go to C:/Users/{username}/My Documents/Arduino/libraries/firebase-arduino-master/src
open FirebaseHttpClient.h file, and paste following fingerprint =>
6F D0 9A 52 C0 E9 E4 CD A0 D3 02 A4 B7 A1 92 38 2D CA 2F 26
Now build and upload the sketch to NodeMCU using Arduino IDE

It will be great if you can help identify the cause. May be at some later time we might get into this again.
So that this fingerprint is?
What does it verifies?

for some reason old Firebase fingerprint doesn´t work for me, I change Firebase fingerprint for this
E2:34:53:7A:1E:D9:7D:B8:C5:02:36:0D:B2:77:9E:5E:0F:32:71:17, and it fixed.
To find and change the current fingerprint:
Go to https://www.grc.com/fingerprints.htm
Enter "test.firebaseio.com"
Record the fingerprint (e.g. it is old one 6F:D0:9A:52:C0:E9:E4:CD:A0:D3:02:A4:B7:A1:92:38:2D:CA:2F:26)
OpenC:\Users<User>\Documents\Arduino\libraries\firebase-arduino-\src\FirebaseHttpClient.h
Replace value of kFirebaseFingerprint with the fingerprint (without colons)
Recompile

My code suddenly decided not to work and changing the fingerprint really did fix it.
Thank you guys.

I got the same problem and solved it by updating the fingerprint.
Thanks a lot!
Is there any way to let the Arduino update the fingerprint ?

Thanks a lot @felossimon. This worked for me...

oh my god, holy shiTTTTTTTTTTTTTTTTT!!!!!!!!!!
i love you so much guys!!!!!!!!!!!!
Program worked for me !!!!!!!
im so happy ~~~~~~~~

Oh .. still problem! !!!

Thank you a lot. My system is working!

Hi guys
I have a question
How Can i make solve this problem forever as I will make a product based on connection between firebase and NODEMCU ESP8266?

Here’s a working solution to get rid of this fingerprint relict: https://github.com/FirebaseExtended/firebase-arduino/issues/369#issuecomment-414152018

https://www.hackanons.com/2018/02/iot-with-firebase-connecting-arduino.html
use the lower version of the arduino ide described in the link ....and use Arduinojson ver 5.13.5
all erros will be solved...
use wise uninstaller for removing all files of the latest version of the arduino............click on force uninstall
then restart the system....
install arduino ver 1.6.9
install 2.4.0 esp8266 board manager
install 5.13.5 Arduinojson
install firebase arduino described in the link...
change firebase url,key,ssid,password       in the sample code in the link
upload the script all will be fine

fingerprint change again??
My's devices don't work.
Em sex, 10 de mai de 2019 às 07:12, anil-aks<EMAIL_ADDRESS>escreveu:

https://www.hackanons.com/2018/02/iot-with-firebase-connecting-arduino.html
use the lower version of the arduino ide described in the link ....and use
Arduinojson ver 5.13.5
all erros will be solved...
use wise uninstaller for removing all files of the latest version of the
arduino............click on force uninstall
then restart the system....
install arduino ver 1.6.9
install 2.4.0 esp8266 board manager
install 5.13.5 Arduinojson
install firebase arduino described in the link...
change firebase url,key,ssid,password in the sample code in the link
upload the script all will be fine
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FirebaseExtended/firebase-arduino/issues/285#issuecomment-491237394,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACAAJIJUIWOZZN3FK7VSZ2DPUVDBTANCNFSM4D42XTTQ
.

--

for some reason old Firebase fingerprint doesn´t work for me, I change Firebase fingerprint for this
E2:34:53:7A:1E:D9:7D:B8:C5:02:36:0D:B2:77:9E:5E:0F:32:71:17, and it fixed.
To find and change the current fingerprint:
Go to https://www.grc.com/fingerprints.htm
Enter "test.firebaseio.com"
Record the fingerprint (e.g. it is old one 6F:D0:9A:52:C0:E9:E4:CD:A0:D3:02:A4:B7:A1:92:38:2D:CA:2F:26)
OpenC:\Users\Documents\Arduino\libraries\firebase-arduino-\src\FirebaseHttpClient.h
Replace value of kFirebaseFingerprint with the fingerprint (without colons)
Recompile

The only real solution out there!

for some reason old Firebase fingerprint doesn´t work for me, I change Firebase fingerprint for this
E2:34:53:7A:1E:D9:7D:B8:C5:02:36:0D:B2:77:9E:5E:0F:32:71:17, and it fixed.
To find and change the current fingerprint:
Go to https://www.grc.com/fingerprints.htm
Enter "test.firebaseio.com"
Record the fingerprint (e.g. it is old one 6F:D0:9A:52:C0:E9:E4:CD:A0:D3:02:A4:B7:A1:92:38:2D:CA:2F:26)
OpenC:\Users\Documents\Arduino\libraries\firebase-arduino-\src\FirebaseHttpClient.h
Replace value of kFirebaseFingerprint with the fingerprint (without colons)
Recompile

The only real solution out there!

I got the same issue. what I did was, I uninstalled the firebase-arduino library and downloaded the latest version, and edited the fingerprint according to this. and it worked.

I got the same issue. what I did was, I uninstalled the firebase-arduino library and downloaded the latest version, and edited the fingerprint according to this. and it worked.

for some reason old Firebase fingerprint doesn´t work for me, I change Firebase fingerprint for this
E2:34:53:7A:1E:D9:7D:B8:C5:02:36:0D:B2:77:9E:5E:0F:32:71:17, and it fixed.
To find and change the current fingerprint:
Go to https://www.grc.com/fingerprints.htm
Enter "test.firebaseio.com"
Record the fingerprint (e.g. it is old one 6F:D0:9A:52:C0:E9:E4:CD:A0:D3:02:A4:B7:A1:92:38:2D:CA:2F:26)
OpenC:\Users\Documents\Arduino\libraries\firebase-arduino-\src\FirebaseHttpClient.h
Replace value of kFirebaseFingerprint with the fingerprint (without colons)
Recompile

This solved my problem.. <3 Thank you very much..

for some reason old Firebase fingerprint doesn´t work for me, I change Firebase fingerprint for this E2:34:53:7A:1E:D9:7D:B8:C5:02:36:0D:B2:77:9E:5E:0F:32:71:17, and it fixed.
To find and change the current fingerprint:
Go to https://www.grc.com/fingerprints.htm Enter "test.firebaseio.com" Record the fingerprint (e.g. it is old one 6F:D0:9A:52:C0:E9:E4:CD:A0:D3:02:A4:B7:A1:92:38:2D:CA:2F:26) OpenC:\Users\Documents\Arduino\libraries\firebase-arduino-\src\FirebaseHttpClient.h Replace value of kFirebaseFingerprint with the fingerprint (without colons) Recompile

Thanks a lot it works for me. ✨


Unuseful column in export Excel

Bug description
Hello,
the Excel export of data chart has an unuseful column :

Regards
How to reproduce the bug

Create a chart
Export data (Excel)
Open Excel file

Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Duplicate of https://github.com/apache/superset/issues/22981.  See the two open PRs linked in that discussion -- one is very close to mergeable 😣 🤞


Server-side usage

I have plans to redesign this library to be a set of combinators for easy building extendable Wakfu clients as well as servers.
The way to get there is long, but the key issues are for now:

Everything that is encodable has to be made decodable and the other way around.
Instead of using Actors everywhere, use traits that define behaviours and can be mixed in by the end users anywhere they wish to.

The goal is to provide a sensible set of behaviours that allow building clients and servers quickly out of existing blocks.

Serialization implemented in 837541e4764779cc833f90c79f7b4694f6958b29.


Implement HTML+RDFa view of unit data

Building on #1: given a UCUM code, return valid HTML+RDFa about the unit.

Should the HTML just contain the annotations? We don't need a tree view, correct? They're all instances anyway.

No tree required.


Incorrect rendering of some ASCII in Terminal. Try F7

VSCode Version: 1.2.1
OS Version: Win10 10586

Steps to Reproduce:

Open Terminal. Do some commands.
Press F7

I tried it on VSCode 1.3.0 and it is closer, but there's weird spacing:

Duplicate of https://github.com/Microsoft/vscode/issues/7911 - should be fixed soon.


Firebase AuthUI phone authentication issue solved- Firebase bug

Pressing verify it returns back to the the AuthUI login screen. Problem was found in the Firebase Auth version 20.0.0 and BOM version 26.0.0. In the lower version it is working absolutely fine which is- implementation platform('com.google.firebase:firebase-bom:25.13.0') and implementation 'com.google.firebase:firebase-auth:19.4.0'

I got this issue too. Any workarounds other than going to older version?

@dipanjansgithub FirebaseUI v6 depends on firebase-auth version 19.x as you can see here:
https://github.com/firebase/FirebaseUI-Android/releases/tag/6.4.0
This means it is not compatible with firebase-auth version 20.x or firebase-bom version 26.x.  This is a major version number bump and therefore a breaking change.  The main breaking change in this version of Firebase Auth was a change to Phone Auth, which is why the library crashes when you try to insert the new library and do Phone authentication.
We're already working on FirebaseUI version 7.0.0 to fix this.  You can see our progress here:
https://github.com/firebase/FirebaseUI-Android/milestone/50

The fix for this issue has been released in version 7.0.0


Update codeowners and swagger commit id

API change check
API changes are not detected in this pull request.


Added new SDK support for page navigation, settings & filters

Hard to visualize the button layout from just the html, but it looks good to merge.


Battery saving sleep heuristic algorithm is not good enough

Stumbled upon this thread https://forum.freeplaytech.com/showthread.php?tid=4988 where a number of users are discussing the observation that the "display is idle" heuristic is producing unwanted visual quality, e.g.

It's jarring is all. Kinda makes my fancy $300 hobby device look "broken" if that makes any sense.

The root reason why a "display is idle" power saving throttling heuristic has been added is due to issue https://github.com/raspberrypi/userland/issues/440 .
Marking this issue down as a TODO to see if the sleep heuristic can be tweaked/improved.
The throttling heuristic can be disabled via
diff --git a/config.h b/config.h
index 75b802b..fd343b2 100644
--- a/config.h
+++ b/config.h
@@ -146,7 +146,7 @@

 // Detects when the activity on the screen is mostly idle, and goes to low power mode, in which new
 // frames will be polled first at 10fps, and ultimately at only 2fps.
-#define SAVE_BATTERY_BY_SLEEPING_WHEN_IDLE
+// #define SAVE_BATTERY_BY_SLEEPING_WHEN_IDLE

 // Builds a histogram of observed frame intervals and uses that to sync to a known update rate. This aims
 // to detect if an application uses a non-60Hz update rate, and synchronizes to that instead.

One way to tweak the heuristic is to change the timings:
diff --git a/gpu.cpp b/gpu.cpp
index 61b4d42..b104575 100644
--- a/gpu.cpp
+++ b/gpu.cpp
@@ -281,8 +281,8 @@ uint64_t EstimateFrameRateInterval()
   uint64_t timeNow = tick();
 #ifdef SAVE_BATTERY_BY_SLEEPING_WHEN_IDLE
   // "Deep sleep" options: is user leaves the device with static content on screen for a long time.
-  if (timeNow - mostRecentFrame > 60000000) { histogramSize = 1; return 500000; } // if it's been more than one minute since last seen update, assume interval of 500ms.
-  if (timeNow - mostRecentFrame > 5000000) return lastFramePollTime + 100000; // if it's been more than 5 seconds since last seen update, assume interval of 100ms.
+  if (timeNow - mostRecentFrame > 60000000) { histogramSize = 1; return 100000; } // if it's been more than one minute since last seen update, assume interval of 500ms.
+  if (timeNow - mostRecentFrame > 5000000) return lastFramePollTime + 50000; // if it's been more than 5 seconds since last seen update, assume interval of 100ms.
 #endif

 #ifndef SAVE_BATTERY_BY_PREDICTING_FRAME_ARRIVAL_TIMES
@@ -319,7 +319,7 @@ uint64_t PredictNextFrameArrivalTime()
 #ifdef SAVE_BATTERY_BY_SLEEPING_WHEN_IDLE
   // "Deep sleep" options: is user leaves the device with static content on screen for a long time.
   if (timeNow - mostRecentFrame > 60000000) { histogramSize = 1; return lastFramePollTime + 100000; } // if it's been more than one minute since last seen update, assume interval of 500ms.
-  if (timeNow - mostRecentFrame > 5000000) return lastFramePollTime + 100000; // if it's been more than 5 seconds since last seen update, assume interval of 100ms.
+  if (timeNow - mostRecentFrame > 5000000) return lastFramePollTime + 50000; // if it's been more than 5 seconds since last seen update, assume interval of 100ms.
 #endif
   uint64_t interval = EstimateFrameRateInterval();

Perhaps more aggressive timings for the sleep can produce a more desirable balance for users.

CC @mootikins for visibility.

Just built with your suggested values, as well as another set at half of them, with the second naturally giving the best results, though the difference only seems to be marginal. Appreciate the suggestion.