Pyls interface not working

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[x] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
The interface to the python language server isn't working properly any more after some pip upgrades (none of them in conflict with spyder version restrictions). On the spyder4 development branch things like hover info, go to definition and C-I doesn't work any more. For spyder3 I have similar issues (ofc for the features that are available there).
What steps reproduce the problem?

Start spyder3 with debug output
Hover over item/ click go to definition,...

What is the expected output? What do you see instead?

Nothing happens, but debug output shows:

Paste Traceback/Error Below (if applicable)

Spyder3 debug output

2019-05-14 13:19:40,815 [DEBUG] [spyder.plugins.editor.plugin] -> LSP request: 'textDocument/hover'
2019-05-14 13:19:40,815 [DEBUG] [spyder.plugins.editor.lsp.client] -> python request: textDocument/hover
2019-05-14 13:19:40,824 [DEBUG] [spyder.plugins.editor.lsp.client] -> python Response error: {'code': -32602, 'message': '_pickle.UnpicklingError: could not find MARK', 'data': {'traceback': ['  File "/home/clackner/.local/lib/python3.7/site-packages/pyls_jsonrpc/endpoint.py", line 113, in consume\n    self._handle_request(message[\'id\'], message[\'method\'], message.get(\'params\'))\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pyls_jsonrpc/endpoint.py", line 182, in _handle_request\n    handler_result = handler(params)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pyls_jsonrpc/dispatchers.py", line 23, in handler\n    return method(**(params or {}))\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pyls/python_ls.py", line 271, in m_text_document__hover\n    return self.hover(textDocument[\'uri\'], position)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pyls/python_ls.py", line 215, in hover\n    return self._hook(\'pyls_hover\', doc_uri, position=position) or {\'contents\': \'\'}\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pyls/python_ls.py", line 122, in _hook\n    return hook_handlers(config=self.config, workspace=self.workspace, document=doc, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/hooks.py", line 289, in __call__\n    return self._hookexec(self, self.get_hookimpls(), kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/manager.py", line 68, in _hookexec\n    return self._inner_hookexec(hook, methods, kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/_tracing.py", line 80, in __call__\n    return outcome.get_result()\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result\n    raise ex[1].with_traceback(ex[2])\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call\n    result = func()\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/_tracing.py", line 78, in \n    outcome = _Result.from_call(lambda: self.oldcall(hook, hook_impls, kwargs))\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/manager.py", line 62, in \n    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall\n    return outcome.get_result()\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result\n    raise ex[1].with_traceback(ex[2])\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall\n    res = hook_impl.function(*args)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/pyls/plugins/hover.py", line 10, in pyls_hover\n    definitions = document.jedi_script(position).goto_definitions()\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/api/__init__.py", line 220, in goto_definitions\n    definitions = helpers.evaluate_goto_definition(self._evaluator, context, leaf)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/api/helpers.py", line 143, in evaluate_goto_definition\n    return evaluator.goto_definitions(context, leaf)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/__init__.py", line 240, in goto_definitions\n    return helpers.evaluate_call_of_leaf(context, name)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/helpers.py", line 77, in evaluate_call_of_leaf\n    return context.eval_node(leaf)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/base_context.py", line 145, in eval_node\n    return self.evaluator.eval_element(self, node)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/__init__.py", line 200, in eval_element\n    return self._eval_element_if_evaluated(context, element)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/__init__.py", line 212, in _eval_element_if_evaluated\n    return self._eval_element_cached(context, element)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/cache.py", line 40, in wrapper\n    rv = function(obj, *args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/__init__.py", line 216, in _eval_element_cached\n    return eval_node(context, element)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/debug.py", line 81, in wrapper\n    return func(*args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/syntax_tree.py", line 48, in wrapper\n    return func(context, *args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/syntax_tree.py", line 72, in eval_node\n    return eval_atom(context, element)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/syntax_tree.py", line 202, in eval_atom\n    search_global=True\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/_compatibility.py", line 274, in \n    return lambda *args, **kwargs: self.func(obj, *args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/base_context.py", line 162, in py__getattribute__\n    return f.find(filters, attribute_lookup=not search_global)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/debug.py", line 81, in wrapper\n    return func(*args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/finder.py", line 56, in find\n    names = self.filter_name(filters)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/finder.py", line 141, in filter_name\n    for filter in filters:\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/filters.py", line 482, in get_global_filters\n    origin_scope=origin_scope):\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/context/module.py", line 66, in get_filters\n    for star_module in self.star_imports():\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/cache.py", line 40, in wrapper\n    rv = function(obj, *args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/context/module.py", line 78, in star_imports\n    new = infer_import(self, name)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/cache.py", line 40, in wrapper\n    rv = function(obj, *args, **kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/imports.py", line 79, in infer_import\n    types = importer.follow()\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/imports.py", line 284, in follow\n    return self._do_import(self.import_path, self.sys_path_with_modifications())\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/imports.py", line 372, in _do_import\n    is_global_search=True,\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/compiled/subprocess/__init__.py", line 108, in wrapper\n    kwargs=kwargs,\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/compiled/subprocess/__init__.py", line 199, in run\n    return self._send(id(evaluator), function, args, kwargs)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/evaluate/compiled/subprocess/__init__.py", line 242, in _send\n    is_exception, traceback, result = pickle_load(self._process.stdout)\n', '  File "/home/clackner/.local/lib/python3.7/site-packages/jedi/_compatibility.py", line 469, in pickle_load\n    return pickle.load(file, encoding=\'bytes\')\n']}}

Versions

Spyder version: 4 dev
Python version: 3.7.3
Qt version: 5.12.2
PyQt version: 5.12.2
Operating System name/version: Ubuntu 1904

Dependencies

pygments >=2.0     :  2.4.0 (OK)
qdarkstyle >=2.6.4 :  2.6.8 (OK)
sphinx >=0.6.6     :  2.0.1 (OK)
psutil >=0.3       :  5.6.2 (OK)
pyls >=0.19.0;<0.25:  0.24.0 (OK)
nbconvert >=4.0    :  5.5.0 (OK)
pandas >=0.13.1    :  None (NOK)
numpy >=1.7        :  1.16.3 (OK)
sympy >=0.7.3      :  None (NOK)
cython >=0.21      :  None (NOK)
qtconsole >=4.2.0  :  4.4.4 (OK)
IPython >=4.0      :  7.5.0 (OK)
matplotlib >=2.0.0 :  3.0.3 (OK)
pylint >=0.25      :  2.3.1 (OK)

pip3 list

Package                       Version
----------------------------- ----------
alabaster                     0.7.12
apturl                        0.5.2
asn1crypto                    0.24.0
astroid                       2.2.5
atomicwrites                  1.3.0
attrs                         19.1.0
autopep8                      1.4.4
Babel                         2.6.0
backcall                      0.1.0
bleach                        3.1.0
blinker                       1.4
Brlapi                        0.6.7
certifi                       2019.3.9
cffi                          1.12.3
chardet                       3.0.4
cloudpickle                   1.0.0
cryptography                  2.6.1
cupshelpers                   1.0
cycler                        0.10.0
decorator                     4.4.0
defer                         1.0.6
defusedxml                    0.6.0
distro                        1.4.0
distro-info                   0.0.0
docutils                      0.14
entrypoints                   0.3
future                        0.17.1
httplib2                      0.12.3
idna                          2.8
imagesize                     1.1.0
ipykernel                     5.1.0
ipython                       7.5.0
ipython-genutils              0.2.0
ipywidgets                    7.4.2
isort                         4.3.19
jedi                          0.13.3
jeepney                       0.4
Jinja2                        2.10.1
jsonschema                    3.0.1
jupyter                       1.0.0
jupyter-client                5.2.4
jupyter-console               6.0.0
jupyter-core                  4.4.0
keyring                       19.0.1
kiwisolver                    1.1.0
language-selector             0.1
launchpadlib                  1.10.6
lazr.restfulclient            0.14.2
lazr.uri                      1.0.3
lazy-object-proxy             1.4.1
louis                         3.8.0
macaroonbakery                1.2.3
MarkupSafe                    1.1.1
matplotlib                    3.0.3
mccabe                        0.6.1
mistune                       0.8.4
more-itertools                7.0.0
mypy                          0.701
mypy-extensions               0.4.1
nbconvert                     5.5.0
nbformat                      4.4.0
nbsphinx                      0.4.2
netifaces                     0.10.9
ngs-templates                 0.0.1
ngsgui                        0.1.11
notebook                      5.7.8
numpy                         1.16.3
numpydoc                      0.9.1
oauthlib                      3.0.1
packaging                     19.0
pandocfilters                 1.4.2
parso                         0.4.0
pbr                           5.2.0
pexpect                       4.7.0
pickleshare                   0.7.5
pip                           19.1.1
pkginfo                       <IP_ADDRESS>
pluggy                        0.11.0
prometheus-client             0.6.0
prompt-toolkit                2.0.9
protobuf                      3.7.1
psutil                        5.6.2
ptyprocess                    0.6.0
py                            1.8.0
pybind11-stubgen              0.0.2
pycairo                       1.18.1
pycodestyle                   2.5.0
pycparser                     2.19
pycups                        1.9.73
pydocstyle                    3.0.0
pyflakes                      2.1.1
Pygments                      2.4.0
PyGObject                     3.32.0
PyJWT                         1.7.1
pylint                        2.3.1
pymacaroons                   0.13.0
PyNaCl                        1.3.0
PyOpenGL                      3.1.0
pyparsing                     2.4.0
PyQt5                         5.12.2
PyQt5-sip                     4.19.17
PyQtWebEngine                 5.12.1
pyRFC3339                     1.1
pyrsistent                    0.15.2
PySide2                       5.12.3
pytest                        4.5.0
python-apt                    1.8.4
python-dateutil               2.8.0
python-debian                 0.1.34
python-jsonrpc-server         0.1.2
python-language-server        0.24.0
pytz                          2019.1
pyxdg                         0.26
PyYAML                        5.1
pyzmq                         18.0.1
QDarkStyle                    2.6.8
QtAwesome                     0.5.7
qtconsole                     4.4.4
QtPy                          1.7.1
readme-renderer               24.0
requests                      2.21.0
requests-toolbelt             0.9.1
requests-unixsocket           0.1.5
rope                          0.14.0
scipy                         1.2.1
screen-resolution-extra       0.0.0
SecretStorage                 3.1.1
Send2Trash                    1.5.0
setuptools                    41.0.1
shiboken2                     5.12.3
simplejson                    3.16.0
six                           1.12.0
snowballstemmer               1.2.1
Sphinx                        2.0.1
sphinx-rtd-theme              0.4.3
sphinxcontrib-applehelp       1.0.1
sphinxcontrib-devhelp         1.0.1
sphinxcontrib-htmlhelp        1.0.2
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.2
sphinxcontrib-serializinghtml 1.1.3
spyder                        4.0.0.dev0
spyder-kernels                1.4.0.dev0
system-service                0.3
systemd-python                234
terminado                     0.8.2
testpath                      0.4.2
testresources                 2.0.1
tornado                       6.0.2
tqdm                          4.32.1
traitlets                     4.3.2
twine                         1.13.0
typed-ast                     1.3.5
ubuntu-advantage-tools        19.2
ubuntu-drivers-common         0.0.0
ufw                           0.36
unattended-upgrades           0.1
urllib3                       1.25.2
vboxapi                       1.0
virtualenv                    16.5.0
wadllib                       1.3.3
wcwidth                       0.1.7
webencodings                  0.5.1
wheel                         0.33.1
widgetsnbextension            3.4.2
wrapt                         1.11.1
wurlitzer                     1.0.2
xkit                          0.0.0
yapf                          0.27.0

Best Christopher

after some pip upgrades

Sorry but this is extremely vague. Closing for now because users will be able to report PyLS server errors when we merge PR #9266.
Until then, please create a new virtualenv and try again. That's the only advice we can give you right now.

Sorry but this is extremely vague.

I gave a complete list of all installed package versions and the debug output.

Closing for now because users will be able to report PyLS server errors when we merge PR #9266.

Ah perfect, that's what I need to debug this I guess. I'll check out that branch and have a look into it.

And as far as I understand this would only include the PyLS traceback into the error report. I have included this in the section "Paste Traceback/Error Below (if applicable)" anyway...

I gave a complete list of all installed package versions

Sure, but Spyder has like 90 dependencies between direct and indirect ones, so unless you can tell us "I updated X from version Y to Z and code completion broke", just providing pip list is of no help, sorry.

I have included this in the section "Paste Traceback/Error Below (if applicable)" anyway...

Sorry, I didn't see it because it was collapsed. It looks like a bug in Jedi, but I can barely read it.
Please resubmit this once PR #9266 lands, which will make things much easier to handle for us. Thanks!

That PR should be ready tomorrow.

Ok, thanks


KAFKA-7280: Synchronize consumer fetch request/response handling

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@hachikuji I haven't written tests yet, but just wanted to know if this is the right place for synchronization. I was initially thinking of making FetchSessionHandler thread-safe, but then found that there was also a HashMap in Fetcher. So I updated Fetcher instead.

@hachikuji  I have documented the change and also added a test. I left completedFetches as a ConcurrentLinkedQueue since it is accessed by various methods and we should probably synchronize all the public methods in Fetcher if we want to change that. I think full synchronization is not necessary, but I am fine with doing that too to make it more obvious.  Let me know what you think.


Topology submission to aurora throttles

I submitted Exclamation topology to the aurora cluster, which results in the tasks throttling.

Below are the resources of the mesos cluster.

Even if I change the resource configuration in heron.aurora , It still throttles.

My bad. There were a few missing dependencies in the executor nodes. Works fine now.


Webtransactions wrong with Padrino instrumentation

Description
In the new Webtransactions overview of the New Relic Web UI, all transactions are reported to be of type "Rack#NewRelic::Rack::AgentHooks#call"
This had had been working for the 6.x versions of newrelic_rpm. My current version is 7.1.0; 7.0.0 was skipped.
The application in question is using pure client-side configuration; newrelic.yml was not touched during the upgrade to 7.1.0.
I've tried adding
instrumentation:
  padrino: chain

to the configuration file to see if the new prepending logic is at fault, but all that changed was that the color of the graph in the Webtransactions page changed from magenta to blue.
Looking at data from the slow traces, the reported segments seem plausible, so I'm assuming only the naming of transactions got broken somehow.
Expected Behavior
Different routes being reported as different transaction types.
Your Environment
ruby 2.7.4
padrino 0.15.1
newrelic_rpm 7.1.0
Agent Log
newrelic_agent.log

Hello @sriedel
Thanks for bringing this to our attention. I was able to replicate this same incorrect behavior with 7.0+ of the ruby agent. It appears that the changes we made when adding the prepend instrumentation option for padrino introduced a bug in the instrumentation that our test suite didn't catch. It is not working correctly for the prepend or chain options of instrumentation. Reverting to 6.15 or earlier of the ruby agent should resolve this problem until we release a fix for this.
I'll mark this ticket as a bug and put it in an upcoming bug smash so that we can address this issue.


No license

Hi Jack,
Interesting, but you need to select a license.
Usually github offers MIT because it's the best choice but it's up to you.

Hi Phil,
Thank you for your suggestion. Yes I will and let you know.
Recently has been quite packed with my job..

Hi Phil,
License added

Great!


how to use css variables

you wrote in the doc that css variables can be used change the colors. But in the compiled css under daemonite-material\css\ I cannot see any color attribute is using var(--abc). Can you elaborate how to use these css variables described in the doc.
many thanks
iocast

Css vars are declared at the beginning of daemonite and bootstrap CSS files.
:root {
--amber: #ffc107;
--blue: #2196f3;
--blue-grey: #607d8b;
}
To call a CSS var in your own CSS, write
.my-class {
background-color: var(--amber);
}
This is basic CSS, please close issue.

thanks for the reply
Sadly is does not work. What i tried is to change the colors for --primary etc.
this is my css
@import 'daemonite-material/css/material.css';
:root {
  --primary: #77c565;
  --secondary: #927628;
}

What I expect is that for e.g. for the css class is-selected the new color #77c565 is used.
currently it uses the following css
.floating-label.is-focused label {
    color: #ff4081;
}

or do I miss something

CSS vars are not used to theme but to use variables ... as it implies.
To theme Daemonite, open variables/_palette.scss and change primary and secondary colors.
Then rebuild material.scss (with GUI like Koala)

So means your are not using this default principal var(--variable, fallback). Hence I have to use sass in my build process. hmmm ... ok thanks.

OK, for now, change the --amber: color declaration.
Add to your CSS : .floating-label.is-focused label {
color: var(--amber);
}
Import your CSS AFTER material.css.
Test

Yes but then I have to do it for all color's. I go with a sass plugin for postcss.
thanks

Hello, small 🆙 on this issue for a n00b who doesn't really get how scss works.
What are the steps one has to follow to be able to customize material theming?
Thanks a looot for your help and the amazing work you guys did on Material 🔥

Simple steps.

Download http://koala-app.com/ and install Koala.

Download Daemonite material UI.

Go to assets/scss/variables/

Open _palette.scss.

Replace colors

Open koala and open assets/scss folder

material.scss file is shown in gui.
Click on it,
Check options Autoprefix and Output Style compressed in side panel.
A new material.css file is generated.

Enjoy your custom theme.

To remove unncessary Bootstrap components from your theme, you can comment lines (add // in front of the line) in material.scss file.
Ex : // @import 'bootstrap/alert';

You can find tutorials online, but here is the simplest start.
Telle me if you need more info.
Or you can try my upgraded material theme.

Thank you soooo much @djibe your solution worked perfectly the first time. It's pure gold 💎 Thanks for your help and answering on a closed issue moreover 😅
Please share with me your upgraded material theme as well so I can take a look and use it as well 🙏
Thanks again you really helped me save some hours here!
Cheers from France 👋

@rashad
My material is here : https://github.com/djibe/material/tree/master/css
Still some bugs with snackbars ans switches.
Cheers from France


[WIP] Synthesis of a Clifford circuit into layers

Summary
This PR decompose a Clifford into 8 layers of 1-qubit and 2-qubit gates.
There are two layers of CZ gates, and one layer of CX gates.
This PR provides a similar construction to Lemma 8 of https://arxiv.org/abs/2003.09412.
co-authored by @alexanderivrii.
Details and comments
The aim is to decompose a Clifford for LNN (linear nearest neighbor) connectivity, see #9036
This PR will be followed by two other PRs for LNN connectivity:

Decompose a CZ circuit in depth 2n by https://arxiv.org/abs/1705.09176

Decompose a CX-CZ circuit in depth 5n by https://arxiv.org/abs/2210.16195

Both of these PRs will allow to decompose a Clifford circuit in depth 7n over LNN connectivity.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

208 of 231 (90.04%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.05%) to 84.597%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/synthesis/linear/linear_matrix_utils.py
47
51
92.16%

qiskit/synthesis/clifford/clifford_decompose_layers.py
160
179
89.39%

Files with Coverage Reduction
New Missed Lines
%

src/sabre_swap/layer.rs
2
98.95%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
63262

Relevant Lines:
74780

💛  - Coveralls


touch tagging belongs_to associations

It'd be helpful for caching if taggable objects were touched when their tags change.

:+1: for the idea!

Any update with this? Would be a useful feature to have.

This is still isn't merged? 😢


Provide a walkthrough of the xgboost Housing Serve example using high level fairing APIs

A walkthrough of the https://github.com/kubeflow/fairing/blob/master/examples/prediction/xgboost-high-level-apis.ipynb

@joeliedtke is working with the Fairing engineering team on this tutorial. It may end up that we put all the info in the notebook rather than create a separate website doc.

I think a notebook with Markup is definitely a better document. We might
still need a website doc just as a pointer and an introduction to the
notebook.
On Fri, Apr 5, 2019 at 9:25 AM Sarah Maddox<EMAIL_ADDRESS>wrote:

@joeliedtke https://github.com/joeliedtke is working with the Fairing
engineering team on this tutorial. It may end up that we put all the info
in the notebook rather than create a separate website doc.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubeflow/website/issues/593#issuecomment-480338108,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALOqZrwIrLjTgzV4jshC_IhTNhtNd_Q0ks5vd3jjgaJpZM4cddkE
.

/close


Robustly discover packages with @manypkg

Resolves: https://github.com/embroider-build/release-plan/issues/46
Requires: https://github.com/ef4/lerna-changelog/pull/8 (included in this PR, as it is one half of the solution to #46)
Can test on your own repo with an override:
"pnpm": {
  "overrides": {
    "release-plan": "github:embroider-build/release-plan#tmp-manypkg-dist"
  }
}

Additionally, this should unlock the ability to remove --singlePackage, as @manypkg just works.

As discussed in the tooling meeting: we should add some basic tests here before proceeding

done -- I added two tests for some scenarios that I'm most immediately concerned with.

I marked this as an enhancement because it changes the internal implementation of something. Really it's a bugfix because it's trying to fix a specific bug but it's too much of a big change to just be considered a bugfix 👍


typo in documentation in libvirt provider

Smallest typo fix.
Changes Title (replace this with a logical title for your changes)
typo in documentation in libvirt provider
Description
Small typo.
Status

done, ready for review

Checklist (tick everything that applies)

[ ] Code linting (required, can be done after the PR checks)
[X] Documentation
[ ] Tests
[ ] ICLA (required for bigger changes)

Coverage remained the same at 88.975% when pulling 186cc81decdf7cd6be798a41e67d52f0b0ba6fd6 on mykaul:mykaul-libvirt-typo into 84735c8924f75394426e37106ed7db5070dd0071 on apache:trunk.

👍


Figure out namespace

Currently it is Azure.AI.DocumentTranslation proposal is to change to Azure.AI.TextTranslation

Agreed namespace for .NET will be Azure.AI.Translator.DocumentTranslation

Changed again to Azure.AI.Translation.Document
It might change in the future but at least for beta.1 release, this will be the namespace.
All changes have been applied


Integrate with Sonarcloud.io on build

This PR should enable integration with Sonar Cloud

@gastaldi Thx, do you know why sonar not picking up code coverage?

@SlyngDK no clue, but my guess is because this reflects the parent project not the modules

Or maybe because it takes some time to analyze. There is some data here already: https://sonarcloud.io/dashboard?id=quarkiverse_quarkus-logging-json


Make it possible for cards to have an image instead of text

This is useful for cards like Jokers.
Ideally, the implementation would be very extendable, and also separate the specific images used from the code. For example, one way to do this would be to create a JSON/CSV file containing card name / image pairs.
It might be an option to allow for markup instead of using an image, but I'm afraid that would probably quickly become complicated.

Allowing the user to upload it's own picture and name will allow for a much wider range of card games that rely on non traditional decks. Allow for saving of cards and decks to persistent storage so that players can configure and share game types.


Unexpected error while processing event 106 , 201

Describe the bug
There is thousands error log as following:
1. Unexpected error while processing event 201.
Traceback (most recent call last):
  File "hummingbot/core/pubsub.pyx", line 165, in hummingbot.core.pubsub.PubSub.c_trigger_event
    typed_listener.c_call(arg)
  File "hummingbot/core/event/event_listener.pyx", line 25, in hummingbot.core.event.event_listener.EventListener.c_call
    self(arg)
  File "/home/hummingbot/hummingbot/core/event/event_forwarder.py", line 24, in __call__
    self._to_function(self.current_event_tag, self.current_event_caller, arg)
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 230, in _did_create_order
    self.save_market_states(self._config_file_path, market, no_commit=True)
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 165, in save_market_states
    market_states: Optional[MarketState] = self.get_market_states(config_file_path, market)
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 193, in get_market_states
    market_states: Optional[MarketState] = query.one_or_none()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3316, in one_or_none
    ret = list(self)
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3388, in __iter__
    self.session._autoflush()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1586, in _autoflush
    self.flush()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2479, in flush
    self._flush(objects)
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2571, in _flush
    flush_context.transaction = transaction = self.begin(
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 947, in begin
    self.transaction = self.transaction._begin(nested=nested)
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 316, in _begin
    self._assert_active()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 288, in _assert_active
    raise sa_exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback().  Unexpected error while processing event 106.
Traceback (most recent call last):
  File "hummingbot/core/pubsub.pyx", line 165, in hummingbot.core.pubsub.PubSub.c_trigger_event
    typed_listener.c_call(arg)
  File "hummingbot/core/event/event_listener.pyx", line 25, in hummingbot.core.event.event_listener.EventListener.c_call
    self(arg)
  File "/home/hummingbot/hummingbot/core/event/event_forwarder.py", line 24, in __call__
    self._to_function(self.current_event_tag, self.current_event_caller, arg)
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 381, in _did_cancel_order
    self._update_order_status(event_tag, market, evt)
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 363, in _update_order_status
    order_record: Optional[Order] = session.query(Order).filter(Order.id == order_id).one_or_none()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3316, in one_or_none
    ret = list(self)
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3388, in __iter__
    self.session._autoflush()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1586, in _autoflush
    self.flush()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2479, in flush
    self._flush(objects)
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2571, in _flush
    flush_context.transaction = transaction = self.begin(
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 947, in begin
    self.transaction = self.transaction._begin(nested=nested)
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 316, in _begin
    self._assert_active()
  File "/home/hummingbot/miniconda3/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 288, in _assert_active
    raise sa_exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(sqlite3.OperationalError) disk I/O error
[SQL: INSERT INTO "Order" (id, config_file_path, strategy, market, symbol, base_asset, quote_asset, creation_timestamp, order_type, amount, leverage, price, last_status, last_update_timestamp, exchange_order_id, position) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
[parameters: ('XLM-USD', 'conf_pure_mm.yml', 'pure_market_making', 'binance', 'XLM-USDT', 'XLM', 'USDT',<PHONE_NUMBER>335, 'LIMIT',<PHONE_NUMBER>, 1, 0.359043, 'BuyOrderCreated',<PHONE_NUMBER>335, '313142789', 'NILL')]
(Background on this error at: http://sqlalche.me/e/e3q8) (Background on this error at: http://sqlalche.me/e/7s2a)

Steps To Reproduce
I have no idea how to reproduce it. I will try to find it but It is too much complicated.
Screenshots
Note: in our cloud, we have 50 bots that are deployed via docker and they are isolated from each other, so divide error count in screenshots by 50 to get just for one bot errors count.

Count of errors:

Release version
V 0.41.0
Machine Info:
Ubuntu 20.04
X64
Docker Swarm on multiple machines.
About 120 core CPU and 320G  ram in total cloud services that Hummingbots deployed on them.
Thanks in advance.
┆Issue is synchronized with this Clickup task by Unito

@M-Mortaz I'm not sure if this will help however can you check if you have sufficient storage for your docker instance. It appears that the error is due to failing to insert new entries on the sql tables.

@M-Mortaz Hi! I would like to follow up on this, Is the suggestion of my colleague worked for you? Let us know if it works. Thanks!

@RC-13 @glenntomas @glenntomas
Hi, thanks for your responses. I'll continue the conversation on behalf of my partner @M-Mortaz.

I'm not sure if this will help however can you check if you have sufficient storage It seems that the error is due to failing to insert new entries on the sql tables.

We've checked the infrastructure. There is no disk space problem.

Thank you for reaching out. Can you send us your config so we can try to reproduce and check if we will get the same issue. Thank you.

We use a custom connector, alongside binance in a pure market-making strategy. But none of the stack traces are related to our connector nor binance, so we assume it's a core-related issue. Here is the configuration:

There is a partial fix in this PR https://github.com/hummingbot/hummingbot/pull/5088 specifically for the Error 107.


'The primary field is not found' exception when primary key column name is different from Primary attribute property name is different while Connection.Update is called

I have a below class which represents my MySql Database table with Primary key column as 'PEOPLEID'
 [Map("[PEOPLE]")]
    public class CreatePeopleRecordModel
    {
        [Map("PEOPLEID")]
        [Primary]
        public Guid PeopleId { get; set; }

        [Map("FIRSTNAME")]
        public string FirstName { get; set; }

        [Map("LASTNAME")]
        public string LastName { get; set; }
}

When I call below code,
connection.Update(tableName, model);

"The primary field is not found."
I debugged the code and found that in below class getting the exception -
RepoDb.Core\RepoDb\Operations\DbConnection\Update.cs

// Variables needed
            var primary = DbFieldCache.Get(connection, tableName, transaction)?.FirstOrDefault(dbField => dbField.IsPrimary);
            var where = (QueryGroup)null;

            // Identity the property via primary
            if (primary != null)
            {
                var property = entity?.GetType().GetProperty(primary.Name, BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance);
                if (property != null)
                {
                    where = new QueryGroup(new QueryField(new Field(property.Name, property.PropertyType), property.GetValue(entity)));
                }
                else
                {
                    throw new PrimaryFieldNotFoundException("The primary field is not found.");
                }
            }

The Primary key variable is resolved only based on database table column which is 'PEOPLEID', but in my class I have 'PeopleId'. It is not checking for [Primary] attribute exist in the class.
Suggest me how to solve this issue?

Discussed via Gitter Chat. This seems to be working at SqlServer but not in MySql. There will be investigation on Author's side and the agreement is to deliver the fix (if there is) by the end of this week.  Otherwise, the author will provide an alternative fix to @eMTeTeam .

From the users.

The issue is also existing in the RepoDb.Core. I found a casing problem and ignorance of [Primary] attribute.
This will be fixed on RepoDb.MySql > v1.0.0, and RepoDb > v1.10.1.

The alternative is to use the following method.
connection.Update(tableName, model, model.PeopleId);

or
connection.Update<CreatePeopleRecordModel>(model);

The fixes is now available via RepoDb.MySql v1.0.1-beta1.

Verified the fix with RepoDb.MySql v1.0.1-alpha1 and it works.
Thanks! Cheers.

This issue will be closed on the actual release of RepoDb.MySql (v1.0.1).

The official fix is now available via RepoDb.MySql (v1.0.1). Closing this ticket now.


CVE-2021-45105 - This code makes use of log4j

could you please update this code and verify it is not vulnerable to CVE-2021-45105

log4j != log4js
log4js still has a vulnerability ... but not the one listed in this issue
closing


clj-kondo: 2022.03.09 -> 2022.04.08

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/clj-kondo/versions.
meta.description for clj-kondo is: "A linter for Clojure code that sparks joy"
meta.homepage for clj-kondo is: "https://github.com/clj-kondo/clj-kondo"
meta.changelog for clj-kondo is: "https://github.com/clj-kondo/clj-kondo/blob/v2022.04.08/CHANGELOG.md"
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/xyc924rgrsm8rmzhcqh9ixgmn7zy72dp-clj-kondo-2022.04.08/bin/clj-kondo had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 2022.04.08 with grep in /nix/store/xyc924rgrsm8rmzhcqh9ixgmn7zy72dp-clj-kondo-2022.04.08
found 2022.04.08 in filename of file in /nix/store/xyc924rgrsm8rmzhcqh9ixgmn7zy72dp-clj-kondo-2022.04.08

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
clj-kondo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xyc924rgrsm8rmzhcqh9ixgmn7zy72dp-clj-kondo-2022.04.08 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A clj-kondo https://github.com/r-ryantm/nixpkgs/archive/af91ac7b0f2a6f8cd0ba4b96b939c026efaa09eb.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xyc924rgrsm8rmzhcqh9ixgmn7zy72dp-clj-kondo-2022.04.08
ls -la /nix/store/xyc924rgrsm8rmzhcqh9ixgmn7zy72dp-clj-kondo-2022.04.08/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

clj-kondo

Maintainer pings
cc @jlesquembre @bandresen @thiagokokada for testing.

Result of nixpkgs-review pr 168123 run on x86_64-linux 1

1 package built:

clj-kondo

LGTM.
Waiting until the PRs checks.


Is config.enforceSsl removed from javalin 5?

Migrating from 4 to 5, couldn't figure this out.
Thanks.

It's probably been moved under config.plugins ?

Yeah. config.plugins.enableSslRedirects() seems to be doing the trick.


Quick Accent - Toolbar overflow

Description of the new feature / enhancement

When using windows with 125% scaling the toolbar for the character e (that has a lot of options when selecting it) the bar goes overboard and I cannot see all the options.
Make it possible for the toolbar to wrap into multiple lines so that we can navigate it (maybe even using up and down arrows).
Scenario when this would be used?
When the toolbar overflows
Supporting information
No response

No way to deal with this?


Project quick switch list is not as useful as ST3's default list

ST3's default project switcher will intelligent order projects by recency, and will allow you to do quick toggling by automatically highlighting the last project you had open, and putting it at the top.
So if you last used Project B, and you are on Project A, you could just super+ctrl+p+enter to instantly switch to Project B, and then because you were last on Project A when you switched to Project B, Project A will be on top and highlighted for you and you can do the same thing to keep toggling and jumping back and forth between those projects.
Also, the project manager options should not be in the list of project switching - that is what the command pallet is for. The project quick switch list should just be projects, and nothing more.
That said, I love how you can define a project patch for sublime to look in, and I love how it strips out the silly .sublime-project extension from the names, so that part is awesome.

It totally makes sense and I will consider it.

I really like this package, but my first tought after using it for a few seconds was exactly the same. I switch projects all the time during my day, so I would really like the quick project switch behavior to be more like it is in default subl. Thanks !

In the most recent commit f3ed7ce, you can specify "show_recent_projects_first" : true in the settings to show recent projects first. I hope it will provoide more similar experience to the default sublime behavior.
I will publish it to package control a few day later.


start time limit for tally

In today's meeting, discussion of a mock election prompted @jimscarver to note that tally.sh supports ignoring votes after a deadline but not before some time.
@ian-bloom noted the start will be when dust is distributed, so addressing this issue doesn't necessarily involve coding changes to tally.sh nor tally.sql.

people have already send dust in production to those addresses according to @ian-bloom


Adding About Us page

I propose adding an About Us page for better user experience and link it to the footer.

@abhay-raj19  Request you to assign this task to me under GSSOC'24.

Proceed with the idea @Amruta7203

@abhay-raj19 Request you to add the gssoc labels.

@abhay-raj19 add the relevant gssoc labels


Streamline ipy kernel install

Draft PR to fix #11650 Streamline how we prompt to install ipykernel.
There are two options represented in this branch:

Ask for Conda/Pip in the when we prompt that ipykernel needs to be installed.
Just allow the user to decide whether ipykernel should be installed and automatically choose conda or pip.

The latest version of this PR represents the second option, which I think is the better choice.  The first option is represented in the first commit of this branch.

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[x] Appropriate comments and documentation strings in the code.
[x] Has sufficient logging.
[x] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

I'd prefer to make this change global and apply to core extension & other parts of DS as well. Else the UX is inconsistent.

I disagree. The user doesn't care whether we're consistent here or not. You can argue whether we should support installing ipykernel from a channel other than conda or pip, but if there's not a hard technical reason to do so, I don't see why we need to be consistent just to be consistent with what I will argue is a suboptimal workflow. :)
If anything, we can experiment with this new workflow and not affect the rest of the extension until we are confident it's good to keep. There are two pieces of negative feedback I think we could get here:

"No! my environment is completely hosed now because you installed ipykernel from pip or conda and not package manager xxxx".
"Why does the rest of the extension saddle me with needing to choose between pip and conda when installing some dependency? I don't really care, just make it work."

Unless you know for sure that #1 is going to be a common complaint, then I think this is a good fix to keep right now.

Codecov Report

Merging #11665 into master will increase coverage by 0.07%.
The diff coverage is 45.45%.

@@            Coverage Diff             @@
##           master   #11665      +/-   ##
==========================================
+ Coverage   60.60%   60.67%   +0.07%
==========================================
  Files         627      629       +2
  Lines       33865    33995     +130
  Branches     4763     4791      +28
==========================================
+ Hits        20523    20627     +104
- Misses      12355    12361       +6
- Partials      987     1007      +20

Impacted Files
Coverage Δ

src/client/common/utils/localize.ts
95.53% <ø> (ø)

...science/jupyter/kernels/kernelDependencyService.ts
75.00% <0.00%> (-14.29%)
:arrow_down:

src/client/common/installer/productInstaller.ts
89.58% <50.00%> (-3.25%)
:arrow_down:

src/datascience-ui/react-common/arePathsSame.ts
75.00% <0.00%> (-12.50%)
:arrow_down:

src/client/common/utils/platform.ts
64.70% <0.00%> (-11.77%)
:arrow_down:

src/client/logging/formatters.ts
53.57% <0.00%> (-6.43%)
:arrow_down:

src/client/common/utils/async.ts
85.10% <0.00%> (-3.27%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0.00%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0.00%> (-1.57%)
:arrow_down:

... and 22 more

Continue to review full report at Codecov.

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


Can't sign in / create new account in China

Very like this new browser, but I try to download it on my laptop and use it, problem is coming.
I can't sign in by my account,(just created before)
and I also cannot even create new account, when I am trying to sign in or create new account, browser will freeze.
thanks

hmm... arcfox does not have an account system...


Update cs.js

We use the million, milliard, billion, billiard and so on system. Abbreviation for billion (1 000 000 000) is therefore mld.

Friendly advice: reread the "Contributing" part and try again.
Inspiration here: https://github.com/adamwdraper/Numeral-js/pull/159
And don't expect it getting merged here...


Increase default step count to 10M and expose to env variable

What kind of change does this PR introduce? (check one with "x")
[] Bugfix
[] Feature
[] Code style update (formatting, local variables)
[] Refactoring (no functional changes, no api changes)
[] Other... Please describe:

Fixes: #
What is the current behavior?
What is the new behavior?

I think this needs to be done in a better way. This just increases us from one arbitrary limit to another, at least make it the contents of an int.
Also having this as something we can set seems odd ... if you have a process that's going to loop and hit the limit how will the task starter ever know what to see the limit too ?

And the other issue is that at present when the limit is hit, processing halts but no error is thrown, so there's no way to know if you've hit the limit


backport: bitcoin#18275, #20220, #20305, #20410, #20426, #20573, #21083, #21201, #21786, #21787 (fee backports)

Issue being fixed or feature implemented
Just regular backports from bitcoin v0.21, v22; mostly wallet+fee related
What was done?

bitcoin/bitcoin#18275
bitcoin/bitcoin#20220
bitcoin/bitcoin#20305
bitcoin/bitcoin#20426
bitcoin/bitcoin#20410
bitcoin/bitcoin#20573
bitcoin/bitcoin#21201
bitcoin/bitcoin#21083
bitcoin/bitcoin#21787

How Has This Been Tested?
Run unit and functional tests
Breaking Changes
Some wallet rpc (sendtoaddress, sendmany, send) have a new argument fee_rate which is inserted before verbose.
Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
[x] I have assigned this pull request to a milestone

@knst knst force-pushed the bp-v21-p28 branch from 9dad07e to 61a1b78

addressed comments from PR. Still draft so far as CJ issue is not addressed yet.

Pls consider 0206704a0b + dropping b3d540b. The fix tldr is basically switching from fee estimation to cmd-line/cfg params only for CJ. It should work just fine since 99.9999% of the time fees are at the base level and no estimation is needed at all.


Add autocorrection for Lint/TopLevelReturnWithArgument

I have added an autocorrection that simply removes the argument part from top-level return.

Before submitting the PR make sure the following are checked:

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

I think there is not a fix other than removing arguments, so this logic looks acceptable to me.


peco: 0.5.8 -> 0.5.10

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/peco/peco/releases.
meta.description for peco is: "Simplistic interactive filtering tool"
meta.homepage for peco is: "https://github.com/peco/peco"
meta.changelog for peco is: "https://github.com/peco/peco/blob/v0.5.10/Changes"
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/h57w912bi763m506phgsa53lbspql0x1-peco-0.5.10/bin/peco passed the binary check.

1 of 1 passed binary check by having a zero exit code.

0 of 1 passed binary check by having the new version present in output.

found 0.5.10 with grep in /nix/store/h57w912bi763m506phgsa53lbspql0x1-peco-0.5.10

found 0.5.10 in filename of file in /nix/store/h57w912bi763m506phgsa53lbspql0x1-peco-0.5.10

directory tree listing: https://gist.github.com/3e7ab600a0bbdd74b610bfdcdb3b0e93

du listing: https://gist.github.com/09d1f4f8ecefdefcd5f3a01eb2d0f2ad

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
peco

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h57w912bi763m506phgsa53lbspql0x1-peco-0.5.10 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A peco https://github.com/r-ryantm/nixpkgs/archive/ff8b896bf26051ef2dcbabaf3d1285f22e7653f4.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h57w912bi763m506phgsa53lbspql0x1-peco-0.5.10
ls -la /nix/store/h57w912bi763m506phgsa53lbspql0x1-peco-0.5.10/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

peco

Maintainer pings
cc @pSub @kalbasit for testing.

Result of nixpkgs-review pr 134439 run on x86_64-linux 1

1 package built:

peco


Automatic failover with multi region in case of region failure

We are using CosmosDb with multi-region writes and SDK is configured to connect in Direct mode (default value).
Is SDK going to auto failover to another region in case of region failure?
The EnableTcpConnectionEndpointRediscovery is set to false (false is a default value).
Today I've noticed that after configuring private endpoint my application failed to connect to Cosmos Db until I restarted application. It looks like SDK didn't refresh endpoints and after configuring private endpoint public access was disabled.
I think similar situation might appear in case of a region failure.
From the documentation:

Multiple IP addresses are created per private endpoint:
One for the global (region-agnostic) endpoint of the Azure Cosmos account
One for each region where the Azure Cosmos account is deployed

In fact I can see 3 private IP addresses assigned to a Private Endpoint:

region agnostic
IP for westeurope
IP for northeurope

Using nslookup I can see Cosmos Db domain name is resolved to region agnostic IP address.
What will be the behavior in case of for example westeurope failure (SDK preferred region is set to westeurope).
Will it failover automatically?
Should I set EnableTcpConnectionEndpointRediscovery to true?

@kamilzzz Are you setting the ApplicationRegion or ApplicationPreferredRegions? See https://docs.microsoft.com/en-us/azure/cosmos-db/troubleshoot-sdk-availability for the details on how the SDK behaves.

@ealsur I'm setting ApplicationRegion.
From the documentation I understand that with multi write regions SDK will failover automatically both for read & write operations.
So looks like creating a Private Endpoint when application is running is a specific case and unavailability is expected?

I am not aware of the semantics of private endpoint in this case. Can you share which was the error you got?

The error was:
Response status code does not indicate success: Forbidden (403); Substatus: 0; ActivityId: 3b311ace-eeb3-429b-bd9c-7614932ace3f; Reason: (Message: {"Errors":["Request is blocked. Please check your authorization token and Cosmos DB account firewall settings."]}

This is not a normal failover scenario. A 403 with substatus 0 means the request is being blocked by the backend directly, there is no action the client can take and failover is not expected to work. Either the keys you are using are incorrect or as the error says, there is a firewall/VPN configuration blocking the request. It could be related to Private endpoints being enabled while the client was already initialized, which might block the addresses the client was already using.
I'll make sure this is covered in the 403 documentation, but it is not related to failover scenarios.


Another attempt to get docfx working

We're going to run docfx from a separate Jenkins instance we own, rather than getting it to work on AppVeyor. Closing this PR.


botocore version conflict in requirements

A vanilla install of the requirements file from the repo shows a conflict in the version of botocore:
boto3 1.8.5 has requirement botocore<1.12.0,>=1.11.5, but you'll have botocore 1.10.67 which is incompatible.
I'm guessing this is because of the issue with moto that will cause test failures with the more recent botocore version.

Awesome, thanks! :shipit:


tools.run_flow does not use OAuth2WebServerFlow redirect_uri property.

oauth2client.tools.run_flow requires that we pass it an oauth2client.client.OAuth2WebServerFlow object as the 'flow' parameter.  The OAuth2WebServerFlow object has a property 'redirect_uri' that I was assuming would be used by the run_flow function as a callback.  However, when I tried setting that property it was never honored. It looks like run_flow is just setting it to the auth_host:auth_port on this line: https://github.com/google/oauth2client/blob/master/oauth2client/tools.py#L191
Is this by design? Or would it be possible to have run_flow use the redirect_uri set on the OAuth2WebServerFlow object?

I doubt that it's by design.
Flesh out this report a little more? Is the current behavior of the library wrong, or just not as helpful as it otherwise could be?

Thank you for creating this issue, however, this project is deprecatedand we will only be addressing critical security issues. You can read moreabout this deprecation here.
If you need support or help using this library, we recommend that you ask yourquestion on StackOverflow.
If you still think this issue is relevant and should be addressed, pleasecomment and let us know!


O_CLOEXEC should be FD_CLOEXEC

F_SETFD takes FD_CLOEXEC
See https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html

Thanks!  That is correct and a good change.  Merged it into the code base.


mkerr: Fix string literal conversion

This fixes a compiler warning on clang-1<IP_ADDRESS> when compiling the generated code as C++11:
ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]

I'm not sure what's wrong in the failing test. All tests pass when I run them locally. What to do?

I'm not sure what's wrong in the failing test. All tests pass when I run them locally. What to do?

It's difficult to see how this PR could cause that failure. It appears unconnected.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

I agree this is trivial change as the first commit is really trivial and the second one is generated by openssl make itself so there is nothing copyrightable on that one either.

@levitte @paulidale do you agree with CLA: trivial?

I agree that it's trivial

Merged to master. Thank you for your contribution.


In anroid，when textbox focus，UI extends to the status bar

I use the built-in demo and add a textbox. When the textbox is in focus, the UI will extend to the status bar
Before：

Focus TextBox After：

When I comment out the following code, this issue will not occur：

Thanks for reporting the bug.
Is it reproducible on real device too?

I have tested it on a real device and this problem will not occur.
It always looks like image 2

Thanks for reporting the bug.
Is it reproducible on real device too?


CQM from LP file

Adding method that reads LP file and converts to CQM instance.
Pure quadratic terms are not allowed yet.

Tests are failing because you'd need to add pyparsing to the setup.py as a requirement.

You made the right fix, but we do a --no-deps install in the CI. You'll also need to add it here. Not obvious I know, sorry about that.

Codecov Report

Merging #958 (ad3ab49) into main (a0a9e23) will increase coverage by 0.24%.
The diff coverage is 93.40%.

@@            Coverage Diff             @@
##             main     #958      +/-   ##
==========================================
+ Coverage   83.91%   84.16%   +0.24%
==========================================
  Files          79       80       +1
  Lines        6815     6996     +181
==========================================
+ Hits         5719     5888     +169
- Misses       1096     1108      +12

Impacted Files
Coverage Δ

dimod/serialization/lp.py
93.07% <93.07%> (ø)

dimod/constrained.py
93.27% <94.23%> (+0.14%)
:arrow_up:

Continue to review full report at Codecov.

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

needed to rebase to include last changes in the add_variable method.


Add trailing newlines

$ dotenv-linter
Checking .env
Checking .env.me
.env.me:12 EndingBlankLine: No blank line at the end of the file

Checking .env.sample
Checking .env.vault
.env.vault:12 EndingBlankLine: No blank line at the end of the file

Found 2 problems

Thanks @nikolay for reporting this. We have this on our TODOs.

https://github.com/dotenv-org/dotenv-vault/pull/184/commits/4e59104558ca7129d106cef409ee6b55981bcb71


baseUrl requires files to be on app server for URL to render correctly

I'm using asset_compress on CakePHP 2.1 alpha...
It seems that when I use baseUrl for my css and js assets, the assets must exist in my cachePath for the CDN URL to render correctly.
Ex of when my cachePath is empty and baseUrl is defined (for CSS):
<link href="http://mycdn.com/asset_compress/assets/get/common.css" type="text/css" rel="stylesheet">

And now when I run the build shell and have my css files in the cachePath. Config not changed :
<link href="http://mycdn.com/cache_css/common.v1326774859.css" type="text/css" rel="stylesheet">

I may have something in my configuration wrong (gist below of my config) however I thought the point of having an external CDN (baseUrl) is so you don't have to store your css/js on your app server.  Is there a way to not require my js/css to be on my app server and only on my CDN?
Here is my asset_compress.ini: https://gist.github.com/1ba4d7ec6825ee29db7d

The build files existing is how the plugin figures out whether or not to use the CDN url.  I guess it could be controlled by debug instead.  If there is a baseUrl + debug = 0, then use the CDN otherwise use the development builder.  Does that seem reasonable?

Yes that would be perfect. Thanks Mark.

Yes that would be perfect. Thanks Mark.

This fix made it so files do not have to be there, but now it removes the time-stamp from the URL.  Same config as in my gist above (except I added cache_css and cache_js to the end of baseUrl's).
with baseUrl not commented out and debug 0:
http://mycdn.com/cache_css/common.css
With baseUrl commented out and debug 0:
/cache_css/common.v1326928756.css
I would expect when i use baseUrl it would do something like this:
http://mycdn.com/cache_css/common.v1326928756.css

True, it will mean that you'd need to have to deploy the cache file and assets separately.  But I think people using CDN's can manage that :)

hmm not quite sure what you mean.  After running the build shell, I do deploy the cached assets to my cdn.
Ex:
build produces common.v1326928756.css. I upload that file to my CDN, which is available at http://mycdn.com/cache_css/common.v1326928756.css
Problem is when my cake view renders, it generates the css link omitting the timestamp -
asset_compress should be reading the tmp/asset_compress_build_time file to generate a CDN URL for the view that includes the timestamp -
It seemed to work like this before you made the debug 0 change (produced a CDN url that included the timestamp).

I was referring to the build time file.  It, or the cached configuration data will need to be available as the local build files are no longer scanned/checked for.  I think we are thinking the same thing :)

Yep we are on the same page. That fixed it! I really appreciate you fixing this so quickly. thanks.


The ST7789 device displays abnormalities when using the master branch.

first,I use the master branch code.
cargo.toml
[package]
name = "esp32-mipidsi-test"
version = "0.1.0"
authors = ["song<EMAIL_ADDRESS>edition = "2021"
license = "MIT OR Apache-2.0"
[dependencies]
embedded-hal = "1.0.0"
hal = { package = "esp-hal", version = "0.16.1" ,features = [ "esp32c3","eh1" ] }
esp-backtrace = { version = "0.11.1", features = ["esp32c3", "panic-handler", "exception-handler", "println"] }
esp-println = { version = "0.9.1", features = ["esp32c3"] }
embedded-graphics = "0.8.0"
display-interface-spi = "0.5.0"
mipidsi ={git="https://github.com/almindor/mipidsi",branch = "master"}
fugit = "0.3.7"
embedded-hal-bus = "0.1.0"

[features]
ILI9341 = []
ILI9342 = []
ILI9386 = []
ST7735s = []
ST7789 = []
ST7796 = []
[profile.dev]
# Rust debug is too slow.

    // Draw the right eye as a circle located at (50, 200), with a diameter of 40, filled with white
    Circle::new(Point::new(50, 200), 40)
        .into_styled(PrimitiveStyle::with_fill(Rgb565::WHITE))
        .draw(display)?;

    // Draw an upside down red triangle to represent a smiling mouth
    Triangle::new(
        Point::new(130, 140),
        Point::new(130, 200),
        Point::new(160, 170),
    )
    .into_styled(PrimitiveStyle::with_fill(Rgb565::RED))
    .draw(display)?;

    // Cover the top part of the mouth with a black triangle so it looks closed instead of open
    Triangle::new(
        Point::new(130, 150),
        Point::new(130, 190),
        Point::new(150, 170),
    )
    .into_styled(PrimitiveStyle::with_fill(Rgb565::BLACK))
    .draw(display)?;
    Ok(())
}

fn demo<T: DrawTarget<Color = Rgb565>>(display: &mut T) -> Result<(), T::Error> {
        // Draw the left eye as a circle located at (50, 100), with a diameter of 40, filled with white
        Circle::new(Point::new(0, 0), 40)
        .into_styled(PrimitiveStyle::with_fill(Rgb565::WHITE))
        .draw(display)?;
    Ok(())
}

The ST7789 device performance in the following models (x for white screen)

Model
ILI9341
ILI9342
ILI9386
ST7735
ST7789
ST7796

Display
Mirror
Mirror
x
x
x
x

ST7735 and ST7796 devices are both normal.
Link: https://github.com/Song-aff/esp32-mipidsi-test
When using mipidsi = "0.7.1"
    let mut display = Builder::st7789(di).init(&mut delay, Some(rst)).unwrap();

The display is normal.

What do you mean by "white screen"? Is the display inverted or is nothing visible at all?

What do you mean by "white screen"? Is the display inverted or is nothing visible at all?

The entire screen is white, with only the backlight on, resembling an uninitialized state.

That's strange we didn't really change the initialization of the ST7789 between 0.7.1 and the latest GIT revision. I only have access to a cheap ST7789 without a CS pin, which did work with the master branch. It might be an issue with how the CS pin is handled by the new embedded-hal and display-interface versions. Can you capture the signals on the SPI bus with an oscilloscope or logic analyzer?
You could also try to run the display without using the CS pin. This isn't a great solution, but it might help to narrow down the issue:
/// Noop impl of OutputPin.
struct NoCs;

impl OutputPin for NoCs {
    fn set_low(&mut self) -> Result<(), Self::Error> {
        Ok(())
    }

    fn set_high(&mut self) -> Result<(), Self::Error> {
        Ok(())
    }
}

impl embedded_hal::digital::ErrorType for NoCs {
    type Error = core::convert::Infallible;
}

// replace this:
    let cs = io.pins.gpio10.into_push_pull_output();

    let spi = Spi::new(peripherals.SPI2, 60u32.MHz(), SpiMode::Mode0, &clocks).with_pins(
        Some(sck),
        Some(mosi),
        NO_PIN,
        NO_PIN,
    );

    let spi_device = embedded_hal_bus::spi::ExclusiveDevice::new(spi, cs, delay);
    let di = SPIInterface::new(spi_device, dc);
// with:
    let cs = io.pins.gpio10.into_push_pull_output();
    cs.set_low().unwrap();

    let spi = Spi::new(peripherals.SPI2, 10u32.MHz(), SpiMode::Mode3, &clocks).with_pins(
        Some(sck),
        Some(mosi),
        NO_PIN,
        NO_PIN,
    );

    let spi_device = embedded_hal_bus::spi::ExclusiveDevice::new_no_delay(spi, NoCS);
    let di = SPIInterface::new(spi_device, dc);

That's strange we didn't really change the initialization of the ST7789 between 0.7.1 and the latest GIT revision. I only have access to a cheap ST7789 without a CS pin, which did work with the master branch. It might be an issue with how the CS pin is handled by the new embedded-hal and display-interface versions. Can you capture the signals on the SPI bus with an oscilloscope or logic analyzer?
You could also try to run the display without using the CS pin. This isn't a great solution, but it might help to narrow down the issue:
/// Noop impl of OutputPin.
struct NoCs;

impl OutputPin for NoCs {
    fn set_low(&mut self) -> Result<(), Self::Error> {
        Ok(())
    }

    fn set_high(&mut self) -> Result<(), Self::Error> {
        Ok(())
    }
}

impl embedded_hal::digital::ErrorType for NoCs {
    type Error = core::convert::Infallible;
}

// replace this:
    let cs = io.pins.gpio10.into_push_pull_output();

    let spi = Spi::new(peripherals.SPI2, 60u32.MHz(), SpiMode::Mode0, &clocks).with_pins(
        Some(sck),
        Some(mosi),
        NO_PIN,
        NO_PIN,
    );

    let spi_device = embedded_hal_bus::spi::ExclusiveDevice::new(spi, cs, delay);
    let di = SPIInterface::new(spi_device, dc);
// with:
    let cs = io.pins.gpio10.into_push_pull_output();
    cs.set_low().unwrap();

    let spi = Spi::new(peripherals.SPI2, 10u32.MHz(), SpiMode::Mode3, &clocks).with_pins(
        Some(sck),
        Some(mosi),
        NO_PIN,
        NO_PIN,
    );

    let spi_device = embedded_hal_bus::spi::ExclusiveDevice::new_no_delay(spi, NoCS);
    let di = SPIInterface::new(spi_device, dc);

According to your modifications, it can now function, but it seems to be mirrored.

I am an amateur player and do not have these devices at hand

According to your modifications, it can now function, but it seems to be mirrored.

Do you mean that the coordinates are mirrored or are the colors mirrored? If the colors are inverted (e.g. black is displayed as white), add .with_invert_colors(mipidsi::options::ColorInversion::Inverted) to the builder call (see the troubleshooting guide for more information about incorrect colors). If the coordinates are inverted add something like .with_orientation(Orientation::default().flip_horizontal()).

I am an amateur player and do not have these devices at hand

No worries, thanks for reporting this issue and testing the workaround. We'll try to reproduce the issue.
@almindor: Do you have a ESP-C3 to test the difference between the master version and 0.7.1?.

@almindor: Do you have a ESP-C3 to test the difference between the master version and 0.7.1?.

I'm afraid not, I'm actually stuck on a single Red-V (RISC-V) MCU atm, and am the only party responsible for updating the HAL to v1.0 on it as well. My testing is essentially blocked due to this. I do hope to get that resolved in a week or so, but I have no other  functioning MCUs atm.

[package]
name = "esp32-mipidsi-test"
version = "0.1.0"
authors = ["song<EMAIL_ADDRESS>edition = "2021"
license = "MIT OR Apache-2.0"

[dependencies]
hal = { package = "esp32c3-hal", version = "0.10.0" }
esp-backtrace = { version = "0.7.0", features = [
    "esp32c3",
    "panic-handler",
    "exception-handler",
    "print-uart",
] }
esp-println = { version = "0.5.0", features = ["esp32c3"] }
embedded-graphics = "0.8.0"
display-interface-spi = "0.4.1"
mipidsi = "0.7.1"
fugit = "0.3.7"

[profile.dev]
# Rust debug is too slow.
# For debug builds always builds with some optimization
opt-level = "s"

[profile.release]
codegen-units = 1        # LLVM can perform better optimizations using a single thread
debug = 2
debug-assertions = false
incremental = false
lto = 'fat'
opt-level = 's'
overflow-checks = false

#![no_std]
#![no_main]

/* --- Needed by ESP32-c3 --- */
use esp_backtrace as _;
use hal::{
    clock::ClockControl,
    peripherals::Peripherals,
    prelude::*,
    spi::{Spi, SpiMode},
    timer::TimerGroup,
    Delay, Rtc, IO,
};
/* -------------------------- */

use embedded_graphics::{
    pixelcolor::Rgb565,
    prelude::*,
    primitives::{Circle, Primitive, PrimitiveStyle, Rectangle, Triangle},
};

// Provides the parallel port and display interface builders
use display_interface_spi::SPIInterfaceNoCS;

// Provides the Display builder
use mipidsi::Builder;

use fugit::RateExtU32;

#[entry]
fn main() -> ! {
    let peripherals = Peripherals::take();
    let mut system = peripherals.SYSTEM.split();
    let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
    let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);

    // Disable the RTC and TIMG watchdog timers
    let mut rtc = Rtc::new(peripherals.RTC_CNTL);
    let timer_group0 = TimerGroup::new(
        peripherals.TIMG0,
        &clocks,
        &mut system.peripheral_clock_control,
    );
    let mut wdt0 = timer_group0.wdt;
    let timer_group1 = TimerGroup::new(
        peripherals.TIMG1,
        &clocks,
        &mut system.peripheral_clock_control,
    );
    let mut wdt1 = timer_group1.wdt;
    rtc.swd.disable();
    rtc.rwdt.disable();
    wdt0.disable();
    wdt1.disable();

    // Define the delay struct, needed for the display driver
    let mut delay = Delay::new(&clocks);

    // Define the Data/Command select pin as a digital output
    let dc = io.pins.gpio7.into_push_pull_output();
    // Define the reset pin as digital outputs and make it high
    let mut rst = io.pins.gpio8.into_push_pull_output();
    rst.set_high().unwrap();

    // Define the SPI pins and create the SPI interface
    let sck = io.pins.gpio5;
    let miso = io.pins.gpio4;
    let mosi = io.pins.gpio6;
    let cs = io.pins.gpio10;
    let spi = Spi::new(
        peripherals.SPI2,
        sck,
        mosi,
        miso,
        cs,
        60_u32.MHz(),
        SpiMode::Mode0,
        &mut system.peripheral_clock_control,
        &clocks,
    );

    // Define the display interface with no chip select
    let di = SPIInterfaceNoCS::new(spi, dc);

    // Define the display from the display interface and initialize it
    let mut display = Builder::st7789(di).init(&mut delay, Some(rst)).unwrap();

    // Make the display all black
    display.clear(Rgb565::BLACK).unwrap();

    // Draw a smiley face with white eyes and a red mouth
    draw_smiley(&mut display).unwrap();

    loop {
        // Do nothing
    }
}

fn draw_smiley<T: DrawTarget<Color = Rgb565>>(display: &mut T) -> Result<(), T::Error> {
    // Draw the left eye as a circle located at (50, 100), with a diameter of 40, filled with white
    Circle::new(Point::new(50, 100), 40)
        .into_styled(PrimitiveStyle::with_fill(Rgb565::WHITE))
        .draw(display)?;

    // Draw the right eye as a circle located at (50, 200), with a diameter of 40, filled with white
    Circle::new(Point::new(50, 200), 40)
        .into_styled(PrimitiveStyle::with_fill(Rgb565::WHITE))
        .draw(display)?;

    // Draw an upside down red triangle to represent a smiling mouth
    Triangle::new(
        Point::new(130, 140),
        Point::new(130, 200),
        Point::new(160, 170),
    )
    .into_styled(PrimitiveStyle::with_fill(Rgb565::RED))
    .draw(display)?;

    // Cover the top part of the mouth with a black triangle so it looks closed instead of open
    Triangle::new(
        Point::new(130, 150),
        Point::new(130, 190),
        Point::new(150, 170),
    )
    .into_styled(PrimitiveStyle::with_fill(Rgb565::BLACK))
    .draw(display)?;

    Ok(())
}

In this situation, it is working normally.

According to your modifications, it can now function, but it seems to be mirrored.

Do you mean that the coordinates are mirrored or are the colors mirrored? If the colors are inverted (e.g. black is displayed as white), add to the builder call (see the troubleshooting guide for more information about incorrect colors). If the coordinates are inverted add something like ..with_invert_colors(mipidsi::options::ColorInversion::Inverted)``.with_orientation(Orientation::default().flip_horizontal())

I am an amateur player and do not have these devices at hand

No worries, thanks for reporting this issue and testing the workaround. We'll try to reproduce the issue.
@almindor: Do you have a ESP-C3 to test the difference between the version and ?.master``0.7.1

coordinates are mirrored

coordinates are mirrored

In version 0.7.1 you'll need to add something like .with_orientation(Orientation::Portrait(true)) to your builder call to mirror the display, where true means that the display will be mirrored. You might need to experiment with other orientations to get the desired effect: https://docs.rs/mipidsi/latest/mipidsi/options/enum.Orientation.html.

I've just tried the closest configuration I have at the moment, which is a ESP32-S3 with a ST7789 display attached via a parallel interface. This still works as expected with the master branch. I'll do further testing with a SPI display when my ESP32-C3 arrives.

My ESP32-C3 arrived and after some surgery on my cheap ST7789 module to add a CS connection I was able to reproduce the problem.
The problem is caused by an invalid initial state of the CS line. It is low after .into_push_pull_output() is called and ExclusiveDevice::new doesn't set a valid initial state for CS.  Adding this code in front of the ExclusiveDevice::new call fixes the issue for me:
let mut cs = cs.into_push_pull_output();
cs.set_high();

Ping @bugadani: Do you think this is a bug in ExclusiveDevice? I'm asking you because I noticed your name in the ExclusiveDevice GIT history and as the (de facto?) maintainer of display-interface-spi.

Thanks for the ping. As I'm not a team member, I don't feel comfortable to just propose an API change like this, so I posted the issue as a discussion point for the next Rust Embedded meeting.

Nice, thanks for taking care of that.

embedded-hal-bus 0.2 has been released recently. The new constructor now sets the CS high regardless of its initial value.

@Song-aff: Can you verify that updating embedded-hal-bus to 0.2 fixes your issue with the GIT version of mipidsi?

Could we close this issue?


Consider adding layout="responsive" to example template for images.

Could simply default to responsive:
<amp-img src="/<%= config.generator_amp.logo.path %>" width="<%= config.generator_amp.logo.width %>" height="<%= config.generator_amp.logo.height %>" layout="responsive">
OR
could add this as a configuration. #9

@matthewsanders Thank you very much.


Added BlendIndices & BlendWeights to pc.createMesh

As I said on #785, I believe this approach would be better for most users.
I also think that considering only 2 indices is ideal as most of the time (90%) games will only use 1 or 2 indices. Having more than 2 will only increase the footprint of the array and not even get used at all.
Cheers!
Usage
var positions = [];
var normals   = [];
var uvs       = [];
var indices   = [];
var blendIndices = [];
var blendWeights = [];

var options = {
  normals : normals,
  uvs     : uvs,
  indices : indices,
  blendIndices: blendIndices,
  blendWeights: blendWeights
};

var mesh = pc.createMesh(app.graphicsDevice, positions, options);

Could you please sign this Contributors Agreement Form, so we can merge your PR?
Thanks a lot for making a PR :)

@Maksims, Yo! done. You're welcome, thanks for this great engine too. :+1:

Awesome! :)
Thank you for contributing, and it wouldn't be great if not people who use it and contribute.


Google WiFi component issue

I run a docker container with latest 0.80.3 home assistant and obviously google wifi :)
Now i cannot confirm which is the issue as they happened at the same time...

the upnp stuff incorporated into the latest home assistant version

or

a google wifi update was installed on the same day

Basically what happens is it kills loopback attempts and ALL other containers get killed aswell and are only accessible remotely with port forwarding or local with ip address, you cannot use ddns name etc...
What does happen is on an attempt to login using ddns local when i eventually login via local ip it shows a persistent notification with a failed login attempt from <IP_ADDRESS> which is my routers address which is what made me disable the google_wifi: component and low and behold i am back to normal service!
thank you

Port-forwarding on Google WiFi seems implemented as a reversed proxy.

Something broke it and it's one of the above ;-) when the component is activated it causes havoc with all other containers in docker, don't care if it gets fixed or not but the decent thing is to report the issue for other poor users that get caught by this horrible bug

Ok when enabled still getting issues connecting but only via ddns and locally external ddns calls work perfectly! So it looks like this component causes issues with loopback functionality? Once restarted it works ok for a while again, once removed works fine permanently.

Sorry unable to test further due to decommissioning the hardware and upgrading. But i agree lots of work in that area so shall it be marked as complete unless reopened at a later date?

Closed as can no longer test this due to hardware upgrade and no other reports.


[Sprint] Update all pre-trained weights to have head weights

Description

Most pre-trained weights are supported without head weights. They should be updated.

e.g. MobileNetV3 weights must have classifier head for imagenet1k

Checklists

[x] I would create a corresponding branch for this issue from the designated (mostly dev) branch.
[x] This issue only contains a preceding agreement between project owners.

Reopen this issue to complete segmentation task models

Fix bugs on segmentation models
Refactoring ...


Add "required" to Media Profiles Schema

Resolves #27.

I think we should discuss this a bit more. Anything you make required in the schema has implications on BCP-005-01 because it means receivers are mandated to have some sort of information regarding that parameter un the constraints.
This means receivers cannot leave the mandatory parameters unconstrained as this schema does not allow missing parameters (meaning unconstrained).


Use sbt 1.0.0

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.


Date BETWEEN/< and > returns invalid results

Describe the bug
When running a query on a date, invalid rows are returned
Example
nSQL("ContactHistory").query("select").where(["AppDate", ">", "2009-08-06T00:00:00"], "AND", ["AppDate", "<", "2009-08-07T00:00:00"]).exec().then((row) => {
    // row selected
    console.log(row);
}, () => {
    // query complete
}, (error) => {
    // query error
});

returns
[
    {
        "EQBVID": 4426,
        "AppDate": "2009-09-28T00:00:00"
    },
    {
        "EQBVID": 4424,
        "AppDate": "2009-09-20T00:00:00"
    },
    {
        "EQBVID": 4409,
        "AppDate": "2009-08-08T00:00:00"
    },
    {
        "EQBVID": 4408,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 4407,
        "AppDate": "2009-08-21T00:00:00"
    },
    {
        "EQBVID": 15347,
        "AppDate": "2009-08-08T00:00:00"
    },
    {
        "EQBVID": 4381,
        "AppDate": "2009-08-07T00:00:00"
    },
    {
        "EQBVID": 4380,
        "AppDate": "2009-08-10T00:00:00"
    },
    {
        "EQBVID": 4379,
        "AppDate": "2009-08-11T00:00:00"
    },
    {
        "EQBVID": 4378,
        "AppDate": "2009-08-12T00:00:00"
    },
    {
        "EQBVID": 4377,
        "AppDate": "2009-08-13T00:00:00"
    },
    {
        "EQBVID": 4376,
        "AppDate": "2009-08-14T00:00:00"
    },
    {
        "EQBVID": 4337,
        "AppDate": "2009-11-08T00:00:00"
    },
    {
        "EQBVID": 4333,
        "AppDate": "2009-08-08T00:00:00"
    },
    {
        "EQBVID": 4332,
        "AppDate": "2009-08-14T00:00:00"
    },
    {
        "EQBVID": 4331,
        "AppDate": "2009-08-15T00:00:00"
    },
    {
        "EQBVID": 4330,
        "AppDate": "2009-08-17T00:00:00"
    },
    {
        "EQBVID": 4329,
        "AppDate": "2009-09-07T00:00:00"
    },
    {
        "EQBVID": 4328,
        "AppDate": "2009-09-08T00:00:00"
    },
    {
        "EQBVID": 4327,
        "AppDate": "2009-09-09T00:00:00"
    },
    {
        "EQBVID": 4326,
        "AppDate": "2009-09-10T00:00:00"
    },
    {
        "EQBVID": 4325,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 4324,
        "AppDate": "2009-09-12T00:00:00"
    },
    {
        "EQBVID": 4321,
        "AppDate": "2009-09-15T00:00:00"
    },
    {
        "EQBVID": 4320,
        "AppDate": "2009-09-16T00:00:00"
    },
    {
        "EQBVID": 4319,
        "AppDate": "2009-09-17T00:00:00"
    },
    {
        "EQBVID": 4318,
        "AppDate": "2009-09-18T00:00:00"
    },
    {
        "EQBVID": 4317,
        "AppDate": "2009-09-19T00:00:00"
    },
    {
        "EQBVID": 4316,
        "AppDate": "2009-09-20T00:00:00"
    },
    {
        "EQBVID": 4311,
        "AppDate": "2009-08-08T00:00:00"
    },
    {
        "EQBVID": 4310,
        "AppDate": "2009-08-15T00:00:00"
    },
    {
        "EQBVID": 4308,
        "AppDate": "2009-08-31T00:00:00"
    },
    {
        "EQBVID": 15308,
        "AppDate": "2009-08-14T00:00:00"
    },
    {
        "EQBVID": 15307,
        "AppDate": "2009-08-19T00:00:00"
    },
    {
        "EQBVID": 15306,
        "AppDate": "2009-08-22T00:00:00"
    },
    {
        "EQBVID": 15305,
        "AppDate": "2009-08-23T00:00:00"
    },
    {
        "EQBVID": 15304,
        "AppDate": "2009-08-27T00:00:00"
    },
    {
        "EQBVID": 4305,
        "AppDate": "2009-08-15T00:00:00"
    },
    {
        "EQBVID": 4304,
        "AppDate": "2009-08-17T00:00:00"
    },
    {
        "EQBVID": 4303,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 4302,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 4301,
        "AppDate": "2009-08-21T00:00:00"
    },
    {
        "EQBVID": 4300,
        "AppDate": "2009-08-22T00:00:00"
    },
    {
        "EQBVID": 4299,
        "AppDate": "2009-08-23T00:00:00"
    },
    {
        "EQBVID": 4298,
        "AppDate": "2009-08-07T00:00:00"
    },
    {
        "EQBVID": 4297,
        "AppDate": "2009-08-08T00:00:00"
    },
    {
        "EQBVID": 4296,
        "AppDate": "2009-08-09T00:00:00"
    },
    {
        "EQBVID": 15282,
        "AppDate": "2009-08-07T00:00:00"
    },
    {
        "EQBVID": 15280,
        "AppDate": "2009-08-17T00:00:00"
    },
    {
        "EQBVID": 15279,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 15278,
        "AppDate": "2009-08-07T00:00:00"
    },
    {
        "EQBVID": 15276,
        "AppDate": "2009-08-17T00:00:00"
    },
    {
        "EQBVID": 15275,
        "AppDate": "2009-08-17T00:00:00"
    },
    {
        "EQBVID": 15274,
        "AppDate": "2009-08-17T00:00:00"
    },
    {
        "EQBVID": 15273,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 15272,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 15271,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 15270,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 15269,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 15268,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 4295,
        "AppDate": "2009-09-10T00:00:00"
    },
    {
        "EQBVID": 4294,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 4293,
        "AppDate": "2009-09-12T00:00:00"
    },
    {
        "EQBVID": 4292,
        "AppDate": "2009-08-28T00:00:00"
    },
    {
        "EQBVID": 4291,
        "AppDate": "2009-08-29T00:00:00"
    },
    {
        "EQBVID": 15267,
        "AppDate": "2009-08-12T00:00:00"
    },
    {
        "EQBVID": 15266,
        "AppDate": "2009-08-12T00:00:00"
    },
    {
        "EQBVID": 15265,
        "AppDate": "2009-08-19T00:00:00"
    },
    {
        "EQBVID": 15264,
        "AppDate": "2009-08-19T00:00:00"
    },
    {
        "EQBVID": 15263,
        "AppDate": "2009-08-16T00:00:00"
    },
    {
        "EQBVID": 15262,
        "AppDate": "2009-09-01T00:00:00"
    },
    {
        "EQBVID": 15261,
        "AppDate": "2009-09-05T00:00:00"
    },
    {
        "EQBVID": 15260,
        "AppDate": "2009-09-11T00:00:00"
    },
    {
        "EQBVID": 15259,
        "AppDate": "2009-09-15T00:00:00"
    },
    {
        "EQBVID": 15258,
        "AppDate": "2009-09-28T00:00:00"
    },
    {
        "EQBVID": 15257,
        "AppDate": "2009-08-21T00:00:00"
    },
    {
        "EQBVID": 15256,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 15255,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 15254,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 15253,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 15252,
        "AppDate": "2009-08-18T00:00:00"
    },
    {
        "EQBVID": 15251,
        "AppDate": "2009-08-30T00:00:00"
    },
    {
        "EQBVID": 15250,
        "AppDate": "2009-08-19T00:00:00"
    },
    {
        "EQBVID": 15249,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 15248,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 15247,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 15246,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 15245,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 15244,
        "AppDate": "2009-08-20T00:00:00"
    },
    {
        "EQBVID": 15243,
        "AppDate": "2009-08-22T00:00:00"
    },
    {
        "EQBVID": 15242,
        "AppDate": "2009-08-22T00:00:00"
    },
    {
        "EQBVID": 15241,
        "AppDate": "2009-08-21T00:00:00"
    },
    {
        "EQBVID": 15240,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15239,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15238,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15237,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15236,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15235,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15234,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15233,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15232,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15231,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15230,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15229,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15228,
        "AppDate": "2009-09-05T00:00:00"
    },
    {
        "EQBVID": 15227,
        "AppDate": "2009-09-06T00:00:00"
    },
    {
        "EQBVID": 15226,
        "AppDate": "2009-09-05T00:00:00"
    },
    {
        "EQBVID": 15225,
        "AppDate": "2009-08-29T00:00:00"
    },
    {
        "EQBVID": 15224,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15223,
        "AppDate": "2009-09-03T00:00:00"
    },
    {
        "EQBVID": 15222,
        "AppDate": "2009-09-03T00:00:00"
    }
]

There isn't any support for date types right now, so AppDate in this case would be treated like any other string.
It looks like it wouldn't be very difficult to add though, I'll put this in the next release.

There's a new date data type in 2.1.9  You'll need to adjust the type in your data model to date, then reinsert all your records (at least the dates), then it should work as expected.


Deprecate the whole pp 'custom save rules' api.

Replaces #1869
Note the proof-of-principle for replacing the pp-save-rules with a Python equivalent

https://github.com/pp-mo/iris/pull/18

Issues from there, remaining to address :

[x] @rhattersley "You've listed as_pairs twice." : https://github.com/SciTools/iris/pull/1869#discussion_r46388252
[x] @rhattersley "should also deprecate some of the contents of the iris.fileformats.rules module" : https://github.com/SciTools/iris/pull/1869#issuecomment-161602582

Note: to make this useful, we may want to cut an intermediate release including these deprecations, so we can then remove the functions (ideally, in Iris 2.0).
See : @rhattersley on releases

I think/hope this address the outstanding issues raised.
Following @rhattersley comments, I have reviewed iris.fileformats.rules and added a whole lot more deprecations.  As a result, it now goes further that I originally intended :
It now deprecates all use of text rules (not just custom save rules).
I'm intending that this now permits removal of all text-rules support in release 2.0.

you can't now use any of this functionality without getting a warning
https://github.com/pp-mo/iris/pull/18 indicates how we can replace the remaining pp save-rules, and actually remove all the functionality deprecated here.

I'm intending that this now permits removal of all text-rules support in release 2.0.

:tada: Nice! Thanks @pp-mo
This is dead close now :+1: :+1: I've only made a couple of minor observations/tweaks.

Thanks @rhattersley
See if this looks better.

Thanks @rhattersley
See if this looks better.

Sooooo close! :wink:

Perfect :+1: I'd happily merge this now, but I think it might be generally preferred if it was squashed.

Here is..
Thanks @rhattersley

All green :grin: