Where to apply homeSpan.processSerialCommand?

I wanted to temporarily upload a sketch using OTA where I erased the Homekit pairing information (ESP32 thought it was paired but Home disagreed) by including
homeSpan.processSerialCommand("U");
and then once it had been erased, upload a new sketch with it removed.  But once it ran the sketch and erased the pairing information, it looks like it went into an infinite reboot loop, requiring me to physically connect it to the computer and update the code.  It is strange as it seems like this should work.
So my question is, does the homeSpan.processSerialCommand("U") need to come before or after homeSpan.begin or should it not matter?  I ran it just before (I couldn't find any information on where to put  .processSerialCommand but I may have missed it).
Thanks, HS
BTW, here is the log after I connected it to the computer.  Starting the MAX boards is my sketch before setting up homeSpan.
10:30:09.128 -> ets Jun  8 2016 00:22:57
10:30:09.128 ->
10:30:09.128 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
10:30:09.128 -> configsip: 0, SPIWP:0xee
10:30:09.128 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
10:30:09.128 -> mode:DIO, clock div:1
10:30:09.128 -> load:0x3fff0030,len:1344
10:30:09.128 -> load:0x40078000,len:13964
10:30:09.128 -> load:0x40080400,len:3600
10:30:09.128 -> entry 0x400805f0
10:30:09.901 -> Starting MAX board: 0
10:30:09.901 -> Starting MAX board: 1
10:30:09.901 ->
10:30:09.901 -> *** HomeSpan Pairing Data DELETED ***
10:30:09.901 ->
10:30:09.901 -> Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
10:30:09.901 ->
10:30:09.901 -> Core  1 register dump:
10:30:09.901 -> PC      : 0x400db5e9  PS      : 0x00060a30  A0      : 0x800d3f8c  A1      : 0x3ffb1fc0
10:30:09.901 -> A2      : 0x3ffc7550  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x3ffc77dc
10:30:09.934 -> A6      : 0x00000000  A7      : 0x3ffc7550  A8      : 0x800db5d6  A9      : 0x3ffb1fa0
10:30:09.934 -> A10     : 0x00000028  A11     : 0x3f404747  A12     : 0x3ffc4fe8  A13     : 0x00000460
10:30:09.934 -> A14     : 0x00000028  A15     : 0x00000000  SAR     : 0x0000001b  EXCCAUSE: 0x0000001c
10:30:09.934 -> EXCVADDR: 0x00000000  LBEG    : 0x4008ad29  LEND    : 0x4008ad39  LCOUNT  : 0xfffffff5
10:30:09.934 ->
10:30:09.934 ->
10:30:09.968 -> Backtrace: 0x400db5e6:0x3ffb1fc0 0x400d3f89:0x3ffb2260 0x400e5902:0x3ffb2290
10:30:09.968 ->
10:30:09.968 ->
10:30:09.968 ->
10:30:09.968 ->
10:30:09.968 -> ELF file SHA256: 070b06dcef27a03d
10:30:09.968 ->
10:30:10.134 -> Rebooting...

It should come after homeSpan.begin(), otherwise it will try to erase pairing data before initialization.  Note you should not need to unpair the device this way - it will automatically unpair if you unpair from the Home App, unless you use the Home App to unpair when the device is out of range.

Got it.  Thank you!  Yes, I can't remember how it happened.  I'm having some issues with my setup which may have to do with insufficient power.  Being able to upload a new sketch over OTA and give serial commands like this is super helpful.
Thanks!!


Add Codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9af0b50). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #14   +/-   ##
=========================================
  Coverage          ?   66.66%
=========================================
  Files             ?        1
  Lines             ?       57
  Branches          ?        0
=========================================
  Hits              ?       38
  Misses            ?       19
  Partials          ?        0

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 9af0b50...bf12465. Read the comment docs.


Allow to override VERBOSITY_QUIET in configuration

VERBOSITY_QUIET is set to ERROR by default and you can't override that, even though the OutputInterface allows to use this verbosity. In the default configuration, quiet doesn't mean really quiet as errors are still logged.

👍
Status: Reviewed
Since https://github.com/symfony/symfony/pull/18781 the quite mode is actually broken because it now also outputs debug messages as this is the default when no configuration is set. So this PR is actually important to fix this new behavior again.


Adding in basic support for SRI - relates to: #555

@jdorfman please review, it is likely very rough / broken (done in a hurry).
Automation is the next step, this is a different conversation however :smile:
Thanks!

Hey @jonathanKingston this is a perfect first step (not automated)
Looks like the JS is breaking:
Uncaught ReferenceError: toggleCode is not defined
onclick @ (index):77

Yup that relates to my comment here: https://github.com/MaxCDN/bootstrap-cdn/issues/555#issuecomment-124295510
I'm not sure where that code has gone as it isn't part of my change.

I'll take a look at the toggleCode error this weekend, that's weird.
Also, I'll probably take a stab at automating it before merging to master. I can do the research myself, but @jonathanKingston if you could include when you did to generate the shas, it would save me a few minutes.
Cheers,
J

@jonathanKingston (cc @jdorfman)
That error is probably due to the changes on https://github.com/MaxCDN/bootstrap-cdn/pull/553, if you rebase your branch with develop...
$ git remote add upstream https://github.com/MaxCDN/bootstrap-cdn.git
$ git fetch upstream
$ git rebase upstream/develop

There were some pretty drastic changes, but looking at your PR, there shouldn't be an conflicts.

@jmervine rebased, same error

Yup I think an extra few lines need adding back in that were taken out in
the latest commit in dev... I will patch.
I added a pull request to npm-sri-toolbox for the CLI I used.
Where will the file integrity be generated from, github?
On Fri, 24 Jul 2015 18:29 Justin Dorfman<EMAIL_ADDRESS>wrote:

@jmervine https://github.com/jmervine rebased, same error
—
Reply to this email directly or view it on GitHub
https://github.com/MaxCDN/bootstrap-cdn/pull/557#issuecomment-124587904.

Odd b/c this isn't occuring on dev.bootstrapcdn.com (at least on chrome).

Okay, pretty sure I found the issue, gonna push to develop once done testing and you'll need to rebase again.
Also, wondering if we should just include this by default on all example code, if it's best practice.

@jmervine we should certainly, I pushed this code in very late last night so I just did the first for illustration.
So yeah automation of the integrity generation would be better.
The code I was seeing missing from the main template was:
    <script src="https://www.hellobar.com/hellobar.js"></script>
    <script>function tabAction(t){var a=$(t).attr("href");document.location.href="/"+(document.location.search?document.location.search:"")+a+hashSuffix,hash=a}function tryIt(t){window.location.href="/?theme="+t+(hash?hash+hashSuffix:"")}function toggleCode(t,a){$("#"+a).toggleClass("hidden"),$(t).find("i").toggleClass("fa-caret-down"),$(t).find("i").toggleClass("fa-caret-up")}new HelloBar(34009,110807),$("input:text").focus(function(){$(this).select(),$(this).mouseup(function(t){t.preventDefault()})});var hash,hashURLNext=document.location.href.split("#")[1],hashSuffix="_tab";hashURLNext&&(hash="#"+hashURLNext.replace(hashSuffix,"")),hash&&$("ul.nav.navbar-nav li
...

@jmervine the commit for the hash generation is here: https://github.com/jonathanKingston/npm-sri-toolbox/commit/79d4a082bbe0adf3705a2ab19a1b456437f0972e
So either using sri toolbox, using the command line like that or perhaps just normal open ssl:
cat FILENAME.js |
openssl dgst -sha256 -binary |
openssl enc -base64 -A

I would advocate the cli interface personally or the toolbox via scripted.

Okay, I'm breaking my own rules and pushing directly to develop, but I pushed two quick fix commits, this is the one that fixes the toggleCode issue at hand...
https://github.com/MaxCDN/bootstrap-cdn/commit/bcc1fceba8613fdc7d7299aa7de4cfa4886cdc5c
J

Yup seems to work thanks @jmervine - celebratory beer time

I'd like to release #558 to production before merging this to production. I was considering that we should implement this for everything and automatically before releasing it. But if it's a priority (that's your call @jdorfman) then we can push this out now and I'll work on getting automation in over the next week or so.
If we're going to implement it for all code, then I'll just create a script that generates the sha and includes it for all referenced files.
J

@jmervine #558 is now merged.
Let's do:

"push this out now and I'll work on getting automation in over the next week or so."

:+1: thanks. Let me know if you have any issues.

Sweet. @jonathankingston I'll email you back tomorrow.


Thanos with duplicate results more than 1 hour

Name and Version
thanos:v0.31.0
What architecture are you using?
amd64
What steps will reproduce the bug?
1.Install the helm using the normal way
2.Configure S3 miniO as bucket
3.I have the Prometheus CRD and I configured the Thanos Sidecar
4.Everything works perfectly and the remote_write has been configured to sent all data to S3
5. I have the Compactor, Query,Receiver already configured
Are you using any custom parameters or values?
    query:
    ## @param query.enabled Set to true to enable Thanos Query component
    ##
    enabled: true
    ## @param query.logLevel Thanos Query log level
    ##
    logLevel: info
    ## @param query.logFormat Thanos Query log format
    ##
    logFormat: logfmt
    ## @param query.replicaLabel Replica indicator(s) along which data is de-duplicated
    ##
    replicaLabel: [prometheus_replica]
    ## Dynamically configure store APIs using DNS discovery
    ## @param query.dnsDiscovery.enabled Enable store APIs discovery via DNS
    ## @param query.dnsDiscovery.sidecarsService Sidecars service name to discover them using DNS discovery
    ## @param query.dnsDiscovery.sidecarsNamespace Sidecars namespace to discover them using DNS discovery
    ##
    dnsDiscovery:
      enabled: true
      sidecarsService: "prometheus-k8s"
      sidecarsNamespace: "kubesphere-monitoring-system"

What is the expected behavior?
If I search query before 5 minutes I got the correct result (dedup)

What do you see instead?
I have 2 prometheus as operator replicas with thanos then send data to my storage like miniO.
If search some query more than 1 or 2 hours the result is twice duplicated like below

It bring many results and the dudup is not working or I did something wrong.
Additional information
I have the thanos sidecar enabled in my Prometheus CRD and RemoteWrite to Storegateway.
Please help me to identify it or it is some bug in version that I am using.
My Promtheus wasnt configured the external label then the default label is prometheus_replica. I dont know if I put some desnecessary values into the helm
I saw this thread https://github.com/thanos-io/thanos/issues/6257 but keeps confuse to me what I need to do to fix it.  I am tried downgraded from 0.30.2 but is the error issue and the query keeps returning duplicated and somethimes more than 4 times

Thankss

Hi! Thanks for reporting this. I think this was solved in https://github.com/thanos-io/thanos/issues/6257. Could you please try the newest main?

Hi @GiedriusS  I hope you doing great. I think this was fixed. Thank you so much for your attention.


After query broken, generate new ID for an existing record

After broken SQL query, generate new records after edit.
Example:
// One record in table USER:
{
  "id": 1,
  "name": "userx",
  "email"<EMAIL_ADDRESS>  "age": 30,
  "username": "userx",
  "password": "xxxxxxxx"
}

After edit:
// One record in table USER:
{
  "id": 2,
  "name": "userx",
  "email"<EMAIL_ADDRESS>  "age": 30,
  "username": "userx",
  "password": "xxxxxxxx"
}

Server is:

JBOSS 6.2 EAP
Hibernate 4.2 Final
Spring framework 4.x
Oracle 11g

What does this have to do with HikariCP?

Create a copy of the record when it's edited. Solve changing HikariCP datasource for standard spring datasource.

I still have no idea what that means.  The sounds like an issue of the connection not being committed or rolled back.
The difference with the standard Spring DataSource is that two sets of getConnection()/close() calls are likely to get two separate Connections.  HikariCP is likely to give the same (previously used) connection to the thread.
I suggest asking this question on stackoverflow.com.

@brettwooldridge thanks,
I think that the problem is with HikariCP datasource, I have some entities mapped with auto generated ID, while there is no SQL errors, all is alright, but, after SQL errors, when edit some entity, HikariCP datasource duplicates the editing record in a new record with new generated ID, only happens with HikariCP datasource. Somehow send null ID to database, generating a new record.


Add Neptune to ML Environment Management Tools

Does this have a free tier or open access?

Sure thing @datherton09.
We have a free tier https://neptune.ai/pricing + we have additional free programs for students/researchers/kagglers etc https://neptune.ai/researchers

Will add manually.


Video processing

Work in progress

General comment:
pickle files might not be a good way of storing data.

they can run arbitrary python code on your system
they might not work across different versions of python/library

Perhaps we can switch to JSON or .npy files instead?

Okay. I like pickles to dump python objects. But I will do that for myself and consider other means of storage for you and public


Displaying json response schema in swagger UI

Is there a way to get the json response schema in the swagger UI for the get and get multi end points when created with crud_router()?
Basically when I create a set of endpoints (Tenants in the image below ) I would like to see the structure of the json in the response, instead of a simple string...

I'll take a look at this soon


Comparing Different models

Hi,
Could you please tell me how you compared different models? Did you use the same learning rate, number of epochs, Number of decay epochs, image size, optimizer among all models? Also, did you collect test results using the final saved generator or did you use the best results testing all saved generators at different epochs?

Thanks. We keep the image size consistent with all models. About other hyperparameters and where to stop, for other methods such as cycleGAN, style transfer. We use the default setting in their original paper so you could refer to their implementation. For our models, we give all details in our paper.


Adds subscriptionId column on view objects and create new index

https://github.com/Shippable/pm/issues/8503


installation guide

how do you install it?

Go to Plugins, add
https://raw.githubusercontent.com/knackebrot/jellyfin-repo/master/manifest.json
as repository
and then install the enigma2 plugin.


consider splitting massive into smaller packages

I've been going through massive.js to evaluate it for a project, and it kind of feels like it's trying to do too many things under this one banner.
I think that the core of the project is really something similar to clojure's yesql (and it's js progeny sqlt and preql). Basically: define your sql in a separate file.
Why not take the implementations for the massive-crud and massive-document, and split them into separate projects? They are pretty much built this way already.
Benefits:

simplifies the core project. (so it is easier to attract potential contributors)
seeds the contributor ecosystem. (by showing how to extend massive)
provides opportunities to contribute. (for building your own massive-* modules)

The core of the project is making database work fun; sounds a bit goofy but that is, truly, at the core of it. For you, that might mean the SQL file thing, for others it's the document stuff. All three approaches together (the simple table stuff, the sql file/function bits, the document stuff) really capture the essence of working with Postgres.
That's part 1 :).
The second part is that I built this for a project I was working on, and these are the things I used (and still do) routinely. I think philosophically you have a point and it's something I've thought of doing later on as necessity demands (massive-docs, massive-files, etc). Right now the project is rather small and, in essence, I might even say it's "finished" in terms of things going in.
This projects progenitor is a .NET library by the same name that was actually quite popular. I wrote it dedicated to SQL Server, but soon people came and offered a Postgres alternative, MySQL, MongoDB, Oracle... and that's when life got harder. At least for me.
I'm a huge fan of simplicity and direction - least possible action and all that. The project, at least for me, really couldn't be any simpler. Contributions have been pretty strong and have mostly focused on fine-tuning things with the odd improvement here and there. And there's always a chance to contribute.
So, in summing: I kind of like where we're at :).


Direct connect with NFC

Is it possible to connect to libre 1 series with this library without any transmitters only using NFC?

Manual scans could be done but not prioritized


pytorch2onnx --verify failing for retinanet and output incorrect

Describe the bug
Getting the following error from trying to convert retinanet_r50_fpn_1x_coco.py after running
python tools/pytorch2onnx.py configs/retinanet/retinanet_test_r50_fpn_1x_coco.py ~/0Dev/data/mmdetection/retinanet_r50_fpn_1x_coco_20200130-c2398f9e.pth --output-file ~/0Dev/data/mmdetection/retinanet_r50_fpn_1x_coco_20200130-c2398f9e.onnx --verify --input-img demo/demo.jpg

Traceback (most recent call last):
  File "tools/pytorch2onnx.py", line 170, in <module>
    normalize_cfg=normalize_cfg)
  File "tools/pytorch2onnx.py", line 85, in pytorch2onnx
    pytorch_result[0][:, 4], onnx_results[:, 4]
TypeError: list indices must be integers or slices, not tuple

It seems like the error is in the final assert statement. I tried changing
pytorch_result[0][:, 4], onnx_results[:, 4]

to
pytorch_result[0][0][:, 4], onnx_results[:, 4]

but then got the following error
ValueError: operands could not be broadcast together with shapes (9,) (6,)

I tried visualizing the result since the conversion did technically work by adding the following to the end of the verify code
# only compare a part of result
bbox_results = bbox2result(det_bboxes, det_labels, 80)
onnx_results = bbox_results[0]
mmcv.imshow_bboxes(input_img, bbox_results)

but got the following garbage output

Environment

sys.platform: linux
Python: 3.7.7 (default, May  7 2020, 21:25:33) [GCC 7.3.0]
CUDA available: True
GPU 0,1: GeForce GTX 1080 Ti
CUDA_HOME: None
GCC: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
PyTorch: 1.6.0
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v1.5.0 (Git Hash e2ac1fac44c5078ca927cb9b90e1b3066a0b2ed0)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.2
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
  - CuDNN 7.6.5
  - Magma 2.5.2
  - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,

TorchVision: 0.7.0
OpenCV: 4.4.0
MMCV: 1.1.4
MMCV Compiler: GCC 7.3
MMCV CUDA Compiler: 10.2
MMDetection: 2.4.0+ced1c57

@RyanXLi Please have a check for that.

Hi! The assertion you mentioned does have a bug and it has been fixed in #3857 which is waiting to be merged. For your information, the line should be changed to pytorch_result[0][0][0][:4], onnx_results[0][:4].
Meanwhile, the model transformed to onnx is most likely to be correct. The image output seems wrong because the pytorch2onnx script resizes the image (to [800, 1216] by default) and the box results are based on this resized image. You will need to also resize the image when drawing bbox on it, and then it will seem visually correct.

Perfect, modifying the code exactly how you said fixed everything. Here is the image now that I've resized the image correctly (500, 500) showing top 4.

So for a bit of clarity, the assertion statement only checks if the location of the bounding box is numerically close but NOT the confidence values? Also even though you only currently support retinanet officially, would this technically work with any single-stage detector?
Lastly the output of the onnx converted model is (100, 5) detection bbox and (100,) labels. bbox2results basically converts this into a list of numpy arrays for the number of classes (in this case its 1, but in the full case it would be 80 for coco?)


PSK morph data is exported incorrectly for meshes with overlapping vertices

I had a report for this on my addon: https://github.com/DarklightGames/io_scene_psk_psa/issues/49
To sum it up, the person reporting the bug has a model exported out of FModel that has overlapping vertices which also has morph data.
The code that exports the morph data (https://github.com/FabianFG/CUE4Parse/blob/b35b843a1193d225df8583b664ef66854557a613/CUE4Parse-Conversion/Meshes/MeshExporter.cs#L456C9-L470) will only ever export morph data for 1 of the overlapping vertices because of the the FindVertex call:
var index = FindVertex(vertex.Position, share.Points);

I'm not too familiar with how this code is supposed to work, but it seems like, at least for LOD0, it should be possible to forego the FindVertex call and just use the SourceIdx as the vertex index for the morph datum.

the issue with this is that psk merges overlapping verts so the source index does not line up at all, there's no proper way to do this other than completely removing that part of the code, I'll look into it later but as far as I'm aware this is the only "hacky" way to remap the vertex indices properly

Are you sure that the PSK export merges overlapping vertices? 🤔 This doesn't appear to be the case, since the model that the person sent had many overlapping vertices.

it's possible the vertices for their mesh aren't perfectly overlapping (a tolerance could be added if that's the issue when comparing vertex positions) but it's done here
https://github.com/FabianFG/CUE4Parse/blob/master/CUE4Parse-Conversion/Meshes/PSK/CVertexShare.cs#L58


adding an attribute for the heatpump “Stage”

Hi, and thanks for this integration!  It’s working great with my new Carrier Heatpump system – much appreciated!
On my features wish list, please consider adding an attribute for the heatpump “Stage”, which is contained in the ODU values.  Also, it would be helpful to have an attribute that shows whether the heating source is the heatpump or gas furnace.  I’d be more than happy to help test these (or any other) features if you like.

I don't mind adding an attribute, but I need to understand the mapping.
if you download the disgnostics for the thermostat
in the json for status_raw, there is a mode field, mine says 'gasheat' would this provide the insight you are hoping for? otherwise the odu field looks like, which field did you want mapped?
"odu": {
"opmode": "off",
"opstat": "off",
"type": "ac2stgeverest"
},

Wonderful!  What I see for my "odu" field when cooling is:
{"type":["proteushp"],"opmode":["cooling"],"opstat":["Stage 1"]}
or
{"type":["proteushp"],"opmode":["cooling"],"opstat":["Stage 3"]}
So I think the most general approach would be to provide the value for "opstat".  It should probably be labeled as such, not specifically "Stage".
I'm still working on determining the exact field to use for the heating source....  How do you "download the diagnostics for the thermostat"?

looking at the device in the ha interface click the download link in screen shot.
adding opstat next, I'm guessing mode will tell you the source and i just released that attribute earlier tonight

1.15.0 should have the new status

Fantastic!  Thank you!
The "outdoor_unit_operational_status" is exactly what I was hoping for for the cooling "stage".
For the heating source, unfortunately "status_mode" doesn't change between gas and electric - it's always the value "hpheat".
However, I think the key is the "IDU", which I presume stands for "indoor_unit".  When my system is heating via the electric heat pump, IDU shows:
"idu": {
"cfm": 0,
"opstat": "off",
"type": "furnace2stg"
}
and when heating with gas as the source, it shows:
"idu": {
"cfm": 823,
"opstat": "low",
"type": "furnace2stg"
},
So I think the ideal solution would be to provide an "indoor_unit_operational_status" attribute, just like the outdoor unit one.  When I see that as anything other than "off", I know I'm heating with gas.  And I presume this will work and be useful for folks with other configurations as well (propane, etc.)
Thank you so much for these enhancements!  Do you have a "buy me a coffee" or similar link?

never had one before but I'll give it a try, https://www.buymeacoffee.com/dahlb :)

1.16.0 has the indoor status


problem with agnoster zsh theme in Hyper Terminal

Hi,
Recently, i installed hyper in my laptop under fedora 31, however i've a problem with agnoster theme.
Regarding fonts, I have installed the project’s recommendations. However, some fonts do not work under hyper and works into default terminal.
Any ideas ?
System : Fedora 31
Hyper version : 3.0.2

up

Screenshot?

Hyper terminal :
https://zupimages.net/up/19/49/1929.png
Default terminal :
https://zupimages.net/up/19/49/pb81.png

You may need to set fontFamily in .hyper.js

Like that :
Go Mono for Powerline
Monofur for Powerline
... ?
https://github.com/powerline/fonts
last time it didn’t work, despite my reload

I use Hack Nerd Font and it works well


Spelling correction in PR Template

No corresponding issue
Description
Spelling mistake corrected.

Nice catch, thanks for the fix!


CI for Node

Create a file to build Node.js workflow from Github actions

ok to continue

Initializes with two players

Sets the current player to be whoever it is not

Contains the compiled JavaScript

Contains the compiled JavaScript

Sets the current player to be whoever it is not

nextPlayer › Sets the current player to be whoever it is not


[Fix #11899] Fix an incorrect autocorrect for Style/SingleLineMethods

Fixes #11899.
This PR fixes an incorrect autocorrect for Style/SingleLineMethods when using Ruby 3.0 and Style/EndlessMethod is disabled.
This is an overlooked bug due to the lack of :ruby30 in the target test code.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Hmm, why isn't this change affecting the test cases?

It affects the following test case:
-  context 'when `Style/EndlessMethod` is disabled' do
+  context 'when `Style/EndlessMethod` is disabled', :ruby30 do

Endless method definition was introduced in Ruby 3.0 and the test was missing :ruby30.

Thanks!


Linux only support x86_64?

Hello! I found there is x86_64 in Linux, but don`t have ARM.
Can it support the ARM architecture for Linux?

Hey @Hoper-Q, thanks for the report.
I never saw ARM architecture for native plugins on Linux, what version of Unity are you using, Unity 6? I usually test stuff on Unity 2022. I'll check it out later.
But sure, adding support for ARM is an easy feat, just need to build the corresponding native library and setting it up in Unity.

Hey @Hoper-Q , even Unity 6 doesn't support Linux ARM, check out these docs: https://docs.unity3d.com/6000.0/Documentation/Manual/system-requirements.html
Also, I can't find ARM architecture on native plugins for Linux, even on the latest version, Unity 6000.0.28.

Therefore, I can't add support for ARM if Unity itself doesn't support it. I'll be closing this issue, whenever Unity starts supporting Linux ARM we can make it happen.


"Server error or API not found"

Hi,
I'm facing the issue described here: https://github.com/LycheeOrg/Lychee-Laravel/issues/52 . My Lychee-Laravel installation is located at https://apps.example.dev/lychee2
I tried the NGINX configuration, but it's still showing https://apps.example.dev/lychee2/public/php/index.php 404
My .env :
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:XogEILZHaorQcBhSoyMDOG/XINuTOSFPm3SYujSIToQ=
APP_DEBUG=true
APP_URL=https://apps.example.dev/lychee2/

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lychee2
DB_USERNAME=username
DB_PASSWORD='password'
DB_DROP_CLEAR_TABLES_ON_ROLLBACK=false

My apps.example.dev NGINX config:
server {

	root /var/www/example.dev/apps;

	# Add index.php to the list if you are using PHP
	index index.html index.php index.htm index.nginx-debian.html;

	server_name apps.example.dev;

	# serve static files directly
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
  access_log off;
  expires max;
  log_not_found off;
}

# removes trailing slashes (prevents SEO duplicate content issues)
if (!-d $request_filename)
{
  rewrite ^/(.+)/$ /$1 permanent;
}

# enforce NO www
if ($host ~* ^www\.(.*))
{
  set $host_without_www $1;
  rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
}

# unless the request is for a valid file (image, js, css, etc.), send to bootstrap
if (!-e $request_filename)
{
  rewrite ^/(.*)$ /index.php?/$1 last;
  break;
}

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

	# pass PHP scripts to FastCGI server
	#
	location ~ [^/]\.php(/|$) {
	    fastcgi_split_path_info ^(.+\.php)(/.+)$;
	    try_files $fastcgi_script_name =404;
	    set $path_info $fastcgi_path_info;
	    fastcgi_param PATH_INFO $path_info;
	    fastcgi_index index.php;
	    include fastcgi.conf;
	    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
	}

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/apps.example.dev/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/apps.example.dev/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

related : https://github.com/LycheeOrg/Lychee-Laravel/issues/349 ?


Improve focus of test coverage reporting

Note: This PR builds upon https://github.com/cfpb/design-system-react/pull/206, so will wait until those changes are merged before moving forward with revew.
Closes #290
Tests that imported components from the main DSR export (src/index.ts) caused the coverage report to include info on all of the components in DSR.
This PR imports components directly from their implementation files, allowing devs to focus on the test coverage of only the elements involved in the tests being run.
Changes

Imports components directly from their implementation files in:

Alert
Grid
Heading
Hero
useIconSvg
LabelLink
Pagination
Table
TextInput
TextIntroduction
Well

How to test this PR

yarn test divider
Observe that no components, other than Divider, are reported on
yarn test
Observe that the files included in the coverage report are restricted to elements from DSR

Merge conflicts have been resolved. Ready for review.


"Network error" when trying FreshRSS

FreshRSS 1.18.0 (latest) at https://news.timotijhof.net/. I've enabled the "Allow API access" option.
NewNetWire for Mac 6.0.2 (6032).

Based on https://github.com/Ranchero-Software/NetNewsWire/issues/3055, I figured out that the API url is meant to be https://news.timotijhof.net/api/greader.php. This endpoint returns 200 OK when I try it directly so it seems to be exposed correctly.
However, entering it in NNW says "Network error. Try again later."
I also tried adding ? and ?api to the URL, and without https:// (based on https://github.com/Ranchero-Software/NetNewsWire/issues/2930), but none of those combinations seem to work either.
Ref https://github.com/Ranchero-Software/NetNewsWire/issues/2930.
Ref https://github.com/Ranchero-Software/NetNewsWire/issues/2886.

My bad. In FreshRSS, under "Settings > Logs" I found an entry Password API mismatch for …, which suggests there may be a different password for the API than for the web form.
Under "Admin > Manager users" there is only a single password field to be set. The API password can be set under "Config > Profile" instead, which is required to be done before one can use the API.
After that, all good!

Perhaps it is worth clarifying in the interface that one must enter an "API password" (as opposed to the regular password, which they label "Web-form password").

Thank you for documenting this! I got stuck by it too; I created a feature request ^ for FreshRSS to make this more obvious.


user data crawling opens two windows, unable to control correct user browser

I've just tested the latest main branch functionality on Windows 11 or Ubuntu and encountered an issue. Here’s the test code I used:
python
async def main():
    async with AsyncWebCrawler(
            headless=False,  # Set to False to see what is happening
            use_managed_browser=True,
            browser_type="chromium",
    ) as crawler:
        result = await crawler.arun(
            url="https://www.youtube.com/",
            magic=True
        )
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())

When running this code, two browser windows open up: one displays Chrome's login screen, and the other loads the URL I specified. All subsequent operations happen in the second browser window, but closing it also causes the first browser window to close. This suggests that the two windows are instances of the same browser. However, when I add user data as follows:
python
async with AsyncWebCrawler(
        headless=False,
        use_managed_browser=True,
        user_data_dir=r"C:\Users\BZBY\AppData\Local\Google\Chrome\User Data",
        browser_type="chromium",
) as crawler:

The issue becomes apparent. The first window is my real browser instance, but the second window lacks my user data—it only has bookmark information and doesn’t display the user profile icon in the top right corner of Chrome. This means that the second window cannot access sites I’m already logged into, so I have to log in again.
Ideally, I should be able to open a browser with my actual user profile or use a command like:

bash
start chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\Users\BZBY\AppData\Local\Google\Chrome\User Data"

This command allows me to open a browser that I can access directly using playwright.chromium.connect_over_cdp(cdp_url) to interact with my existing open browser instance.

I'm also facing something similar. After I login to an application within the on_browser_created hook. Crawler opens a different window but it seems to miss the browser context and is unable to crawl internal page and shows the login page again. While it works on trying to open multiple pages on the same context after logging in one of the page within on_browser_created. Does this work for you in case you tried? Thanks.

I'm also facing something similar. After I login to an application within the on_browser_created hook. Crawler opens a different window but it seems to miss the browser context and is unable to crawl internal page and shows the login page again. While it works on trying to open multiple pages on the same context after logging in one of the page within on_browser_created. Does this work for you in case you tried? Thanks.我也面临着类似的事情。在我登录到 on_browser_created 钩子中的应用程序后。爬网程序会打开一个不同的窗口，但它似乎错过了浏览器上下文，无法爬取内部页面，并再次显示登录页面。虽然它可以在登录 on_browser_created 中的一个页面后尝试在同一上下文中打开多个页面。如果您尝试过，这对您有用吗？谢谢。

async with AsyncWebCrawler(
    headless=False,  # Set to False to see what is happening
    use_managed_browser=True,
    browser_type="chromium",
) as crawler:
    result = await crawler.arun(
        url="https://www.youtube.com/",  # -> breakpoint
    ...

I placed a breakpoint here, and it opened only one browser window. After logging in and resuming execution, it successfully scraped the content displayed after logging in. This is a potential solution.

I'm also facing something similar. After I login to an application within the on_browser_created hook. Crawler opens a different window but it seems to miss the browser context and is unable to crawl internal page and shows the login page again. While it works on trying to open multiple pages on the same context after logging in one of the page within on_browser_created. Does this work for you in case you tried? Thanks.我也面临着类似的事情。在我登录到 on_browser_created 钩子中的应用程序后。爬网程序会打开一个不同的窗口，但它似乎错过了浏览器上下文，无法爬取内部页面，并再次显示登录页面。虽然它可以在登录 on_browser_created 中的一个页面后尝试在同一上下文中打开多个页面。如果您尝试过，这对您有用吗？谢谢。

async with AsyncWebCrawler(
    headless=False,  # Set to False to see what is happening
    use_managed_browser=True,
    browser_type="chromium",
) as crawler:
    result = await crawler.arun(
        url="https://www.youtube.com/",  # -> breakpoint
    ...

I placed a breakpoint here, and it opened only one browser window. After logging in and resuming execution, it successfully scraped the content displayed after logging in. This is a potential solution.

I think this is a different issue regarding hooks and authentication. However, I am also currently facing the exact issue with @mukulchaudhary. There are no means to grab on_browser_created's session_id (which is the current method of maintaining sessions while navigating).
The documentation stated to use the on_browser_created' hook [to log in a website requiring authentication](https://crawl4ai.com/mkdocs/advanced/hooks-auth/#:~:text=Additional%20Ideas,set%20authentication%20tokens.). However, a new browser context after an AsyncWebCrawler().arun()` kind of defeats the purpose of using said hook since I can't use the authenticated browser.
Image shows two browser contexts after following the documentation's Hooks & Auth for AsyncWebCrawler with Google Sign in. The authenticated browser was ignored, and a new browser requiring another login shows.

Is this the expected behavior when using on_browser_created hooks or is this a bug? Using a breakpoint didn't work in my case.

I'm also facing something similar. After I login to an application within the on_browser_created hook. Crawler opens a different window but it seems to miss the browser context and is unable to crawl internal page and shows the login page again. While it works on trying to open multiple pages on the same context after logging in one of the page within on_browser_created. Does this work for you in case you tried? Thanks.我也面临着类似的事情。在我登录到 on_browser_created 钩子中的应用程序后。爬网程序会打开一个不同的窗口，但它似乎错过了浏览器上下文，无法爬取内部页面，并再次显示登录页面。虽然它可以在登录 on_browser_created 中的一个页面后尝试在同一上下文中打开多个页面。如果您尝试过，这对您有用吗？谢谢。

async with AsyncWebCrawler(
    headless=False,  # Set to False to see what is happening
    use_managed_browser=True,
    browser_type="chromium",
) as crawler:
    result = await crawler.arun(
        url="https://www.youtube.com/",  # -> breakpoint
    ...

I placed a breakpoint here, and it opened only one browser window. After logging in and resuming execution, it successfully scraped the content displayed after logging in. This is a potential solution.

I think this is a different issue regarding hooks and authentication. However, I am also currently facing the exact issue with @mukulchaudhary. There are no means to grab on_browser_created's session_id (which is the current method of maintaining sessions while navigating).
The documentation stated to use the on_browser_created hook to log in a website requiring authentication. However, a new browser context after an AsyncWebCrawler().arun() kind of defeats the purpose of using said hook since I can't use the authenticated browser.
Image shows two browser contexts after following the documentation's Hooks & Auth for AsyncWebCrawler with Google Sign in. The authenticated browser was ignored, and a new browser requiring another login shows.

Is this the expected behavior when using on_browser_created hooks or is this a bug? Using a breakpoint didn't work in my case.

Exactly. That's what is missing.

@unclecode Please share your views/guidance on this when you get time. Thanks .

@unclecode Please share your views/guidance on this when you get time. Thanks .如果您有时间，请分享您对此的看法/指导。谢谢。

The new version seems to have resolved this issue. Please try installing the latest version from the main branch to see if the problem persists.

@unclecode Please share your views/guidance on this when you get time. Thanks .如果您有时间，请分享您对此的看法/指导。谢谢。

The new version seems to have resolved this issue. Please try installing the latest version from the main branch to see if the problem persists.

The issue's still there -- documentation states that I can put my session_id as parameter for AsyncPlayWrightCrawlerStrategy. Planning to use said id to use the authenticated browser. However, I cannot for the life of me see it in the code.

Closest I can see here is sessions, which I know can't be added a session_id

Hello everybody, I am here :)) let me go through this in detail.
First of all, @pttodv , there's no session ID. Instead, you pass the session ID to the crawl() function. Then, we use the sessions dictionary to maintain them in memory. So, there's nothing over there; you're searching in the wrong place.
@BZBY  Regarding the manage browser setting, I recorded this video to make it more clear. First, make sure to set the bypass_cache to true in the crawl function, as not doing so will prevent the browser from opening, instead reading from the cache and only creating an instance of the browser.
https://github.com/user-attachments/assets/b19d75d8-6a16-4b30-9c14-446af42259f6
I will show two different cases: when passing a user data directory and when not.
How I created the folder?
I created the user data directory by first creating an empty folder, then opening Chrome in Terminal on a specific port and setting this user data directory. (passing --remote-debugging-port=9222 --user-data-dir="ADDRESS"). after running the command, a new browser popped up. I signed into my Google account, checked the YouTube website and other sites where I wanted to ensure I had my personal data. Then I shut down and closed the browsers; all the data was now in the directory
1/ With user data directory: In the first part of the video, I pass this folder and attempt to access the YouTube website, which opens perfectly. It logs in to YouTube with my account and extracts the data.
2/ Without user data directory: In the video's second part, I do this without passing the user data directory. You'll see it's a fresh account that doesn't show my personal youtube data. Although I can put a breakpoint or use a hook to wait, then return to the browser, log in, and perform actions before letting the crawl continue. Anyway in this scenario, a new user directory is created and all data is there.
I prefer the first option as it allows me to create multiple profiles for multiple purposes.
Now let me know if this helps. I don't face the issue of multiple browsers opening at the same time.

@unclecode is there a way to keep same browser instance between hooks and AsyncWebCrawler().arun() ?

It doesn't seem to work atleast in my case where I perform login actions in the on browser created hook, set the hook on AsyncPlaywrightCrawlerStrategy and use the strategy on AsyncWebCrawler to crawl an internal page as per the documentation. It takes me to the logoin page only. @unclecode Please provide an example when you can.

It doesn't seem to work atleast in my case where I perform login actions in the on browser created hook, set the hook on AsyncPlaywrightCrawlerStrategy and use the strategy on AsyncWebCrawler to crawl an internal page as per the documentation. It takes me to the logoin page only. @unclecode Please provide an example when you can.

To add, I used crawl() to get the session_id like @unclecode said, and while it indeed allowed me to reuse a browser instance for AsyncWebCrawler use, the browser that was opened on on_browser_created() still won't let me use it.
Is there a way to use the browser instance opened during on_browser_created()'s execution? Here's the code I am using.
import asyncio
from crawl4ai import AsyncWebCrawler
from crawl4ai.async_crawler_strategy import AsyncPlaywrightCrawlerStrategy
from playwright.async_api import Page, Browser

async def main():
    async def on_browser_created(browser: Browser):
        print("[HOOK] on_browser_created")
        # Example customization: set browser viewport size
        context = await browser.new_context(viewport={'width': 1920, 'height': 1080})
        page = await context.new_page()

        # Example customization: logging in to a hypothetical website
        await page.goto('https://google.com/')

        #Commented out the code below since I only wanted to know if the browser instance above is used for the next part of the code.
        #await page.fill('input[name="username"]', 'testuser')
        #await page.fill('input[name="password"]', 'password123')
        #await page.click('button[type="submit"]')
        #await page.wait_for_selector('#welcome')

        # Add a custom cookie
        await context.add_cookies([{'name': 'test_cookie', 'value': 'cookie_value', 'url': 'https://example.com'}])

        print("\n🔗 Using Crawler Hooks: Let's see how we can customize the AsyncWebCrawler using hooks!")

        # Close the browser. Also tried commenting these out in hopes of the browser instance persisting
        await page.close()
        await context.close()

    crawler_strategy = AsyncPlaywrightCrawlerStrategy(headless=False, verbose=True)
    crawler_strategy.set_hook('on_browser_created', on_browser_created)

    async with AsyncWebCrawler(headless=False, verbose=False, crawler_strategy=crawler_strategy, use_managed_browser=True) as crawler:
        await crawler_strategy.crawl('https://facebook.com', session_id="Test")
        print("Wew", crawler.crawler_strategy.sessions)
        result = await crawler.arun(
            url="https://example.com",
            bypass_cache=True,
            session_id="Test",
            js_code="document.elementFromPoint(window.innerWidth / 2, window.innerHeight / 2).click();",
            delay_before_return_html=2.0
        )
        result1 = await crawler.arun(
            url="https://www.iana.org/domains",
            bypass_cache=True,
            session_id="Test",
            js_code="document.elementFromPoint(window.innerWidth / 2, window.innerHeight / 2).click();",
            delay_before_return_html=2.0
        )
asyncio.run(main())

I use Claude generate some code, and they worked for me,  maybe can provide some help:
def create_browser_hook(strategy: AsyncPlaywrightCrawlerStrategy):
    async def on_browser_created(browser: Browser):
        print("[HOOK] on_browser_created")
        session_id = "session_0"

        with open('cookies.json') as f:
            cookies = json.load(f)

        context = await browser.new_context(
            viewport={'width': 1920, 'height': 1080}
        )

        await context.add_cookies(cookies)

        page = await context.new_page()

        strategy.sessions[session_id] = (context, page, time.time())

        # await page.close()
        # await context.close()

    return on_browser_created

async def add_cookies_and_crawl():
    print("\n🔗 Using Crawler Hooks: Let's see how we can customize the AsyncWebCrawler using hooks!")

    crawler_strategy = AsyncPlaywrightCrawlerStrategy(verbose=True, headless=False)
    hook = create_browser_hook(crawler_strategy)
    crawler_strategy.set_hook('on_browser_created', hook)

    async with AsyncWebCrawler(
            verbose=True,
            crawler_strategy=crawler_strategy,
            use_manual_browser=True,
            browser_type="chromium",
            sleep_on_close= True,
            # user_data_dir= "./user_data_dir"
    ) as crawler:
        result = await crawler.arun(
            url="https://www.google.com",
            bypass_cache=True,
            # js_code=js_code,
            magic=True,
            session_id="session_0",
        )

        print(result.markdown)

asyncio.run(add_cookies_and_crawl())

@pttodv Sorry for my delay in response. I've been very busy preparing 0.3.74. I'm trying to repeat your situation here, but I still wasn't successful. Could you try the new version? In the new version, use managed_browser and pass a user_data_dir.
Session ID: when you don't pass any session_id to your arun function, set the headless option to false, you will see that it creates two tabs in the same browser. However when you pass the same session ID, it's basically using the same tab and preserving that one. But in none of these cases should you have two browsers.
And remember, if you don't pass any user directory (user profile directory), it will open one browser and one pop-up window asking you to choose your profile. If you click on a different profile, you may get two browsers. I don't know if this is the case you're facing or not. Please try and let me know.


tests/net/trickle failed on frdm_k64f and sam_e70_xplained with v1.14 branch.

Describe the bug
Running tests/net/trickle on frdm_k64f and sam_e70_xplained with v1.14-branch, it will failed occasionally
To Reproduce
Steps to reproduce the behavior:

west build -b frdm_k64f -p auto  tests/net/trickle
west flash
See error

Screenshots or console output
***** Booting Zephyr OS zephyr-v1.14.1-49-gff6829261918 *****
Running test suite test_tickle
starting test - test_init
PASS - test_init
starting test - test_trickle_create
PASS - test_trickle_create
starting test - test_trickle_start
PASS - test_trickle_start
starting test - test_trickle_1_status
PASS - test_trickle_1_status
starting test - test_trickle_2_status
PASS - test_trickle_2_status
starting test - test_trickle_1_wait
[00:00:00.000,000]  net_if: You have 1 IPv4 net_if addresses but 2 network                                                                                interfaces
[00:00:00.000,000]  net_if: Consider increasing CONFIG_Trickle 1 0x20000c40                                                                                callback called
PASS - test_trickle_1_wait
starting test - test_trickle_2_wait
NET_IF_MAX_IPV4_COUNT value.
[00:00:00.000,000]  net_if: You have 1 IPv6 net_if addresses but 2 network                                                                                interfaces
[00:00:00.000,000]  net_if: Consider increasing CONFIG_NET_IF_MAX_IPV6_COUN                                                                                T value.
Trickle 1 0x20000c40 callback called
**Assertion failed at  zephyr-branch-1.14-github/zephyr/tests/net/trickle/src/main.c:171: test_trickle_2_wait: (cb_2_called is false)**

Trickle 2 no timeout
Trickle 2 0x20000c80 callback called
FAIL - test_trickle_2_wait
starting test - test_trickle_1_update
PASS - test_trickle_1_update
starting test - test_trickle_2_inc
PASS - test_trickle_2_inc
starting test - test_trickle_1_status
PASS - test_trickle_1_status
starting test - test_trickle_1_wait_long
SKIP - test_trickle_1_wait_long
starting test - test_trickle_stop
PASS - test_trickle_stop
starting test - test_trickle_1_stopped
PASS - test_trickle_1_stopped
Test suite test_tickle failed.
PROJECT EXECUTION FAILED
Environment (please complete the following information):

OS: Fedora28
Toolchain: Zephyr-sdk-0.10.3
Commit ID: ff682926

@jukkar  can you take a look at that one?

Already fixed in 2.0 by #18625
I will backport the fix to 1.14

Already fixed by https://github.com/zephyrproject-rtos/zephyr/pull/24370


Implementation to allow saving authentication data in MySql + multiple sessions

It's simple to use
const { state, saveCreds, removeCreds } = await useMySQLAuthState({
    session: 'session-1',
    host: 'localhost',
    user: 'root',
    password: 'Password123#',
    database: 'baileys'
})

CREATE TABLE `auth` (
	`session` varchar(50) NOT NULL,
	`id` varchar(100) NOT NULL,
	`value` json DEFAULT NULL,
	UNIQUE KEY `idxunique` (`session`,`id`),
	KEY `idxsession` (`session`),
	KEY `idxid` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

@FortisEtMagnus Is possible using prisma.io? because prisma.io have multi database provider.
Thank you...

In my opinion, this feature should not be the responsibility of Baileys; it should belong to whoever is consuming it. Because each application that uses Baileys can use a different database. If you don't use an ORM, you will only increase complexity; it's more code inside the lib.
Because they are basically duplicating the code and adapting

I agree...
This or any database implementation don't necessary.

I think we should create a package for each database to integrate baileys. For example @WhiskeySockets/Baileys/mysql or @WhiskeySockets/Baileys/mongo

Sorry but the idea of Baileys is to provide a non opinionated library. You are more then welcome to publish this as a separate package as others have suggested. Anyways thanks for your contributions anyways!


feat: add namespace targetting -- ModRules in kubemod-system can now

target any namespace
https://github.com/kubemod/kubemod/issues/51

pushin early to see if im on right track -- never used this workflow / unsure of any codegen stuffs -- adding tests after dinner

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@396efe4). Click here to learn what that means.
The diff coverage is 66.66%.

@@            Coverage Diff            @@
##             master      #60   +/-   ##
=========================================
  Coverage          ?   76.33%
=========================================
  Files             ?        8
  Lines             ?      393
  Branches          ?        0
=========================================
  Hits              ?      300
  Misses            ?       64
  Partials          ?       29

Impacted Files
Coverage Δ

core/modrulestore.go
79.10% <62.50%> (ø)

core/modrulestoreitem.go
82.00% <69.23%> (ø)

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 396efe4...26b2b82. Read the comment docs.

Thank you @jamiecore!


Allow user to specify sensitive executables that doe not support Ctrl+V.

Some application does not support paste via the Ctrl+V shortcut, preventing Beeftext from working properly (see issue #96 for more detailed explanations).
Beeftext currently has a list of executable file name for which combo substitution should not be performed by Ctrl+V, but by typing each snippet character one after another.
This list is currently hard-coded, but should be made editable by the user.

Fixed by 780ab80.


Is there support for Set or at least NSSet in Bond 4?

if no support currently available, what would you suggest as a workaround?
CoreData uses NSSet and NSOrderedSet, how do we interact with these if there is no ObservableSet?
One idea (don't know about performance) would be to create an ObservablArray from the set's contents and interact with that instead of the set itself! ??
Any ideas?
Thank you and ever grateful for this superb framework!!
Juan Dent

Yes, ObservableSet and ObservableDictionary might be interesting features. I had something like this in mind with Bond 4 but didn't have enough time to implement it. I'll put it in the ToDo list.
Regarding CoreData, I'm not sure what kind of integration do you have in mind? You could use KVO to bridge scalar values to Bond. Sets would not work. Only way would be to convert them manually to ObservableArrays. Having less than a 100, maybe even 1000, objects in a Set would probably not impact performance in a significant way. CoreData (and even Realm) integration might be another ToDo item.
class Person: NSManagedObject {
  @NSManaged var name: String
}

extension Person {
  class ObservablePerson {
    let name: Observable<String>

    init(person: Person) {
      name = Observable(object: person, keyPath: "name")
    }
  }

  func observableVariant() -> Person.ObservablePerson {
    return ObservablePerson(person: self)
  }
}

let p = Person(...).observableVariant()
p.name.bindTo(nameLabel)

Hi!
O tried this idea but it does not compile
Let name : observable.
Cannot be initialized with

name = Observable(object: person, keyPath: "name")

??
Regards
Juan dent
Sent from my iPhone

On Sep 23, 2015, at 8:39 AM, Srđan Rašić<EMAIL_ADDRESS>wrote:
Yes, ObservableSet and ObservableDictionary might be interesting features. I had something like this in mind with Bond 4 but didn't have enough time to implement it. I'll put it in the ToDo list.
Regarding CoreData, I'm not sure what kind of integration do you have in mind? You could use KVO to bridge scalar values to Bond. Sets would not work. Only way would be to convert them manually to ObservableArrays. Having less than a 100, maybe even 1000, objects in a Set would probably not impact performance in a significant way. CoreData (and even Realm) integration might be another ToDo item.
class Person: NSManagedObject {
@NSManaged var name: String
}
extension Person {
class ObservablePerson {
let name: Observable
init(person: Person) {
  name = Observable(object: person, keyPath: "name")
}

}
func observableVariant() -> Person.ObservablePerson {
return ObservablePerson(person: self)
}
}
let p = Person(...).observableVariant()
p.name.bindTo(nameLabel)
—
Reply to this email directly or view it on GitHub.

Do you have these two imports?
import Bond
import CoreData

It compiles fine for me...

Yes now it works!!
Thanks!
Juan

On Sep 27, 2015, at 8:13 AM, Srđan Rašić<EMAIL_ADDRESS>wrote:
Do you have these two imports?
import Bond
import CoreData
It compiles fine for me...
—
Reply to this email directly or view it on GitHub https://github.com/SwiftBond/Bond/issues/153#issuecomment-143560913.

This will not be part of Bond, but of its successor. See #200.


feat(tutorial): complete step 1 [jdharvey-ibm, endicott branch]

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

@jdharvey-ibm looks super-kalafragilistic!  I've recorded your completion of step 1.


Update 4 Commit

Merged changes to Chef Stand Alone Terraform deployment from https://github.com/exospheredata/veeam_terraform to support Update 4. Now deploys Update 4 by default

Approved


Bump base package

What does this PR do?

This PR applies the fix from https://github.com/DataDog/integrations-core/pull/10698, which was added in base package 23.3.2.
Motivation

QA
Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Closing for now since the included base check version for 7.33.x is 23.7.2, so no shipped version of the Agent that includes WindowsPerformanceCounters will have anything lower in the first place.


Add a LICENSE file

I know that jspicl has an MIT license, but you should also add a LICENSE file, to the repository, to have it "light up" in the GitHub UI
https://help.github.com/articles/adding-a-license-to-a-repository/

❤


FIX: Improve optimization of "auto" cHPI time window

Reference issue
None
What does this implement/fix?
Optimizes window length for cHPI amplitude estimation by accounting for the line frequency and its harmonics. The change primarily helps separate higher HPI coil frequencies from nearby line harmonics, but it should also improve robustness for more standard HPI frequencies (e.g. 83 Hz).

on macOS I use https://yousseb.github.io/meld/ and probably followed https://stackoverflow.com/questions/43317697/setting-up-and-using-meld-as-your-git-difftool-and-mergetool-on-a-mac#answer-43868889 to set it up

Thanks @NeuroLaunch !