pureFunc does unnecessary allocation

pureFunc, and thereby whnf and nf, is currently allocating memory it shouldn't be.
https://github.com/bos/criterion/blob/f782086c79f753b249018b3b34e31dc142b9de4d/Criterion/Types.hs#L316-L333
Following the discussion and techniques in this reddit thread, and in particular this comment, we can see that currently a thunk is allocated for values that will never be used.
Here's a demonstration
module Main where
import Criterion.Main

main :: IO ()
main = defaultMain
  [ bench "fast" $ whnf id [(1 :: Int)..100000] ]

-----------------------------------------------------------

benchmarking fast
time                 9.024 ns   (8.954 ns .. 9.100 ns)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 8.996 ns   (8.951 ns .. 9.060 ns)
std dev              181.4 ps   (137.9 ps .. 246.4 ps)
variance introduced by outliers: 31% (moderately inflated)

17,616,724,272 bytes allocated in the heap
    52,372,744 bytes copied during GC
       720,256 bytes maximum residency (1239 sample(s))
        61,680 bytes maximum slop
             6 MB total memory in use (0 MB lost due to fragmentation)

If we modify the otherwise case in pureFunc, we can create a version that does not allocate extra (at least on my computer using 8.2.1).
| otherwise = let !y = reduce (f x)
              in evaluate y >> go f x (n-1)

Which produces
benchmarking fast
time                 6.010 ns   (5.923 ns .. 6.129 ns)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 6.129 ns   (6.041 ns .. 6.238 ns)
std dev              331.1 ps   (278.9 ps .. 377.7 ps)
variance introduced by outliers: 77% (severely inflated)

92,983,968 bytes allocated in the heap
54,215,432 bytes copied during GC
   714,472 bytes maximum residency (1271 sample(s))
    60,192 bytes maximum slop
         6 MB total memory in use (0 MB lost due to fragmentation)

The allocation savings are quite something (and garbage collection is the next issue after this :P). More importantly though, we have removed 3 ns of overhead from the core loop.
Unfortunately, this function is quite volatile; the smallest source change drastically changes its performance. Finding the correct implementation is difficult. As I see it, it has to conform to the following rules:

[ ] Apply f to x on every iteration
[ ] Do not allocate the result of f x
[ ] Eliminate the id from whnf
[ ] *Possibly inline rnf in nf
[ ] Maintain all of these regardless of optimization from the user

From a few small tests, it would seem the current implementation is only failing on the allocation front.
I've written 3 or 4 versions that all seem to work, but I'm not really sure how to choose one with any sort of confidence.

I'll add one more item to that checklist:

[ ] Should not be broken by -fstatic-argument-transformation

I write "should" and not "must" since criterion doesn't actually conform to this rule at the moment (https://github.com/bos/criterion/issues/138). So if you find a solution that doesn't check off this item, don't worry too much about it.


0.2.6 Error - Error Extracting app.asar

Hi there,
After downloading 0.2.6 and trying to install I get the following dialogue:
Killing Discord
Deleting old cached files
Deleting temp path
Downloading Resource: BetterDiscord.zip
Extracting BetterDiscord
Deleting C:\Users\Dale\AppData\Local\Discord\app-0.0.283\resources\app
Deleting C:\Users\Dale\AppData\Local\Discord\app-0.0.283\resources\node_modules\BetterDiscord
Moving BetterDiscord to resources\node_modules
Extracting app.asar
Error Extracting app.asar: Newtonsoft.Json.dll might not be present in the Installer Folder. Installation cannot Continue.
Finished installing BetterDiscord with 1 errors
Within the BD 0.2.6 folder there definitely is the Newtonsoft.Json.dll it mentions.
Please help

Ok, nevermind, after Discord updated itself BD installed perfectly.


browser.close() fails due to timeout and never returns

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.3.9
Platform / OS version: Windows 10
Node.js version:

What steps will reproduce the problem?
Even just opening a browser with puppeteer.launch and then closing it with browser.close() results in this issue.
What is the expected result?
The browser process should close when I call browser.close()
What happens instead?
The promise times out and the browser fails to close

We run browser.close() at least a few dozen times daily - both personally and on CI - and never had this issue. Most likely it has to do with your setup / environment.
The issue description is way too general; there's no way we can help. Please re-file with a good reproduction steps.

so
here are reproduction steps:
docker - with puppeteer:
^1.13.0
Dockerflle:
FROM node:8.9.3
RUN  apt-get update
# See https://crbug.com/795759
&& apt-get install -yq libgconf-2-4
# Install latest chrome dev package, which installs the necessary libs to
# make the bundled version of Chromium that Puppeteer installs work.
&& apt-get install -y wget --no-install-recommends
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
&& apt-get update
&& apt-get install -y google-chrome-unstable --no-install-recommends
&& rm -rf /var/lib/apt/lists/*
&& wget --quiet https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /usr/sbin/wait-for-it.sh
&& chmod +x /usr/sbin/wait-for-it.sh
Create app directory
WORKDIR /usr/src/app
ADD . /usr/src/app
RUN mv .env.prod .env
COPY .npmrc .npmrc
Install app dependencies
A wildcard is used to ensure both package.json AND package-lock.json are copied
where available (npm@5+)
COPY package*.json ./
RUN npm install
RUN rm -f .npmrc
RUN npm run-script build
If you are building your code for production
RUN npm install --only=production
Bundle app source
COPY . .
EXPOSE 4300
CMD [ "npm", "run-script", "serve" ]
starting puppeteer:
const browser = await puppeteer.launch({headless: true, args: ["--no-sandbox"]});
this promise never resolves:
await browser.close();


Fix RPC error

Related issue: https://github.com/1Password/shell-plugins/issues/90
Why
The Cache and CommandLine field were left nil in the provision output response. This caused panics for both plugins using Cache and plugins using additional command flags.
Actually, the desired response of the RPC call should be the ProvisionOutput exactly as it was passed down from OP (as @Marton6 noted), but for a certain reason the fields of the pointer argument (output) of the call were nullified. (were brought to their zero values).
What
this MR:

adds a ProvisionOutput field to the ProvisionCredentialRequest., and uses it as response of the RPC call
adds functionality for catching a panic from a locally built plugin and outputting it before the OP panic is reached, so that the OP panic doesn't mask the true cause of the problem.

Let's also tackle DeprovisionOutput within this MR, shall we?

Let's also tackle DeprovisionOutput within this MR, shall we?

Yes, same for Import().

Let's also tackle DeprovisionOutput within this MR, shall we?

Yes, same for ImportOutput.

Done!

Changed the base branch to protocol-v3.

I'm also going to rebase this branch onto protocol-v3. The current diff is a mess.

For reference, Horia and I functionally tested this for both mysql and aws plugins.


background color in jspdf.js

Hi
I have a problem when generating pdf using jspdf, it showing background color black.
Thanks
Nitin

Do you have any example code?

var canvas = $("#mynetwork canvas").get();
var ctx=canvas[0].getContext("2d");
ctx.fillStyle = '#ffffff'; // or whatever color
var imgData1 = canvas[0].toDataURL('image/jpeg');
var doc = new jsPDF();
doc.addImage(imgData, 'JPEG', 15, 60, 180, 160);
doc.output('dataurlnewwindow');

Can anyone verify the above code.

Try:
html{
    background: #fff !important;
}

Can confirm that setting a background colour on the html element fixed a problem with black backgrounds. Perhaps we can close this issue?

@reidark - Tried your fix. Setting the background color on the html element does not work. The image in the PDF still has a black background. I am using the JPEG type:
canvas.toDataURL("image/jpeg", 1.0)

Hi，The problem still exists，who has a solution?
My code like this：
var doc = new jsPDF("p", "mm", "a4");
doc.addImage(canvas.toDataURL("image/jpeg",1), 'JPEG', 10, 10, 190, 277);
doc.output('dataurlnewwindow');

İf you are converting html to canvas after adding to pdf you have to be careful. converted html has to appear at screen. Black background is unseen part of canvas while creating pdf.(Html to canvas is like  screenshoot of  monitor)

Thank you, I have found the problem and fixed it.

在 2017年9月25日，15:46，isabas<EMAIL_ADDRESS>写道：
İf you are converting html to canvas after adding to pdf you have to be careful. converted html has to appear at screen. Black background is unseen part of canvas while creating pdf.(Html to canvas is like screenshoot of monitor)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/MrRio/jsPDF/issues/508#issuecomment-331802595, or mute the thread https://github.com/notifications/unsubscribe-auth/AEE18WMyeVOSAYZExSm-wBowTY2lPu_Zks5sl1pGgaJpZM4Ek5il.

请问是怎么解决的，我也遇到了同样的问题 @Karl-Xu

就是因为你的canvas截图缩放后和pdf页（假设是A4页）的高度不一样，不能完全覆盖。源码是没有找到在哪改，那么只能用蠢办法，就是计算一下未覆盖区域，然后再画一个白底矩形上去。

On Dec 1, 2017, at 11:12, Shirly Chan<EMAIL_ADDRESS>wrote:
请问是怎么解决的，我也遇到了同样的问题 @Karl-Xu https://github.com/karl-xu
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/MrRio/jsPDF/issues/508#issuecomment-348389780, or mute the thread https://github.com/notifications/unsubscribe-auth/AEE18URDavMmKWl_JGJxanEJ1leV4TL6ks5s726XgaJpZM4Ek5il.

get√，谢谢~ @Karl-Xu

for me converting using PNG instead of JPEG solve the problem


Using Az resource list to select web apps returns duplicates

Describe the bug
Running az resource list will return duplicate results for web apps, and Azure SQL resources. Tried filtering results by name, and found that it returned results with the same ID.
Command Name
az resource list
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

use azd init
deploy csharp-todo-sql
then run

az resource list -g {} --query "[? tags.\`"azd-service-name\`" == 'web' ].name"

Actual Behavior
Two web apps are returned
[
  "app-web-i4ugtihr2mwwm",
  "app-web-i4ugtihr2mwwm"
]

Expected Behavior
Single web app is returned
Environment Summary
Windows-10-10.0.22621-SP0
Python 3.10.8
Installer: MSI

azure-cli 2.44.1

Additional Context

@zhoxing-ms for awareness

this may be an azd specific issue

I just created a key vault with az keyvault create --location $Location --name $keyVaultName -g $resourceGroupName and I see the same issue. When i run the query az resource list -g $resourceGroupName --query "[? name=='$keyVaultName'].name"
This does not appear to be limited to azd deployments.
Actual Behavior
[
  "kv-ops-randomName",
  "kv-ops-randomName"
]

Expected Behavior
[
  "kv-ops-randomName"
]

Additional context
Used the Azure Portal to confirm there is only one KV with this name.

The following scenario returns 1 row as expected
az resource list -g $resourceGroupName --query "[? name=='$keyVaultName'].name | [0]"


"atomic" type needs registries.d config

Use case: As an unauthenticated user I am able to pull images from Openshift-based Atomic Registry. We cannot depend on ~/.kube/config current context since the user may not be authenticated. Therefore we have no reference for getting the OpenShift API endpoint.
atomic:
 registry.example.com:
  sigstore: api.example.com:8443

What about something like 'atomic trust add-registry --integrated true --sigstore api.example.com registry.example.com'?  For a lookaside it could be 'atomic trust add-registry --integrated false --sigstore http://sigstore.example.com registry.example.com'.

Sure, supporting non-default clusters would be great. How do we get an API token without ~/.kube/config though?

How do we get an API token without ~/.kube/config though?

If you're pulling as an unauthenticated user you don't have a token. In other words, you're hitting both the docker API and openshift API unauthenticated.

BTW this could be automatic and configuration-less if the OpenShift registry docker/distribution endpoint included a pointer to the API master. Is that likely to happen soon enough that we won’t need this configuration?

Is that likely to happen soon enough that we won’t need this configuration?

Hard to say. I'm guessing it will not land in the next ~2 months. Not sure what the priority is on this and which might come first. I'll link an issue here from openshift/origin.

Closing based on progress here: https://trello.com/c/J20GczKK


GH-39928: [C++][Gandiva] Accept LLVM 18

Rationale for this change
LLVM 18.1 will be released soon.
What changes are included in this PR?
Accept LLVM 18.1.
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.

Closes: #39928

@github-actions crossbow submit ubuntu-noble-amd64

@niyue Do you want to review this?

LGTM


Inconsistent statements regarding the invalid parameter handler

tl;dr. The 'Return Value' section states, without caveat, that "If the storage ... exceeds ..., the invalid parameter handler is invoked,". The 'Remarks' section contains an apparent caveat in the case of the count being _TRUNCATE, although it does not state that the handler is not called.
Thanks for the detailed documentation. I have always admired the tightness and correctness of Microsoft's API documentation and so this one surprised me.
The snprintf_s documentation points to this page with a comment about the superior handling on buffer overflow, and so it is particularly confusing that the feature is not clarified.

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

ID: 1caceb0b-ffbf-38f7-ded1-cb1e7857e2af
Version Independent ID: 789a9113-5df5-0b5e-6b7d-123c64ef61f4
Content: _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l
Content Source: docs/c-runtime-library/reference/snprintf-s-snprintf-s-l-snwprintf-s-snwprintf-s-l.md
Product: visual-cpp
Technology: cpp-ucrt
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

I recently added a behavior table that I think will address your concern.


R package: Travis issues on Windows

[ ] https://travis-ci.org/github/cwida/duckdb/jobs/707341741#L814 make: *** No rule to make target '$(CXX11STD)''.  Stop.

[ ] Warning in system(cmd) : 'make' not found

Fixed in a6e7ba9fa17f5c32830c19d33ee4b9291b5df0a8.


Installation Error

Issue
While installing bcf, an error occurs and bcf can't be used. See description underneath.
Environment:
OS: Manjaro Linux 21.2.6
Kernel: Linux 5.16.2-1-MANJARO
Python 3.10.4
pip 22.1.2 from /usr/lib/python3.10/site-packages/pip (python 3.10)
Reproduction Steps
sudo pip3 install --upgrade --no-cache-dir bcf
echo 'eval "$(_BCF_COMPLETE=source bcf)"' >> ~/.bashrc
source ~/.bashrc

Error Message:
Traceback (most recent call last):
  File "/usr/bin/bcf", line 33, in <module>
    sys.exit(load_entry_point('bcf==1.8.1', 'console_scripts', 'bcf')())
  File "/usr/bin/bcf", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.10/site-packages/bcf/cli.py", line 61, in <module>
    def command_create(name, no_git, _from, depth):
  File "/usr/lib/python3.10/site-packages/click/decorators.py", line 308, in decorator
    _param_memo(f, OptionClass(param_decls, **option_attrs))
  File "/usr/lib/python3.10/site-packages/click/core.py", line 2495, in __init__
    super().__init__(param_decls, type=type, multiple=multiple, **attrs)
TypeError: Parameter.__init__() got an unexpected keyword argument 'autocompletion'

Thank you for report,
I'll look into it today or tomorrow.

Hi
I released new version try it.
pip3 install -U bcf

bcf --version
bcf, version 1.8.2


Images aren't loaded in CollectionView for Android emulator

Images aren't loaded when debugging the application with Android Emulator - This starts from Part 1 of the workshop.
<CollectionView.ItemsSource>
            <x:Array Type="{x:Type model:Monkey}">
                <model:Monkey
                    Name="Baboon"
                    Image="https://raw.githubusercontent.com/jamesmontemagno/app-monkeys/master/baboon.jpg"
                    Location="Africa and Asia" />
                <model:Monkey
                    Name="Capuchin Monkey"
                    Image="https://raw.githubusercontent.com/jamesmontemagno/app-monkeys/master/capuchin.jpg"
                    Location="Central and South America" />
                <model:Monkey
                    Name="Red-shanked douc"
                    Image="https://raw.githubusercontent.com/jamesmontemagno/app-monkeys/master/douc.jpg"
                    Location="Vietnam" />
            </x:Array>
        </CollectionView.ItemsSource>

They load properly when using Windows Machine
Is there any workaround? For example some type of android permission? I can see several related tickets here and there, but no solution!
Info:

Windows 10
Visual Studio 17.5.3
.NET 7
Pixel 5 - API 33 (Android 13.0 - API 33)

It turned out, the internet connection on the emulator decided to close itself :/
I stopped/started the emulator and everything worked fine
For all those who face the same problem, make sure the emulator has access to internet by opening chrome.


Type of "to_sql" is partially unknown

osx vscode strict mode
pip3.10 install -U 'psycopg[c]'
pip3.10 install -U --pre SQLAlchemy
pip3.10 install -U pandas
pip3.10 install -U pandas-stubs
    engine = create_engine(
        "postgresql+psycopg://gert:p@localhost/gert", echo=False, future=True
    )

    with engine.begin() as conn:
        stmt = select(A)
        df = pd.read_sql(stmt, conn)
        with pd.option_context('display.max_rows', None, 'display.max_columns', None):
            print(df)
        df.to_sql('test', conn, if_exists='replace', index = False)

Type of "to_sql" is partially unknown

PRs welcome to improve missing types.

https://github.com/pandas-dev/pandas-stubs/blob/main/pandas-stubs/io/sql.pyi#L103-L118
I assume it has to do with this part right?
Maybe it's just this two lines for it to wrok?
index_label: str =...,
chunksize: int=...,

I think this is more to do with sqlalchemy types.  If I use strict mode in VS Code on your sample, I get this:

Doing a reveal_type(conn) shows conn as being Unknown, so then there is no match for to_sql(), because conn has an unknown type.
After the first with statement, if I insert:
        conn = cast(Connectable, conn)

then the to_sql() statement type checks fine.
If I use basic type checking in VS Code, there is no problem.
Note that on the create_engine() statement, I am getting the following message in VS Code:
Type of "create_engine" is partially unknown
  Type of "create_engine" is "Overload[(url: URL | str, *, strategy: Literal['mock'], **kwargs: Unknown) -> MockConnection, (url: URL | str, *, module: Any | None = ..., enable_from_linting: bool = ..., future: Literal[True], **kwargs: Unknown) -> Engine, (url: URL | str, *, module: Any | None = ..., enable_from_linting: bool = ..., future: Literal[False] = ..., **kwargs: Unknown) -> Engine]"

use this version pip3.10 install -U --pre SQLAlchemy

use this version pip3.10 install -U --pre SQLAlchemy for me everything is fine in strict mode except to_sql

I did do that.  I'm on Windows, so not sure if that makes a difference.  What got installed was 1.4.41.
Can you do a reveal_type(conn) and see what VS Code reports?

OK, I now know what is happening here.  The message about being "partially unknown" is because to_sql() returns int | None.  The result is based on the underlying connector and database and whether it returns the number of rows inserted.   We can't do static typing to determine that.
So you have to do a cast here or turn down the typing setting from strict to basic

Never mind.  It has something to do with this declaration in the stubs:
        method: Literal["multi"]
        | Callable[[SQLTable, Any, list[str], Iterable], int | None]
        | None = ...,

If Iterable is changed to Iterable[Any], then the message goes away.
PR welcome to change:
https://github.com/pandas-dev/pandas-stubs/blob/cb56bfaa91ec6af978b31cf35a991d346169b264/pandas-stubs/core/generic.pyi#L168
to use Iterable[Any] here, Would accept a PR without tests.

Is it supposed to be Any? Isn't it an Iterable[Tuple[Any]] or something like that? Could even use ScalarT here maybe?

Is it supposed to be Any? Isn't it an Iterable[Tuple[Any, ...]] or something like that? Could even use ScalarT here maybe, as in Iterable[Tuple[ScalarT, ...]]

Not entirely clear from the documentation.  Maybe Iterable[list[Scalar] | tuple[Scalar]] is the right thing.  Can't use Sequence, because str matches Sequence[str]

Here's what appears to be the code: https://github.com/pandas-dev/pandas/blob/e0608cb42e98f165fd99b595b2c9d0bfeb208b8f/pandas/io/sql.py#L948
data_list is a List[NdArray], and gets passed to zip, so I believe it is indeed a tuple

But this code makes it seem like it could be a list as well:
https://github.com/pandas-dev/pandas/blob/e0608cb42e98f165fd99b595b2c9d0bfeb208b8f/pandas/io/sql.py#L854

I believe that code accepts data_iter, the Iterator[Tuple[Any, ...]] as an input. There is a docstring there, but I believe that docstring is wrong:
        data_iter : generator of list
           Each item contains a list of values to be inserted

In any case I would need to put together an example to prove this, in the interim it certainly doesn't hurt much to have a slightly broader type

Here is a code example:
import pandas as pd
import sqlite3

def insert_method(pd_table, conn, keys, data_iter):
    print("pd_table:", type(pd_table))
    print("conn:", type(conn))
    print("keys:", type(keys))
    print("data_iter:", type(data_iter))
    data = list(data_iter)
    print("data_iter:", type(data[0]))

with sqlite3.connect(":memory:") as con:
    df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "c": [7, 8, 9]})
    df.to_sql("table", con=con, method=insert_method)

pd_table: <class 'pandas.io.sql.SQLiteTable'>
conn: <class 'sqlite3.Cursor'>
keys: <class 'list'>
data_iter: <class 'zip'>
data_iter: <class 'tuple'>

This confirms my thinking above that ultimately a zip gets passed, so data_iter is always going to have a tuple inner element. The harm in accepting list is very minimal. The only thing preventing list would do is catch if someone was mutated the object with append() or otherwise. Like, for instance, this:
def insert_method(pd_table, conn, keys, data_iter):
   for row in data_iter:
       row.remove("something")
       # do something with the row

Probably not something an insertion method function should do (mutating values), but nevertheless...

This confirms my thinking above that ultimately a zip gets passed, so data_iter is always going to have a tuple inner element.

Thanks for the test.  I misread the code.  We should just use Iterable[tuple[Any,...]]


feat(consensus): add declare transaction for cende

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2921  👈 (View in Graphite)
#2872
#2861
#2715
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


LFX Spring '21

This is a GitHub issue to store the work queued for the LFX Spring '21 Program.

[ ] Convert to i18n React
[ ] Implement a router so URLs are first class citizens (i.e. the back button works)
[ ] Fix the link on the CNB icon (it's getting set to the staging URL in the slug)
[ ] Homepage link (using the homepage field)
[ ] Display License info if it exists in the metadata
[ ] Display Description
[ ] Add the version to the pack build command (i.e<EMAIL_ADDRESS>

Hello @hone! I have proficient knowledge of React, CSS and APIs. Ruby on Rails is quite new to me but I have worked on other web-application frameworks. I feel that I would learn a lot from this project. I would love to work on this for LFX Spring '21 Program.

Hi, is there a Slack/Gitter/IRC channel for this project?

Hello @hone , This is Santam. I have been working on technologies like React, CSS, Ruby on Rails for over 2 years now. I am quite interested to contribute to this project. Are there any pre-requisite task along with submitting the application?

Hello @hone , I am Sneha. I have some experience in React and CSS, I am not that much familiar with Ruby on Rails and API, Contributing to this project would be a great experience for me,  please do suggest some tasks for me to work on for LFX program.

@SantamRC, @snehaa1989, and any others interested in helping with these issues.  Most of these issue have been broken down into separate issues.  If any of them sound interesting, please try assigning it to yourself, or @ mention me (@elbandito) and I'll assign it to you.  Thanks!


phase_common_static：ERROR: Opening [1Z.vcf]: unknown error

hi，dear Delaneau.
Sorry to bother you, I have a problem with phase_common that bothers me.
as follows:
[root@localhost LD-Decay]# docker run shapeit5_2023-03-23_a4a1818 phase_common_static -I 1Z.vcf -R 1 -O shapeitphase_1Z.vcf --thread 6
[SHAPEIT5] phase_common (jointly phase multiple common markers)

Author        : Olivier DELANEAU, University of Lausanne
Contact<EMAIL_ADDRESS>Version       : 5.1.0 / commit = 492781e / release = 2023-04-13
Run date      : 15/05/2023 - 14:17:53
Files:
Input         : [1Z.vcf]
Output        : [shapeitphase_1Z.vcf]
Output format : [bcf]
Parameters:
Seed    : 15052011
Threads : 6 threads
MCMC    : 15 iterations [5b + 1p + 1b + 1p + 1b + 1p + 5m]
PBWT    : [window = 4cM / depth = auto / modulo = auto / mac = 5 / missing = 0.1]
HMM     : [window = 4cM / Ne = 15000 / Constant recombination rate of 1cM per Mb]
Reading genotype data:
[E::hts_open_format] Failed to open file "1Z.vcf" : No such file or directory
ERROR: Opening [1Z.vcf]: unknown error

I'm pretty sure 1Z.vcf is in the current running directory. But these errors still occur.
I still have this problem when I try to add absolute paths.
How can I solve this problem?
Looking forward to your reply!

Right-hand side of the GitHub page, there's the "release" panel.
You'll find there precompiled static binaries.
Try using them instead of the docker.
That might be easier.

Hello,
I am getting the same error as the original poster. My unphased vcf is in the current directory, but shapeit is saying it's not there: ERROR: Opening [NC_053450.1.vcf.gz]: unknown error
[E::hts_open_format] Failed to open file "NC_053450.1.vcf.gz" : No such file or directory
I am using the following command: docker run shapeit5_2023-05-05_d6ce1e2 phase_common_static --input NC_053450.1.vcf.gz --region NC_053450.1 -O NC_053450.1.phased
I have been unable to compile from source or to use the precompiled static binaries.
Please help, thank you.

By default, containers cannot see the file system of their host.
Please read about docker or use static binaries.


⚠ Bofrost.com has degraded performance

In b513140, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 965 ms

Resolved: Bofrost.com performance has improved in d899e72.


Can't run notebook_launcher on Colab TPU

System Info
accelerate version: 0.34.2

Information

[X] The official example scripts
[X] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[X] My own task or dataset (give details below)

Reproduction

Open notebook in google colab
Create any training_function
run this function using notebook_launcher in TPU env

here is how I run it:

from accelerate import notebook_launcher
from train import training_function
import os
os.environ["TPU_NAME"] = "dummy"
os.environ["XRT_TPU_CONFIG"]="localservice;0;localhost:51011"
notebook_launcher(training_function, (model, tokenized_datasets), mixed_precision="bf16")
Result: error
ValueError                                Traceback (most recent call last)
 in <cell line: 12>()
10 os.environ["XRT_TPU_CONFIG"]="localservice;0;localhost:51011"
11
---> 12 notebook_launcher(training_function, (model, tokenized_datasets), mixed_precision="bf16")
3 frames
/usr/lib/python3.10/enum.py in new(cls, value)
708                 ve_exc = ValueError("%r is not a valid %s" % (value, cls.qualname))
709                 if result is None and exc is None:
--> 710                     raise ve_exc
711                 elif exc is None:
712                     exc = TypeError(
ValueError: 'TPU' is not a valid DistributedType

Comments:
It happens because in the file "launchers.py", row 148 launcher is created like:
"launcher = PrepareForLaunch(function, distributed_type="TPU")"
However DistributedType doesn't accept 'TPU', it's deprecated. ('TPU = DeprecatedFieldDescriptor("TPU", "XLA")').
Initialization of this enum with 'TPU' string raises the mentioned exception. (prooved by trying this locally)
Expected behavior
Expected: function is run

Hi @emusiienko, thanks for the report ! Could you try this PR to see if this solves your issue ?

Hi @SunMarc , sorry that maybe late, it works, thank you!


Additional Github Actions

Feature

(x) feature request

What is the motivation or Use Case for your feature request?
We strive to leverage as many useful GH action as possible in order to minimize the administrative/organizational effort in managing this FOSS project and maximize the overall utility of the solution for the users by keeping the code base free of bugs, easily readable and understandable (well structured, well tested, well documented).
Tasks

[ ] review https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
[ ] in particular review section of recommended GH action at bottom of https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
[ ] discuss what additional GH actions are useful or our purpose

This issue has been closed to migrate Issues to the BiancoRoyal repository and can now be found here


Conditional HTML styling hides MultiIndex structure

I noticed that the styling doesn't quite work with MultiIndex data frames. For example if we have a dataframe with two cross validated scores and take their meanand sem using groupby to get a MultiIndex dataframe
import itertools
import pandas as pd
import numpy as np

jobs = itertools.product(['a', 'b', 'c', 'd'], np.arange(1e-4, 1e-3, .0003), range(10))
rows = []
for v, v2, itr in jobs:
    rows.append({'param_1': v, 'param_2': v2, 'iter': itr,
                 'score_1': np.random.randint(0, 100, size=(1,))[0],
                 'score_2': np.random.rand(1, )[0]})
df_multi = pd.DataFrame(rows)
agg = df_multi.groupby(by=['param_1', 'param_2'])[['score_1', 'score_2']].agg(['mean', 'sem'])
agg.style.highlight_max()

where as without the styling the index names are preserved and the score_1 and score_2 column headers span 2 columns which improves legibility.

IIRC this is 'not implemented', cc @TomAugspurger as wanted to get basic stuff working.
patches are welcome!

see last check box in #11610

Yep. This one isn't too bad to do, I just ran out of time. It's a matter of modifying the template to be aware of the index levels.

@jreback ah I see, didn't read the post properly. I guess in that case this issue is redundant and can be closed.

@mattilyra its fine. you can post a fix and directly reference this.

this still open @TomAugspurger ?

Yeah, still open.

@TomAugspurger did you have a fix for this already? (even if not prod ready), just want to give a try.

@jreback I can get something together tonight, if that's not too late.
The basic idea is to use the logic in pandas.core.format._get_level_lengths on each of the MI elements. We'll put a couple more pieces of state in the internal dict is_visible, row_span and col_span.

that would be totally fantastic!

@jreback OK, the minimal version (1 whole test) is here: https://github.com/TomAugspurger/pandas/tree/style-sparse-mi-2
I'll see what refactoring I can do and submit a pull request sometime soonish.

hmm, doesn't seem to change the display. (using pandas 0.18.0 as a comparison). The column labels are not showing sparse (as what we normally do in an html display)

Ahh, only did index labels. Give me 20 minutes :)

@jreback pushed https://github.com/pydata/pandas/commit/4655534a40e65e0d380116607d983100c513da20 which fix it.
https://gist.github.com/643402b241e6d945118942cb8ccff3ac
Index names are messed up with a  MultiIndex, but if you just set those to "" then the None shouldn't appear.

that looks great! thanks!
I realize that the CSS injection can be done thru set_table_style I think as well.

@TomAugspurger so this fixes the single level index case (I don't have a good repro :<
but); also only barely tested on a single level columns (this works with the multi-level nicley as that was the point).
def _get_level_lengths(index):
    '''
    Given an index, find the level lenght for each element.

    Result is a dictionary of (level, inital_position): span
    '''
    sentinel = com.sentinel_factory()
    levels = index.format(sparsify=sentinel, adjoin=False, names=False)

    if index.nlevels == 1:
        return { (0, i):1 for i, value in enumerate(levels) }

    lengths = {}
    for i, lvl in enumerate(levels):
        for j, row in enumerate(lvl):
            if row != sentinel:
                last_label = j
                lengths[(i, last_label)] = 1
            else:
                lengths[(i, last_label)] += 1

    return lengths


Documentation page for crictl container config have an invalid character in log_path

Reading docs at https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md
container config has value
"log_path" : "busybox/0.log"
correct value should be
"log_path" : "busybox.0.log"
The original throws an RPC error with failure to create the log file

Hey @rancid-racer, I verified the behavior and papared a documentation fix for that.


first time user gotchas using gradle template

Got ev3dev installed etc. java is there and all looks good, but had a few issues with the gradle template

host is hard coded to <IP_ADDRESS> in config.gradle - should this not be ev3dev so it "just works" ?

gradle clean deployAndBrickRun result in error as it tries to run "/home/robot/template_project_gradle-2.6.0-all.jar" but what is actually deployed is named "/home/robot/template_project_gradle-2.6.0.jar"

Hi Max,
Tomorrow I will fix it

well, all the docs until this point uses ev3dev or ev3dev.local thus I think you would have bigger issues before that :)

Hi Max,
I have fixed the template project with a basic configuration.
https://github.com/ev3dev-lang-java/template-project-gradle
I have just tested.
Merry Christmas.


Add remarks about custom implementation of IResourceOwnerPasswordValidator for the corresponding flow.

What issue does this PR address?
https://github.com/IdentityServer/IdentityServer4/issues/3839
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[ Yes] The commit follows our guidelines
[ N/A] Unit Tests for the changes have been added (for bug fixes / features)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: voroninp sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

is
https://identityserver4.readthedocs.io/en/latest/topics/resource_owner.html
not good enough?

@leastprivilege  Yep, but it is literally RTFM =)
Why not let the code tell the story and even better signal about potential problem?
While migrating from IS3 to IS4 we simply forgot to include the call to AddResourceOwnerValidator (btw why not ResourceOwnerPasswordValidator`?) =(

Because we always have a resource owner password validator registered (to keep DI happy) - just by default one that does nothing - so we cannot easily detect at startup if this is a valid config or not.

@leastprivilege How come? You know the exact type of the default validator, and in case the resolved instance is of this type, IS could warn:

Hey, man, I see you didn't override default implementation of IRsourceOwnerPasswordValidator, but your client Client supports resource owner password flow. That's not ok.

You wanted this at startup time - we are not scanning client configuration at startup time.

Then at least some XML Doc would be helpful, I assume.

BTW, Simple Injector DI container has method Verify, maybe it is worth having such diagnostics feature for IS as well.

We cannot scan client config - check the IClientStore.
There is a configuration validator that could be used for your purpose. Feel free add that logic via a PR.

https://github.com/IdentityServer/IdentityServer4/blob/master/src/IdentityServer4/src/Validation/Default/DefaultClientConfigurationValidator.cs

@leastprivilege Yep, my bad, this will work fine with InMemory clients only.

@leastprivilege  But what about XML Doc?

Closing this in favour of the config validator


BUILD ERROR with npm run packagr

I am getting an error when running npm run packagr in my angular cli.
My typescript reference is below.
import * as uuid from 'uuid';
Usage:
this.formId = uuid();
Building Angular library
Generating bundle for human-review-core
Cleaning bundle build directory
Processing assets
Running ngc
Compiling to FESM15
'crypto' is imported by node_modules\uuid\lib\rng.js, but could not be resolved – treating it as an external dependency
'crypto' is imported by  commonjs-external:crypto, but could not be resolved – treating it as an external dependency
BUILD ERROR
Cannot call a namespace ('uuid')
Error: Cannot call a namespace ('uuid')
at error (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:185:14)
at Module.error (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:16526:3)
at Node.bindNode (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11918:17)
at Node.bind (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11005:8)
at eachChild.child (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11024:34)
at keys.forEach.key (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11041:5)
at Array.forEach ()
at Node.eachChild (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11034:13)
at Node.bindChildren (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11024:8)
at Node.bind (C:\Source\C3MS Core Development\HumanReview\Main\Demos\ComponentLibraries\human-review-core\node_modules\rollup\dist\rollup.js:11004:8)
PACKAGE.json
{   "name": "human-review-core",   "version": "4.0.0",   "license": "MIT",   "scripts": {     "ng": "ng",     "start": "ng serve",     "build": "ng build --prod",     "test": "ng test",     "lint": "ng lint",     "e2e": "ng e2e",     "packagr": "ng-packagr -p ng-package.json"   },   "private": false,   "dependencies": {     "@angular/animations": "^5.2.7",     "@angular/common": "^5.2.7",     "@angular/compiler": "^5.2.7",     "@angular/core": "^5.2.7",     "@angular/forms": "^5.2.7",     "@angular/http": "^5.2.7",     "@angular/platform-browser": "^5.2.7",     "@angular/platform-browser-dynamic": "^5.2.7",     "@angular/router": "^5.2.7",     "core-js": "^2.4.1",     "rxjs": "^5.5.6",     "uuid": "^3.2.1",     "zone.js": "^0.8.20"   },   "devDependencies": {     "@angular/cli": "^1.7.2",     "@angular/compiler-cli": "^5.2.7",     "@angular/language-service": "5.2.7",     "@types/jasmine": "^2.8.6",     "@types/jasminewd2": "~2.0.2",     "@types/node": "^6.0.101",     "codelyzer": "^4.2.1",     "jasmine-core": "~2.6.2",     "jasmine-spec-reporter": "~4.1.0",     "karma": "~1.7.0",     "karma-chrome-launcher": "~2.1.1",     "karma-cli": "~1.0.1",     "karma-coverage-istanbul-reporter": "^1.4.2",     "karma-jasmine": "~1.1.0",     "karma-jasmine-html-reporter": "^0.2.2",     "ng-packagr": "^1.7.0",     "protractor": "~5.1.2",     "ts-node": "~3.2.0",     "tslint": "~5.7.0",     "typescript": "2.6.2"   } }

lib/rng.js should only be used in node.js contexts.  If your packager respects the browser field in package.json, it should be pulling in lib/rng-browser.js.  So... angular packager not recognizing the browser field?  (I'm not familiar with angular, so have limited ability to help diagnose.)

Reopen if you still feel there's an issue with this module.


In Knowledge contribution make the 'Automatically Upload Documents' default

In the 'Document Info' section of the knowledge page make the 'Automatically Upload Documents' the primary selected option and the 'Manually Enter Document Details' secondary that a user can switch too.
Acceptance Criteria:
As above.

https://github.com/instructlab/ui/pull/92

Fixed through #92


Avoid self-message highlighting on IRC

#193 originally fixed this, but caused issues with some clients (#196). Open for other suggestions.

Sadly, I don't think there's a catch-all solution.  With a plethora of systems and IRC clients, you're always going to run into issues with some of them.  I would go with @Kroisse's #194 implementation which lets maintainers turn the feature on or off depending on if it works for their particular users.

Putting the zero width character between the first and second letter only, rather than each of them, like #194 did, should help reduce the collateral damage when the character is visible, at slight risk of triggering more highlights (e.g. for people who have a prefixed _name).


Make cluster routes check roles

All cluster routes are coordinator only (except maintenance mode)
Fix an unrelated issue in the WebUI

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/780/


ionic rc2 failed in build

Hi
my project is failing while build, it was fine untill RC0, but now i am getting errors, it is fine with IONIC SERVE, can some one help please?
Note: for support questions, please use one of these channels:
https://forum.ionicframework.com/
http://ionicworldwide.herokuapp.com/
Short description of the problem:
C:\mobile_app_ionic\mtlDemo>ionic build android
Running 'build:before' npm script before build

MTLDemo@ build C:\mobile_app_ionic\mtlDemo
ionic-app-scripts build

[13:46:34]  ionic-app-scripts 0.0.39
[13:46:34]  build prod started ...
[13:46:34]  clean started ...
[13:46:34]  clean finished in 3 ms
[13:46:34]  copy started ...
[13:46:34]  ngc started ...
[13:46:34]  copy finished in 799 ms
[13:46:34]  lint started ...
[13:46:55]  lint finished in 20.28 s
[13:47:29]  Error: Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/login/login.ngfactory.ts:819:63
[13:47:29]  Property 'username' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/login/login.ngfactory.ts:839:63
[13:47:29]  Property 'email' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/login/login.ngfactory.ts:859:63
[13:47:29]  Property 'password' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/signup/signup.ngfactory.ts:986:63
[13:47:29]  Property 'p_person_id' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/signup/signup.ngfactory.ts:1001:63
[13:47:29]  Property 'p_surname' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/signup/signup.ngfactory.ts:1018:63
[13:47:29]  Property 'p_dob' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/signup/signup.ngfactory.ts:1033:63
[13:47:29]  Property 'p_email' does not exist on type '{ [key
[13:47:29]  string]: AbstractControl; }'.
[13:47:29]  Error at C:/mobile_app_ionic/mtlDemo/.tmp/pages/signup/signup.ngfactory.ts:1060:119
[13:47:29]  Property 'pw_mismatch' does not exist on type '{ [key
[13:47:29]  string]: any; }'.
[13:47:29]  ngc failed
[13:47:29]  ionic-app-script task: "build"
[13:47:29]  Error: Error
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "build" "--color"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! MTLDemo@ build: ionic-app-scripts build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the MTLDemo@ build script 'ionic-app-scripts build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the MTLDemo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs MTLDemo
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls MTLDemo
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\mobile_app_ionic\mtlDemo\npm-debug.log
Caught exception:
undefined
Mind letting us know? https://github.com/driftyco/ionic-cli/issues
C:\mobile_app_ionic\mtlDemo>events.js:160
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at exports._errnoException (util.js:1036:11)
at Socket._writeGeneric (net.js:705:26)
at Socket._write (net.js:724:8)
at doWrite (_stream_writable.js:307:12)
at writeOrBuffer (_stream_writable.js:293:5)
at Socket.Writable.write (_stream_writable.js:220:11)
at Socket.write (net.js:651:40)
at Console.log (console.js:43:16)
at C:\mobile_app_ionic\mtlDemo\node_modules@ionic\app-scripts\dist\util\logger.js:169:21
at Array.forEach (native)
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "watch" "--color"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! MTLDemo@ watch: ionic-app-scripts watch
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the MTLDemo@ watch script 'ionic-app-scripts watch'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the MTLDemo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts watch
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs MTLDemo
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls MTLDemo
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\mobile_app_ionic\mtlDemo\npm-debug.log
What behavior are you expecting?
Steps to reproduce:
1.
2.
3.
insert any relevant code between the above and below backticks

Which @ionic/app-scripts version are you using?
Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)

@ishumt,
Apps run on devices use prod builds, so they use the Angular ngc compiler. Basically, those errors are errors in your code. You need to fix them. ngc is really strict. Please look at the error messages and modify the code as needed. For additional help, please check out our Ionic Forum.
Thanks,
Dan


Feature random navigate, Auto-Redirect to random pages

This pull request introduces a new chaotic feature that randomly redirects users to different pages in the app for every 30 seconds time interval, enhancing the chaotic experience of the website.
Closes: #118

Share a working video of your work

one modification I want:

change the time from 30seconds to random time
it should everytime redirect in random seconds from 10 to 30
Do this changes and let me know

added 10 to 30 seconds randomTime.
video attached below:
Video


Swipe buck IOS issue

In my application I use Navigator from MaterialApp along with nested Navigator. Home Screen has BottomNavigationBar with 5 tabs each of which has its own Navigator. Moreover, there are several screens that pushed from MaterialApp Navigator. After swipe back on IOS from screen that pushed from MaterialApp Navigator the keyboard doesn't appearance if user tab to TextField Widget, and none of the TextField Widget can't get Focus. Only reopen application fix this behavior until user made swipe back in root Navigator again. There is no such trouble if user made swipe back in Nested Navigator

Hi @romawizard
To better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

Hi @romawizard
To better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

Home screen looks like this
class _TabPages extends StatelessWidget {
final ValueNotifier notifier;
final List tabs;
_TabPages({City city, this.notifier}) : tabs = _buildTabs(city: city);
static List _buildTabs({City city}) {
return [
Navigator(
onGenerateRoute: (RouteSettings settings) =>
CupertinoPageRoute(
builder: (BuildContext context) =>
QATab(
currentActiveCity: city,
)),
key: ValueKey('QATab' + city?.name ?? 'city'),
),
Navigator(
onGenerateRoute: (RouteSettings settings) =>
CupertinoPageRoute(
builder: (BuildContext context) => PollTab(city)),
key: ValueKey('PollTab' + city?.name ?? 'city'),
),
Navigator(
onGenerateRoute: (RouteSettings settings) =>
CupertinoPageRoute(
builder: (BuildContext context) => TriviaTab(city)),
key: ValueKey('TriviaTab' + city?.name ?? 'city'),
),
Navigator(
onGenerateRoute: (RouteSettings settings) =>
CupertinoPageRoute(
builder: (BuildContext context) => TipsTab(city),),
key: ValueKey('TipsTab' + city?.name ?? 'city'),
),
ConciergeTAb()
];
}
@override
Widget build(BuildContext context) {
return ValueListenableBuilder(
valueListenable: notifier,
builder: (BuildContext context, value, Widget child) {
return IndexedStack(
index: value,
children: tabs,
);
},
);
}
}
And  Main looks like
class MyApp extends StatelessWidget {
final navigatorKey = GlobalKey();
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: navigatorKey,
localizationsDelegates: [
AppLocalizationsDelegate(),
FallbackCupertinoLocalisationsDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
],
supportedLocales: [Locale("en"), Locale("zh")],
localeResolutionCallback: (locale, supportedLocales) {
if (locale == null) {
return supportedLocales.first;
}
Injector.instance.inject([
ApiModule(locale, navigatorKey),
AuthModule(),
PollModule(),
QaModule(),
TriviaModule(),
TipsModule(),
RepositoryModule(),
UserModule()
]);
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale?.languageCode ||
supportedLocale.countryCode == locale?.countryCode) {
return supportedLocale;
}
}
return supportedLocales.first;
},
builder: (_context, navigator) {
return Theme(
data: _appTheme(_context),
child: navigator,
);
},
home: SplashScreen(),
);
}

Here is my Home screen full code https://gist.github.com/romawizard/7d4c3b807a5dccf2dccac2189b152c3b

Hi @romawizard
The sample code you provided isn't minimal, it has lot of missing code for BaseScreen, Bloc etc
Please provided a  minimal code sample to reproduce the problem that focuses on the issue
Thank you

Hi @romawizard
Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


Ability to provide RazorViewEngineOptions to the RazorTemplateEngine before Render.

This project seems pretty good and does what it is supposed to do but I was wondering if we can have a way to supply  RazorViewEngineOptions from outside before we call Render?
Given RazorTemplateEngine class is static it makes it hard to initialise the class with the RazorViewEngineOptions as an optional dependency.
A potential not-so-pretty solution to this could be to utilise Initialize method on this static class to optionally set the options?

I kind of got the not-so-pretty working version of it but looking for some thoughts/input on this feature request.

Hey @rahulvermapropertyme, thanks for raising this issue. I've not used RazorViewEngineOptions much. But could you please elaborate on what's the use case for introducing this optional param?

Hi @soundaranbu - RazorViewEngineOptions provides you ability  to specify area and view page locations and formats (https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.razor.razorviewengineoptions?view=aspnetcore-8.0).
In my use case, I am working with an application which has ViewPages (.cshtml) in several non-standard view locations. So being unable to pass the RazorViewEngineOptions from outside makes the RazorViewEngine unable to find the views. In some cases, I have partial views stored in different locations leading to the same problem.
Passing the RazorViewEngineOptions from outside allows me to tell the RazorViewEngine about the location and format of my view pages.
The reason that RazorTemplateEngine class is currently a static class and lazy loads the IRazorTemplateEngine _instance without any parameters from outside. This makes a little challenging to refactor. The current workaround for this I got is to utilise the Initialize() constructor to pass in and set the RazorViewEngineOptions before calling the Render* methods.
As I said in my previous comment, here is the not-so-pretty commit containg those changes..
https://github.com/soundaranbu/Razor.Templating.Core/commit/8396b6436fc23fdd674bedf2f9e2398f8963b4f9
Please provide feedback, I am happy to refactor the code based on what you think.

Ah I see.. have you tried the DI approach mentioned in the README?
Basically you should be able to configure the option like this https://www.c-sharpcorner.com/blogs/custom-razor-view-location-in-asp-net-core-mvc
But please let me know if there are any difficulties in it

I see. So what we can do is configure these options on the ServiceCollection before adding razor templating(AddRazorTemplating).
In my case, I did not have the ServiceCollection to begin with (it's a test project) but nothing stopping me initialising a new ServiceCollection as it will be used by the the RazorViewEngine anyway.
So I can do something like this and it works.
 var services = new ServiceCollection();
 services.Configure<RazorViewEngineOptions>(SetupRazorViewEngineOptions);
 services.AddRazorTemplating();

Thanks for your help! I am happy to close this "Feature Request".


Deadline

Deadline does not reset properly, when leaving it blank the previous deadline is still selected

Issue was caused by the model of the deadline field being loaded in a div, that was not automatically cleared by the default form reset functionality,
Resolved by addition of the "resetDeadline()" function in hello.js.
This can be extended into a function to reset multiple fields in the future, in case it is needed.


:construction_worker: fix(build): Add types folder to build output

Description
Nx cache was in bad state from forgetting to include types folder in build output
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #270   👈

PR #268

PR #269

This comment was auto-generated by Graphite.


Snapshot missing for Thinq1 devices: 'airState.operation' of undefined

After authentication logs give a lot of error. But my ac appear at my home app. Status or temp does not work.
`[2020-5-12 22:41:02] [LgThinqAirConditioner] Initializing LgThinqAirConditioner platform...
[2020-5-12 22:41:04] [LgThinqAirConditioner] Error: Auth not ready yet, please log in.
at ExampleHomebridgePlatform.inititializeAuth (/usr/local/lib/node_modules/homebridge-lg-thinq-ac/src/platform.ts:129:13)
at ExampleHomebridgePlatform.initialize (/usr/local/lib/node_modules/homebridge-lg-thinq-ac/src/platform.ts:85:18)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
[2020-5-12 22:42:58] [LgThinqAirConditioner] Error: getaddrinfo EAI_AGAIN route.lgthinq.com
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26) {
errno: ‘EAI_AGAIN’,
code: ‘EAI_AGAIN’,
syscall: ‘getaddrinfo’,
hostname: ‘route.lgthinq.com’,
config: {
url: ‘https://route.lgthinq.com:46030/v1/service/application/gateway-uri’,
method: ‘get’,
headers: {
Accept: ‘application/json’,
‘X-Thinq-App-Ver’: ‘3.0.2100’,
‘X-Thinq-App-Type’: ‘NUTS’,
‘X-Language-Code’: ‘tr-TR’,
‘X-Client-Id’: ‘dda6bf26a674a02bc1e8612e9884b2253fda2b2fbc57b47702a80011b72f02ca’,
‘X-Thinq-App-Level’: ‘PRD’,
‘X-Service-Code’: ‘SVC202’,
‘Accept-Language’: ‘tr-TR’,
‘X-Message-Id’: ‘89ZfpKmsH8qXUmar7uQkX.’,
‘Content-Type’: ‘application/json;charset=UTF-8’,
‘X-Api-Key’: ‘VGhpblEyLjAgU0VSVklDRQ==‘,
‘X-Thinq-App-Os’: ‘IOS’,
‘X-Country-Code’: ‘TR’,
‘X-Service-Phase’: ‘OP’,
‘Accept-Encoding’: ‘gzip’,
‘User-Agent’: ‘axios/0.19.2’
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
responseType: ‘json’,
xsrfCookieName: ‘XSRF-TOKEN’,
xsrfHeaderName: ‘X-XSRF-TOKEN’,
maxContentLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: ‘utf8’,
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
bufferedRequest: null,
lastBufferedRequest: null,
pendingcb: 0,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: false,
bufferedRequestCount: 0,
corkedRequestsFree: [Object]
},
writable: true,
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError]
},
_eventsCount: 2,
_maxListeners: undefined,
_options: {
protocol: ‘https:’,
maxRedirects: 21,
maxBodyLength: 10485760,
path: ‘/v1/service/application/gateway-uri’,
method: ‘GET’,
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: ‘route.lgthinq.com’,
port: ‘46030’,
nativeProtocols: [Object],
pathname: ‘/v1/service/application/gateway-uri’
},
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 6,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: ‘’,
finished: true,
_headerSent: true,
socket: [TLSSocket],
connection: [TLSSocket],
_header: ‘GET /v1/service/application/gateway-uri HTTP/1.1\r\n’ +
‘Accept: application/json\r\n’ +
‘X-Thinq-App-Ver: 3.0.2100\r\n’ +
‘X-Thinq-App-Type: NUTS\r\n’ +
‘X-Language-Code: tr-TR\r\n’ +
‘X-Client-Id: dda6bf26a674a02bc1e8612e9884b2253fda2b2fbc57b47702a80011b72f02ca\r\n’ +
‘X-Thinq-App-Level: PRD\r\n’ +
‘X-Service-Code: SVC202\r\n’ +
‘Accept-Language: tr-TR\r\n’ +
‘X-Message-Id: 89ZfpKmsH8qXUmar7uQkX.\r\n’ +
‘Content-Type: application/json;charset=UTF-8\r\n’ +
‘X-Api-Key: VGhpblEyLjAgU0VSVklDRQ==\r\n’ +
‘X-Thinq-App-Os: IOS\r\n’ +
‘X-Country-Code: TR\r\n’ +
‘X-Service-Phase: OP\r\n’ +
‘Accept-Encoding: gzip\r\n’ +
‘User-Agent: axios/0.19.2\r\n’ +
‘Host: route.lgthinq.com:46030\r\n’ +
‘Connection: close\r\n’ +
‘\r\n’,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: ‘GET’,
insecureHTTPParser: undefined,
path: ‘/v1/service/application/gateway-uri’,
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
_redirectable: [Circular],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: ‘https://route.lgthinq.com:46030/v1/service/application/gateway-uri’,
[Symbol(kCapture)]: false
},
response: undefined,
isAxiosError: true,
toJSON: [Function]
}
[2020-5-12 22:44:29] [LgThinqAirConditioner] Initializing LgThinqAirConditioner platform...
[2020-5-12 22:44:29] Loading 1 accessories...
[2020-5-12 22:44:32] [LgThinqAirConditioner] Initiating auth with provided redirect URL
[2020-5-12 22:44:45] [LgThinqAirConditioner] Discover found 1 total devices
[2020-5-12 22:44:45] [LgThinqAirConditioner] Registering new accessory: KLİMA
[2020-5-12 22:44:45] [LgThinqAirConditioner] Starting refresh interval (set to 1 minutes)
[2020-5-12 22:44:47] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property ‘airState.operation’ of undefined
[2020-5-12 22:45:46] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property ‘airState.operation’ of undefined
[2020-5-12 22:46:06] [LgThinqAirConditioner] Failed to set power state off Error: Request failed with status code 400
[2020-5-12 22:46:46] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property ‘airState.operation’ of undefined
`

What model air conditioner do you have? Have you tried restarting
Homebridge again?
On Tue, May 12, 2020 at 12:57 PM Oğulcan Bayram<EMAIL_ADDRESS>wrote:

After authentication logs give a lot of error. But my ac appear at my home
app. Status or temp does not work.
`[2020-5-12 22:41:02] [LgThinqAirConditioner] Initializing
LgThinqAirConditioner platform...
[2020-5-12 22:41:04] [LgThinqAirConditioner] Error: Auth not ready yet,
please log in.
at ExampleHomebridgePlatform.inititializeAuth
(/usr/local/lib/node_modules/homebridge-lg-thinq-ac/src/platform.ts:129:13)
at ExampleHomebridgePlatform.initialize
(/usr/local/lib/node_modules/homebridge-lg-thinq-ac/src/platform.ts:85:18)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
[2020-5-12 22:42:58] [LgThinqAirConditioner] Error: getaddrinfo EAI_AGAIN
route.lgthinq.com
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26) {
errno: ‘EAI_AGAIN’,
code: ‘EAI_AGAIN’,
syscall: ‘getaddrinfo’,
hostname: ‘route.lgthinq.com’,
config: {
url: ‘https://route.lgthinq.com:46030/v1/service/application/gateway-uri’,
method: ‘get’,
headers: {
Accept: ‘application/json’,
‘X-Thinq-App-Ver’: ‘3.0.2100’,
‘X-Thinq-App-Type’: ‘NUTS’,
‘X-Language-Code’: ‘tr-TR’,
‘X-Client-Id’:
‘dda6bf26a674a02bc1e8612e9884b2253fda2b2fbc57b47702a80011b72f02ca’,
‘X-Thinq-App-Level’: ‘PRD’,
‘X-Service-Code’: ‘SVC202’,
‘Accept-Language’: ‘tr-TR’,
‘X-Message-Id’: ‘89ZfpKmsH8qXUmar7uQkX.’,
‘Content-Type’: ‘application/json;charset=UTF-8’,
‘X-Api-Key’: ‘VGhpblEyLjAgU0VSVklDRQ==‘,
‘X-Thinq-App-Os’: ‘IOS’,
‘X-Country-Code’: ‘TR’,
‘X-Service-Phase’: ‘OP’,
‘Accept-Encoding’: ‘gzip’,
‘User-Agent’: ‘axios/0.19.2’
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
responseType: ‘json’,
xsrfCookieName: ‘XSRF-TOKEN’,
xsrfHeaderName: ‘X-XSRF-TOKEN’,
maxContentLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: ‘utf8’,
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
bufferedRequest: null,
lastBufferedRequest: null,
pendingcb: 0,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: false,
bufferedRequestCount: 0,
corkedRequestsFree: [Object]
},
writable: true,
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError]
},
_eventsCount: 2,
_maxListeners: undefined,
_options: {
protocol: ‘https:’,
maxRedirects: 21,
maxBodyLength: 10485760,
path: ‘/v1/service/application/gateway-uri’,
method: ‘GET’,
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: ‘route.lgthinq.com’,
port: ‘46030’,
nativeProtocols: [Object],
pathname: ‘/v1/service/application/gateway-uri’
},
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 6,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: ‘’,
finished: true,
_headerSent: true,
socket: [TLSSocket],
connection: [TLSSocket],
_header: ‘GET /v1/service/application/gateway-uri HTTP/1.1\r\n’ +
‘Accept: application/json\r\n’ +
‘X-Thinq-App-Ver: 3.0.2100\r\n’ +
‘X-Thinq-App-Type: NUTS\r\n’ +
‘X-Language-Code: tr-TR\r\n’ +
‘X-Client-Id:
dda6bf26a674a02bc1e8612e9884b2253fda2b2fbc57b47702a80011b72f02ca\r\n’ +
‘X-Thinq-App-Level: PRD\r\n’ +
‘X-Service-Code: SVC202\r\n’ +
‘Accept-Language: tr-TR\r\n’ +
‘X-Message-Id: 89ZfpKmsH8qXUmar7uQkX.\r\n’ +
‘Content-Type: application/json;charset=UTF-8\r\n’ +
‘X-Api-Key: VGhpblEyLjAgU0VSVklDRQ==\r\n’ +
‘X-Thinq-App-Os: IOS\r\n’ +
‘X-Country-Code: TR\r\n’ +
‘X-Service-Phase: OP\r\n’ +
‘Accept-Encoding: gzip\r\n’ +
‘User-Agent: axios/0.19.2\r\n’ +
‘Host: route.lgthinq.com:46030\r\n’ +
‘Connection: close\r\n’ +
‘\r\n’,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: ‘GET’,
insecureHTTPParser: undefined,
path: ‘/v1/service/application/gateway-uri’,
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
_redirectable: [Circular],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: ‘
https://route.lgthinq.com:46030/v1/service/application/gateway-uri’,
[Symbol(kCapture)]: false
},
response: undefined,
isAxiosError: true,
toJSON: [Function]
}
[2020-5-12 22:44:29] [LgThinqAirConditioner] Initializing
LgThinqAirConditioner platform...
[2020-5-12 22:44:29] Loading 1 accessories...
[2020-5-12 22:44:32] [LgThinqAirConditioner] Initiating auth with provided
redirect URL
[2020-5-12 22:44:45] [LgThinqAirConditioner] Discover found 1 total devices
[2020-5-12 22:44:45] [LgThinqAirConditioner] Registering new accessory:
KLİMA
[2020-5-12 22:44:45] [LgThinqAirConditioner] Starting refresh interval
(set to 1 minutes)
[2020-5-12 22:44:47] [LgThinqAirConditioner] Error during interval update
TypeError: Cannot read property ‘airState.operation’ of undefined
[2020-5-12 22:45:46] [LgThinqAirConditioner] Error during interval update
TypeError: Cannot read property ‘airState.operation’ of undefined
[2020-5-12 22:46:06] [LgThinqAirConditioner] Failed to set power state off
Error: Request failed with status code 400
[2020-5-12 22:46:46] [LgThinqAirConditioner] Error during interval update
TypeError: Cannot read property ‘airState.operation’ of undefined
`
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sman591/homebridge-lg-thinq-ac/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALAAD6X7KFJ3D2D7KI4YYLRRGS4NANCNFSM4M7D7TQA
.

--

Stuart

Yes I tried restart. My model is ES-W12GJ2F0

Ok that’s good to know- I’ll be curious to see if the API for that model is slightly different and causing this conflict. I’ll try to add some debugging here for us to investigate further, stay tuned

Ok, I just published version 0.3.3 with additional debug logging. Could you:

Upgrade to 0.3.3
Enable debug mode on Homebridge (start with homebridge -D or go to the /settings Homebridge settings page in the UI to turn it on and restart)
View the logs, looking for the most recent logs around Getting device status, device response, and device response.result.snapshot

Hi, you can find at below. If you need anything just ask me 😀
[2020-5-13 8:56:55] Loaded plugin: homebridge-lg-thinq-ac
[2020-5-13 8:56:55] Registering platform 'homebridge-lg-thinq-ac.LgThinqAirConditioner'
[2020-5-13 8:56:55] ---
[2020-5-13 8:57:08] [LgThinqAirConditioner] Initializing LgThinqAirConditioner platform...
[2020-5-13 8:57:08] [LgThinqAirConditioner] Finished initializing platform: undefined
[2020-5-13 8:57:08] Loading 1 accessories...
[2020-5-13 8:57:08] [LgThinqAirConditioner] Restoring accessory from cache: KLİMA
[2020-5-13 8:57:08] [LgThinqAirConditioner] Not logged in; skipping updateCharacteristics()
[2020-5-13 8:57:08] [LgThinqAirConditioner] Starting refresh interval (set to 1 minutes)
[2020-5-13 8:57:08] [LgThinqAirConditioner] Executed didFinishLaunching callback

[2020-5-13 8:57:10] [LgThinqAirConditioner] Already logged into ThinQ
[2020-5-13 8:57:10] [LgThinqAirConditioner] refreshAuth()
[2020-5-13 8:58:08] [LgThinqAirConditioner] Getting device status d27c0210-7149-11d3-80b1-a06faae9be90
[2020-5-13 8:58:10] [LgThinqAirConditioner] device response {
  resultCode: '0000',
  result: {
    modelName: 'RAC_056905_TR',
    subModelName: '',
    deviceType: 401,
    deviceCode: 'AI01',
    alias: 'KLİMA',
    deviceId: 'd27c0210-7149-11d3-80b1-a06faae9be90',
    fwVer: '2.5.8_RTOS_3K',
    imageUrl: 'ac_home_wall_airconditioner_img.png',
    ssid: 'Micro',
    macAddress: 'a0:6f:aa:e9:be:90',
    networkType: '02',
    timezoneCode: 'Europe/Istanbul',
    timezoneCodeAlias: 'Europe/Istanbul',
    utcOffset: 3,
    utcOffsetDisplay: '+03:00',
    dstOffset: 3,
    dstOffsetDisplay: '+03:00',
    curOffset: 3,
    curOffsetDisplay: '+03:00',
    sdsGuide: '{"deviceCode":"AI01"}',
    newRegYn: 'N',
    remoteControlType: '',
    online: false,
    platformType: 'thinq1',
    regDt:<PHONE_NUMBER>1139,
    modelProtocol: 'STANDARD',
    order: 0,
    drServiceYn: 'N',
    regDtUtc: '20200105091139',
    tclcount: 0
  }
}
[2020-5-13 8:58:10] [LgThinqAirConditioner] device response.result.snapshot undefined
[2020-5-13 8:58:10] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property 'airState.operation' of undefined

Hmm that's very interesting -- the response is successful, but snapshot is missing 🤔 usually that is where the temperature, fan speed, status, etc is.
Just to confirm, you've successfully controlled this A/C unit with the "LG ThinQ" app, correct? If you haven't yet, could you try opening the app, view the A/C controls, and then watch the Homebridge logs for ~60 seconds to see if the interval error comes up again?
There's one API that I didn't enable yet because it didn't seem required, but maybe this device model relies on it...

Yes I am using LG Thinq app for a long time. I open my AC device with it and send some commands. I am pasting some logs after the operation.
btw, I just noticed that when I send heat command from Apple Home, logs shows dry command instead heat. I don't know if it is expected behaviour. Just want to let you know.
[2020-5-13 9:25:08] [LgThinqAirConditioner] Getting device status d27c0210-7149-11d3-80b1-a06faae9be90
[2020-5-13 9:25:11] [LgThinqAirConditioner] device response {
  resultCode: '0000',
  result: {
    modelName: 'RAC_056905_TR',
    subModelName: '',
    deviceType: 401,
    deviceCode: 'AI01',
    alias: 'KLİMA',
    deviceId: 'd27c0210-7149-11d3-80b1-a06faae9be90',
    fwVer: '2.5.8_RTOS_3K',
    imageUrl: 'ac_home_wall_airconditioner_img.png',
    ssid: 'Micro',
    macAddress: 'a0:6f:aa:e9:be:90',
    networkType: '02',
    timezoneCode: 'Europe/Istanbul',
    timezoneCodeAlias: 'Europe/Istanbul',
    utcOffset: 3,
    utcOffsetDisplay: '+03:00',
    dstOffset: 3,
    dstOffsetDisplay: '+03:00',
    curOffset: 3,
    curOffsetDisplay: '+03:00',
    sdsGuide: '{"deviceCode":"AI01"}',
    newRegYn: 'N',
    remoteControlType: '',
    online: false,
    platformType: 'thinq1',
    regDt:<PHONE_NUMBER>1139,
    modelProtocol: 'STANDARD',
    order: 0,
    drServiceYn: 'N',
    regDtUtc: '20200105091139',
    tclcount: 0
  }
}
[2020-5-13 9:25:11] [LgThinqAirConditioner] device response.result.snapshot undefined
[2020-5-13 9:25:11] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property 'airState.operation' of undefined

[2020-5-13 9:26:08] [LgThinqAirConditioner] Getting device status d27c0210-7149-11d3-80b1-a06faae9be90
[2020-5-13 9:26:09] [LgThinqAirConditioner] device response {
  resultCode: '0000',
  result: {
    modelName: 'RAC_056905_TR',
    subModelName: '',
    deviceType: 401,
    deviceCode: 'AI01',
    alias: 'KLİMA',
    deviceId: 'd27c0210-7149-11d3-80b1-a06faae9be90',
    fwVer: '2.5.8_RTOS_3K',
    imageUrl: 'ac_home_wall_airconditioner_img.png',
    ssid: 'Micro',
    macAddress: 'a0:6f:aa:e9:be:90',
    networkType: '02',
    timezoneCode: 'Europe/Istanbul',
    timezoneCodeAlias: 'Europe/Istanbul',
    utcOffset: 3,
    utcOffsetDisplay: '+03:00',
    dstOffset: 3,
    dstOffsetDisplay: '+03:00',
    curOffset: 3,
    curOffsetDisplay: '+03:00',
    sdsGuide: '{"deviceCode":"AI01"}',
    newRegYn: 'N',
    remoteControlType: '',
    online: false,
    platformType: 'thinq1',
    regDt:<PHONE_NUMBER>1139,
    modelProtocol: 'STANDARD',
    order: 0,
    drServiceYn: 'N',
    regDtUtc: '20200105091139',
    tclcount: 0
  }
}
[2020-5-13 9:26:09] [LgThinqAirConditioner] device response.result.snapshot undefined
[2020-5-13 9:26:09] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property 'airState.operation' of undefined

Cool, thanks for confirming! I just pushed version 0.3.4, which includes the API I didn't previously include. Could you try updating to 0.3.4, restart, and wait ~2 minutes to see if it comes up? You should see a successful [LgThinqAirConditioner] Renewing monitoring line pop up in the logs
The other thing that stands out to me is online: false in the response, and platformType is thinq1. I haven't tried this with a thinq1 device, so if this still doesn't work, this plugin might need to switch between APIs for this

On the dry vs heat piece: my A/C unit calls this a “dry” mode, so I wrote it as “dry” internally. But heat/dry do share the same low-level API values so it should work the same

Hi, I assume 0.3.4 is not available on npm. Also I cannot see update on homebridge gui.

Sorry, forgot to publish -- 0.3.4 should be up now

New logs coming ☺
[2020-5-13 10:05:22] [LgThinqAirConditioner] Getting device status d27c0210-7149-11d3-80b1-a06faae9be90
[2020-5-13 10:05:22] [LgThinqAirConditioner] Renewing monitoring d27c0210-7149-11d3-80b1-a06faae9be90
[2020-5-13 10:05:22] [LgThinqAirConditioner] device response {
  resultCode: '0000',
  result: {
    modelName: 'RAC_056905_TR',
    subModelName: '',
    deviceType: 401,
    deviceCode: 'AI01',
    alias: 'KLİMA',
    deviceId: 'd27c0210-7149-11d3-80b1-a06faae9be90',
    fwVer: '2.5.8_RTOS_3K',
    imageUrl: 'ac_home_wall_airconditioner_img.png',
    ssid: 'Micro',
    macAddress: 'a0:6f:aa:e9:be:90',
    networkType: '02',
    timezoneCode: 'Europe/Istanbul',
    timezoneCodeAlias: 'Europe/Istanbul',
    utcOffset: 3,
    utcOffsetDisplay: '+03:00',
    dstOffset: 3,
    dstOffsetDisplay: '+03:00',
    curOffset: 3,
    curOffsetDisplay: '+03:00',
    sdsGuide: '{"deviceCode":"AI01"}',
    newRegYn: 'N',
    remoteControlType: '',
    online: false,
    platformType: 'thinq1',
    regDt:<PHONE_NUMBER>1139,
    modelProtocol: 'STANDARD',
    order: 0,
    drServiceYn: 'N',
    regDtUtc: '20200105091139',
    tclcount: 0
  }
}
[2020-5-13 10:05:22] [LgThinqAirConditioner] device response.result.snapshot undefined
[2020-5-13 10:05:22] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property 'airState.operation' of undefined
(node:16020) UnhandledPromiseRejectionWarning: Error: Request failed with status code 400
    at createError (/usr/local/lib/node_modules/homebridge-lg-thinq-ac/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/usr/local/lib/node_modules/homebridge-lg-thinq-ac/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/homebridge-lg-thinq-ac/node_modules/axios/lib/adapters/http.js:236:11)
    at IncomingMessage.emit (events.js:322:22)
    at endReadableNT (_stream_readable.js:1187:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:16020) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 11)

Gotcha, looks like this might be a ThinQ 1 vs ThinQ 2 issue 😞
Have you tried this plugin before? I couldn’t get it working because my device is on ThinQ 2, but it might work for your A/C on ThinQ 1: https://github.com/beele/HomebridgeLgSmartThinqAirco
Otherwise I can try to get this plugin working for ThinQ 1, but I may need your help 😅

Hi, yes this plugin works for me. But some functions don't work with this plugin like mode switch. So I wanted to try alternatives and your one is very promising. ☺
If you want to get ThinQ 1 working, I can help you with pleasure.

I have 2 ACs, both of them connects to v2:
platformType: 'thinq2'
I can turn on/off the devices, but there is no temp status :(
Also, I receive [LgThinqAirConditioner] Error during interval update Error: invalid error message.
Thanks! 👍

@vaxi87 Do you see this same error?

Cannot read property 'airState.operation' of undefined

If not, would you mind opening a new issue for this? Please include the model of your two A/C units as well

@sman591 You mentioned Charles Proxy. I've got it set up on my machine with my iOS device proxying to it. I've never used it before so I'm not sure of the steps that are best for getting you helpful logs.

I've also got SSL proxying enabled so I can actually see the content that the LG Thinq app is sending/receiving.

@jakemauer Perfect! If Charles Proxy is working, we can figure out what the thinq1 devices are expecting. We'd be looking at:

What action was taken on the device (e.g. status refresh, tapped power on/off, changed mode, changed temp, changed fan speed)
The full URL requested
The HTTP method used
The request body sent (if any; not used if HTTP method is GET)
All HTTP headers included in the request

Usually the same per-request, so we don't need to copy & paste each unless they're different
These do include sensitive auth credentials/secrets which must be redacted

If you want to try it out and share the results, I'd maybe suggest putting them in "summary" blocks or create a Gist of each and share it

@sman591 I'm planning on working on this this weekend. What servers should I be looking at traffic from/to?

I’m not sure which exactly, but you’ll probably end up whitelisting a few for SSL to find it. I found the easiest way is to tap controls on the phone and see which HTTP request is sent immediately with it

I'm having the same issue with a LW8017ERSM. I'm more than happy to do any testing you may need.
[5/27/2020, 12:29:47 AM] [LgThinqAirConditioner] device response {   resultCode: '0000',   result: {     modelName: 'WIN_056905_CA',     deviceType: 401,     deviceCode: 'AI01',     alias: 'Air Conditioner',     deviceId: 'bc343550-ee86-11e7-b0fd-7c1c4ec13713',     fwVer: '2.6.2_RTOS_3K',     imageUrl: 'ac_home_window_airconditioner_img.png',     ssid: 'NachoWiFi',     macAddress: '7c:1c:4e:c1:37:13',     networkType: '02',     timezoneCode: 'America/Toronto',     timezoneCodeAlias: 'USA/Toronto',     utcOffset: -5,     utcOffsetDisplay: '-05:00',     dstOffset: -4,     dstOffsetDisplay: '-04:00',     curOffset: -4,     curOffsetDisplay: '-04:00',     sdsGuide: '{"deviceCode":"AI01"}',     newRegYn: 'N',     online: false,     platformType: 'thinq1',     regDt:<PHONE_NUMBER>1129,     modelProtocol: 'STANDARD',     order: 0,     drServiceYn: 'N',     regDtUtc: '20200527011129',     tclcount: 0   } } [5/27/2020, 12:29:47 AM] [LgThinqAirConditioner] device response.result.snapshot undefined [5/27/2020, 12:29:47 AM] [LgThinqAirConditioner] Error parsing power state TypeError: Cannot read property 'airState.operation' of undefined [5/27/2020, 12:29:47 AM] [LgThinqAirConditioner] Error parsing mode TypeError: Cannot read property 'airState.opMode' of undefined [5/27/2020, 12:29:47 AM] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property 'airState.tempState.current' of undefined

Hi - I tried getting this set up for my AC but seems like mine is using the Thinq V1 API. I have charles proxying set up. Do you still need some help debugging this? Happy to help.

Here's a gist with some of the major API calls being made https://gist.github.com/caseypugh/279ef3d1db5a87173a5d0819d5974dd5 - hope this helps

Hey @caseypugh, thanks for providing the gist! That's super helpful, and I think should cover exactly what we need to get this working for ThinQ 1. I'll dig into it

I also have an AC with ThinQ1, apparently. Thanks for the support @sman591. Eager to see this updated.

Would love to see support for ThinQ1. Mine is RAC_056905_US as well

Would also like support for ThinkQ1. ModelRAC_056905_WW

Would also like support for ThinkQ1. model PAC_910604_WW and RAC_056905_KR

I'm on RAC_056905_WW, would love to have it working

Hello, my ac model is RAC_056905_WW and I'm getting the message on the console: ˜"AR‑CONDICIONADO" (model RAC_056905_WW) uses the thinq1 platform, which is not supported."
Is there any solution?

+1 for Thinq1 support please.  Model: POT_056905_WW

Hello, my ac model is RAC_056905_WW and I'm getting the message on the console: ˜"AR‑CONDICIONADO" (model RAC_056905_WW) uses the thinq1 platform, which is not supported."
Is there any solution?

Did you completely miss the purpose of this thread and the message provided? It's not yet supported.

Please support for RAC_056905_WW model, Thank You
Por favor soporte para el modelo RAC_056905_WW, Gracias

Please support for RAC_056905_WW model, Thank You

Having the same issue!
[11/13/2020, 4:53:21 PM] [LgThinqAirConditioner] Initiating auth with provided redirect URL [11/13/2020, 4:53:22 PM] [LgThinqAirConditioner] Discover found 1 total devices [11/13/2020, 4:53:22 PM] [LgThinqAirConditioner] "AIR CONDITIONER" (model RAC_056905_NL) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates.

My PAC_910604_WW Doesn't work too...
I hope thinq1 will be supported!(Since https://github.com/beele/HomebridgeLgSmartThinqAirco ) Shows errors while installing!

My PAC_910604_WW Doesn't work too...
I hope thinq1 will be supported!(Since https://github.com/beele/HomebridgeLgSmartThinqAirco ) Shows errors while installing!

am getting and error for the cool and heat model only, the model with only cool feature has no issue
error massage:
[3/1/2021, 5:21:36 PM] [LgThinqAirConditioner] "M Air Conditioner" (model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see #4 for updates.

Hi!
(model RAC_056905_RU) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates.

Hi,
(model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates

Hi,
On behalf of everyone else I would like to ask if there are any updates regarding issue #4.
Thanks!

Same hereL
Starting to advertise 'Homebridge 4CA3 F437' using bonjour-hap backend! [25/06/2021, 21:53:24] Homebridge v1.3.4 (Homebridge 4CA3) is running on port 51499. [25/06/2021, 21:53:24] [LgThinqAirConditioner] Initiating auth with provided redirect URL [25/06/2021, 21:53:26] [LgThinqAirConditioner] Discover found 1 total devices [25/06/2021, 21:53:26] [LgThinqAirConditioner] "LG Oranżeria" (model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates.

[20/07/2021, 14:01:20] [LgThinqAirConditioner] "AC" (model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates. Please update

Please support these models as well. Thank you.
[7/25/2021, 8:37:50 PM] [LgThinqAirConditioner] "Air 1" (model PAC_910604_KR) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates.
[7/25/2021, 8:37:50 PM] [LgThinqAirConditioner] "Air 2" (model RAC_056905_KR) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates.

Having the same issue!
7.08.2021, 00:35:49Lg Thinq Ac BridgeLgThinqAirConditionerDiscover found 3 total devices 7.08.2021, 00:35:49Lg Thinq Ac BridgeLgThinqAirConditionerERROR"Gabinet" (model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates. 7.08.2021, 00:35:49Lg Thinq Ac BridgeLgThinqAirConditionerERROR"Sypialnia" (model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates. 7.08.2021, 00:35:49Lg Thinq Ac BridgeLgThinqAirConditionerERROR"Salon" (model RAC_056905_WW) uses the thinq1 platform, which is not supported. Please see https://github.com/sman591/homebridge-lg-thinq-ac/issues/4 for updates.
what can I do?

hi everyone, I'm developer of plugin homebridge-lg-thinq, I'm currently working to implement AC support (for both thinq1 & thinq2), I need some people test it
following up here: https://github.com/nVuln/homebridge-lg-thinq/issues/41

I'd like to help you test, but I use HOOBS


Minimap brains have halos of incorrect colours

Rejecting this as the default - can you set smoothing_steps=1 in _plot_minimap_hexel() in plot.py if you need it for figures.


MacOS catalina, docker build, "missing binary operator before token "(""

dear all!
I am strictly following guide on: https://github.com/maximkulkin/esp-homekit-demo/wiki/Build-instructions-ESP8266-(Docker)
I installed newest docker. Created mentioned files with nano. When running command:
docker run -it --rm -v pwd:/project -w /project esp-rtos make -C examples/sonoff_basic all
I am getting following set of errors:
MacBook-Pro-Karol-7:esp-homekit-demo karolborys$ docker run -it --rm -v pwd:/project -w /project esp-rtos make -C examples/sonoff_basic all make: Entering directory '/project/examples/sonoff_basic' CC /opt/esp-open-rtos/open_esplibs/libmain/timers.c In file included from /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_rtos.h:170:0,                  from /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/portmacro.h:39,                  from /opt/esp-open-rtos/FreeRTOS/Source/include/portable.h:52,                  from /opt/esp-open-rtos/FreeRTOS/Source/include/FreeRTOS.h:62,                  from /opt/esp-open-rtos/include/etstimer.h:23,                  from /opt/esp-open-rtos/open_esplibs/libmain/timers.c:10: /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_timer.h:68:24: error: missing binary operator before token "("      #if XCHAL_INT_LEVEL(XCHAL_TIMER0_INTERRUPT) <= XCHAL_EXCM_LEVEL                         ^ /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_timer.h:75:4: error: #error "There is no suitable timer in this Xtensa configuration."    #error "There is no suitable timer in this Xtensa configuration."     ^ /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_timer.h:79:54: error: missing binary operator before token "("  #define XT_TIMER_INTNUM         XCHAL_TIMER_INTERRUPT(XT_TIMER_INDEX)                                                       ^ /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_timer.h:83:5: note: in expansion of macro 'XT_TIMER_INTNUM'  #if XT_TIMER_INTNUM == XTHAL_TIMER_UNCONFIGURED      ^ /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_timer.h:80:48: error: missing binary operator before token "("  #define XT_TIMER_INTPRI         XCHAL_INT_LEVEL(XT_TIMER_INTNUM)                                                 ^ /opt/esp-open-rtos/FreeRTOS/Source/portable/esp8266/xtensa_timer.h:85:7: note: in expansion of macro 'XT_TIMER_INTPRI'  #elif XT_TIMER_INTPRI > XCHAL_EXCM_LEVEL        ^ /opt/esp-open-rtos/open_esplibs/component.mk:15: recipe for target 'build/open_esplibs_libmain//timers.o' failed make: *** [build/open_esplibs_libmain//timers.o] Error 1 make: Leaving directory '/project/examples/sonoff_basic'
is there any fix for this?
what I am doing wrong?
thanks for help!

fixed, there was some problems with docker. Clearing cache and running commands again helped.


redis cache issues

Hello, I've noticed two issues when trying to use the redis-cache plugin:

The cache's get and set commands don't parse and stringify the values correctly. For example, we pass an object instead of a string as the value to redis's set command, which causes it to error out.
The cache doesn't handle aliases. When using aliases in my queries, the response comes back correctly the first time (when it gets cached) but then doesn't map the aliases correctly on subsequent pulls. These fields instead get mapped to null.

Let me know if you have any questions. Thanks!

Could you try with this canary version?
https://github.com/Urigo/graphql-mesh/pull/1134#issuecomment-723899688

That looks to have solved the first issue. I'm still having problems with aliases, though.

Looking at the difference, I see that the following fields are in the initial result but not the cached result:
[Symbol(subschemaErrors)]: [],
    [Symbol(initialSubschema)]: {
      schema: [GraphQLSchema],
      executor: [Function: executor],
      transforms: [Array]
    }

Since symbols can't be stringified, this makes sense that they're getting left out. I wonder if the alias information is somehow being stored in these fields that are getting discarded. I am using a custom transform that uses @graphql-tools/stitch to transform the schema, so maybe that has something to do with it.

@jakeblaxon We're having this alias issue also, did you find any workaround or solution to this bug?

@jackedgson I ended up using the apollo-server-cache-redis and apollo-server-plugin-response-cache packages instead, since I'm using apolloserver to host the schema that graphql-mesh generates.
One note: I'm using apollo-server-cache-redis 1.2.2, which required a patch to work correctly. I used patch-package to apply the following patch upon npm install:
filename: apollo-server-cache-redis+1.2.2.patch
diff --git a/node_modules/apollo-server-cache-redis/dist/RedisCache.js b/node_modules/apollo-server-cache-redis/dist/RedisCache.js
index 91c4295..3827f78 100644
--- a/node_modules/apollo-server-cache-redis/dist/RedisCache.js
+++ b/node_modules/apollo-server-cache-redis/dist/RedisCache.js
@@ -27,6 +27,7 @@ class RedisCache {
         });
     }
     set(key, value, options) {
+        if (!this.isReady()) return Promise.resolve(undefined);
         return __awaiter(this, void 0, void 0, function* () {
             const { ttl } = Object.assign({}, this.defaultSetOptions, options);
             if (typeof ttl === 'number') {
@@ -38,6 +39,7 @@ class RedisCache {
         });
     }
     get(key) {
+        if (!this.isReady()) return Promise.resolve(undefined);
         return __awaiter(this, void 0, void 0, function* () {
             const reply = yield this.loader.load(key);
             if (reply !== null) {
@@ -47,6 +49,7 @@ class RedisCache {
         });
     }
     delete(key) {
+        if (!this.isReady()) return Promise.resolve(undefined);
         return __awaiter(this, void 0, void 0, function* () {
             return yield this.client.del(key);
         });
@@ -62,6 +65,10 @@ class RedisCache {
             return;
         });
     }
+    isReady() {
+        if (!this.client || !this.client.status) return false;
+        return this.client.status.toLowerCase() === 'ready';
+    }
 }
 exports.RedisCache = RedisCache;
 //# sourceMappingURL=RedisCache.js.map

This was from a while ago, though, so they may have fixed it by now.

Closing the issue due to the inactivity. Feel free to create a new one if the issue persists.


gather atlas code

this gathers all atlas-specific code into one collection 'atlas-collection' and moves it to nearly the bottom of the dependency tree (see tobuild.txt)
The only modules dependent on atlas-collection are now control and the director - for LCM types.
I'll look at these next with a view to making atlas collection required only to run the physical robot
depends on:
https://github.com/openhumanoids/signal-scope/pull/20
Referred to in:
https://github.com/openhumanoids/oh-distro/issues/30

pulled in the signal scope reference, ok to accept?

I've only had a read thru on my phone, haven't had a chance to test.  Is the expectation that this pull request just moves and renames files, but does not change behavior?  Do I need to test on hardware or sim?

it just moves code. no behavior changes.
I've tested basic walking and manipulation in drake sim


Visualizing loss and accuracy metric in Malaria detection

I want to implement visualizations for loss and accuracy metric in malaria detection model. Can you please assign it to me?, I am a participant of GSSOC'21.

Hey, @HimanchalChandra assigning this issue to you. Don't forget to submit the pr only when the contribution period of GSSOC'21 starts. Happy Coding :)

@HimanchalChandra updates?


ERROR in error TS5060: Option 'paths' cannot be used without specifying '--baseUrl' option

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

CLI: tns --version = 6.7.8
Cross-platform modules: @nativescript/core has 7.0.0-rc.33 version and is up to date
Android Runtime: tns-android is not installed
iOS Runtime: tns-ios has 6.5.2 version and is up to date
Plugin(s): -
NativeScript-Angular: 10.0.0
Angular: 10.0.4

Describe the bug
tns run ios throws:
ERROR in error TS5060: Option 'paths' cannot be used without specifying '--baseUrl' option.
To Reproduce
ng new -c=@nativescript/schematics test2
cd test2
npm i
tns run ios   # throws incompatibility
tns migrate
tns run ios   # throws the error above

Expected behavior
The application should start in an iOS simulator.
Sample project
This is a bare empty project generated by the commands above.

I'm having the same issue

Anyone get a solution?

Just in case anyone is still struggling with this, one of the many things I've changed is that although every documentation says you should no longer need the tsconfig.json, you still do. Also the tsconfig.tns.json
Good news is there's actually light at the end of the tunnel.
I'm struggling with getting a properly working baseline for Angular10 but I did get to the point where web, android and ios were at least loading.
I will try to share this as soon as I get a coundown timer working as well

Just in case anyone is still struggling with this, one of the many things I've changed is that although every documentation says you should no longer need the tsconfig.json, you still do. Also the tsconfig.tns.json
Good news is there's actually light at the end of the tunnel.
I'm struggling with getting a properly working baseline for Angular10 but I did get to the point where web, android and ios were at least loading.
I will try to share this as soon as I get a coundown timer working as well

Hey, did you manage to fully run your project

is there any update on this?

created a fresh project using ng new --collection=@nativescript/schematics my-mobile-app

then I do 'tns run android'

I get this same error without modifying anything.
is there any update on this?

Same problem.
Change 2 files: tsconfig.json and nativescript.config.json.
See below and than it will work
You have to change file tsconfig.json.
add:  "baseUrl": ".",
{
"compilerOptions": {
"module": "ESNext",
"target": "es2015",
"moduleResolution": "node",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"skipLibCheck": true,
"noEmitHelpers": true,
"noEmitOnError": true,
"baseUrl": ".",
"lib": [
"es2015",
"dom",
"es6"
]
},
"exclude": [
"node_modules",
"platforms"
]
}
and change file: nativescript.config.json
change the appResourcesPath: 'app/App_Resources' (add app folder)
nativescript.config.json
import { NativeScriptConfig } from '@nativescript/core';
export default {
id: 'org.nativescript.mymobileapp',
appResourcesPath: 'app/App_Resources',
android: {
v8Flags: '--expose_gc',
markingMode: 'none',
},
appPath: 'app'
} as NativeScriptConfig;