bug: Installation with GPU support

Bug Report
Moving this from Discussions as not seeing much traffic there.
GPJax version: 0.4.10
Current behavior:
I can install GPJax with CPU only support but not with GPU support. If I try to install gpjax with cuda support, either based on the current gpjax readthedocs or by first installing Jax according to the latest install with cuda directions:

installation page for GPJax: https://gpjax.readthedocs.io/en/latest/installation.html
also tried to follow the Jax install guide: https://github.com/google/jax#installation

I've tried to find a matching CUDA-compatible version of jax==0.3.5 but haven't found a version that is also supported by my machine.
I've also tried installing it on a Google Colab notebook with !pip install gpjax and this disables GPU support based on the package versions specified in setup.py.
I'm thinking the setup.py file needs to be updated to a higher jax version and potentially make corresponding updates to changes in jax since 0.3.5, or I'm misunderstanding how to configure GPU support with GPJax.
Expected behavior:
I would expect that GPJax does have GPU support.
Steps to reproduce:
Ubuntu 20.04.3 and have tried python 3.8-3.10
run the regression example for instance:
from pprint import PrettyPrinter

import gpjax as gpx
import jax
import jax.numpy as jnp
import jax.random as jr
from jax.example_libraries import optimizers
from jax import jit
import optax as ox

pp = PrettyPrinter(indent=4)
key = jr.PRNGKey(123)

def pred_dist(xtest, y, training, final_params):
    latent_distribution = posterior(training, final_params)(xtest)
    predictive_distribution = likelihood(latent_distribution, final_params)
    return jnp.sum(predictive_distribution.log_prob(y))

if __name__ == '__main__':
    import matplotlib.pyplot as plt

    n = 100
    noise = 0.3

    x = jr.uniform(key=key, minval=-3.0, maxval=3.0, shape=(n,)).sort().reshape(-1, 1)
    f = lambda x: jnp.sin(4 * x) + jnp.cos(2 * x)
    signal = f(x)
    y = signal + jr.normal(key, shape=signal.shape) * noise

    D = gpx.Dataset(X=x, y=y)

    xtest = jnp.linspace(-3.5, 3.5, 500).reshape(-1, 1)
    ytest = f(xtest)

    fig, ax = plt.subplots(figsize=(10, 5))
    ax.plot(xtest, ytest, label="Latent function")
    ax.plot(x, y, "o", label="Observations")
    ax.legend(loc="best")

    kernel = gpx.RBF()
    prior = gpx.Prior(kernel=kernel)
    likelihood = gpx.Gaussian(num_datapoints=D.n)
    posterior = prior * likelihood
    params, trainable, constrainer, unconstrainer = gpx.initialise(posterior)
    pp.pprint(params)
    params = gpx.transform(params, unconstrainer)
    mll = jit(posterior.marginal_log_likelihood(D, constrainer, negative=True))
    mll(params)

    opt = ox.adam(learning_rate=0.01)
    final_params = gpx.fit(
        mll,
        params,
        trainable,
        opt,
        n_iters=500,
    )

    final_params = gpx.transform(final_params, constrainer)
    pp.pprint(final_params)

    latent_dist = posterior(D, final_params)(xtest)
    predictive_dist = likelihood(latent_dist, final_params)

    predictive_mean = predictive_dist.mean()
    predictive_std = predictive_dist.stddev()
    # test gradient behavior with respect to posterior
    gtest = jax.grad(pred_dist)
    grad = gtest(xtest, y, D, final_params)

Running this returns the following warning and error:
/home/paperspace/anaconda3/envs/ml310/lib/python3.10/site-packages/chex-0.1.3-py3.10.egg/chex/_src/pytypes.py:37: FutureWarning: jax.tree_structure is deprecated, and will be removed in a future release. Use jax.tree_util.tree_structure instead.
  PyTreeDef = type(jax.tree_structure(None))
{   'kernel': {   'lengthscale': DeviceArray([1.], dtype=float64),
                  'variance': DeviceArray([1.], dtype=float64)},
    'likelihood': {'obs_noise': DeviceArray([1.], dtype=float64)},
    'mean_function': {}}
Traceback (most recent call last):
  File "/home/paperspace/pycharm_projects/exp_design/gpjax_demo.py", line 47, in <module>
    params = gpx.transform(params, unconstrainer)
  File "/home/paperspace/GPJax/gpjax/parameters.py", line 147, in transform
    return jax.tree_util.tree_map(lambda param, trans: trans(param), params, transform_map)
  File "/home/paperspace/anaconda3/envs/ml310/lib/python3.10/site-packages/jax/_src/tree_util.py", line 205, in tree_map
    return treedef.unflatten(f(*xs) for xs in zip(*all_leaves))
  File "/home/paperspace/anaconda3/envs/ml310/lib/python3.10/site-packages/jax/_src/tree_util.py", line 205, in <genexpr>
    return treedef.unflatten(f(*xs) for xs in zip(*all_leaves))
  File "/home/paperspace/GPJax/gpjax/parameters.py", line 147, in <lambda>
    return jax.tree_util.tree_map(lambda param, trans: trans(param), params, transform_map)
  File "/home/paperspace/anaconda3/envs/ml310/lib/python3.10/site-packages/distrax-0.1.2-py3.10.egg/distrax/_src/bijectors/lambda_bijector.py", line 112, in inverse
    return self._inverse(y)
  File "/home/paperspace/anaconda3/envs/ml310/lib/python3.10/site-packages/distrax-0.1.2-py3.10.egg/distrax/_src/utils/transformations.py", line 119, in wrapped
    out = _interpret_inverse(jaxpr, consts, *args)
  File "/home/paperspace/anaconda3/envs/ml310/lib/python3.10/site-packages/distrax-0.1.2-py3.10.egg/distrax/_src/utils/transformations.py", line 250, in _interpret_inverse
    write(jax.core.unitvar, jax.core.unit)
AttributeError: module 'jax.core' has no attribute 'unitvar'

I can try to provide something more minimal, but I'm guessing I'm just missing something more fundamental on install.
In Colab, run
!pip install gpjax
Then reload as per the prompt
import gpjax as gpx
At that point it should indicate their is no GPU/TPU found
Thanks!

Hi @seanjkanderson. Thanks for raising this - it's a particularly tricky issue that I've been trying to get to the bottom of for a while now. We've just released v0.4.12 which resolves both of your above issues. To be explicit - you can now run GPJax on Colab GPUs without having to restart the kernel post installation. I have put the below notebook together that will let you get started with this. Please do reach out with any further issues - I'd be interested to hear about your experiences, be it positive or negative!
https://colab.research.google.com/drive/1FWyhE8XLJbWaneDRUNzuZQvNueO-kLdc?usp=sharing

Thanks for the help @thomaspinder. That example works for me in Colab and on a VM running Ubuntu (and I was able to get it working in my project as well).
It seems like you intentionally didn't use gpjax.fit() as tree_map and InferenceState don't seem compatible at the moment? Is that right or is there a new expected behavior/use of .fit()? Just curious as I can use the training approach as described in the notebook.
Cheers!

No problem @seanjkanderson!
fit still works - you just have to be sure to pass it params not the ParameterState object. This is something we're looking to fix in the next few days though. To run fit, you'd simply run
inference_state = gpx.fit(mll, params, trainables, opt)
final_params_fit, history = inference_state.unpack()
final_params_fit = gpx.transform(final_params_fit, constrainer)

I have also added a cell to the above linked notebook with this code in - the only reason I left it out originally was to stay true to the README code.

Got it, my mistake was passing the ParameterState object to transform(). Thanks @thomaspinder!

Just got back to using GPJax on Colab/a machine with GPU support. It seems that the install for GPJax is back to uninstalling jaxlib with CUDA support. What's the workaround here @thomaspinder?
Thanks!
Example section of trace from pip install gpjax
Installing collected packages: typeguard, ml-collections, deprecation, jaxtyping, jaxlib, jax, chex, optax, distrax, jaxutils, jaxlinop, jaxkern, gpjax
  Attempting uninstall: typeguard
    Found existing installation: typeguard 2.7.1
    Uninstalling typeguard-2.7.1:
      Successfully uninstalled typeguard-2.7.1
  Attempting uninstall: jaxlib
    Found existing installation: jaxlib 0.3.25+cuda11.cudnn805
    Uninstalling jaxlib-0.3.25+cuda11.cudnn805:
      Successfully uninstalled jaxlib-0.3.25+cuda11.cudnn805
  Attempting uninstall: jax
    Found existing installation: jax 0.3.25
    Uninstalling jax-0.3.25:
      Successfully uninstalled jax-0.3.25
Successfully installed chex-0.1.5 deprecation-2.1.0 distrax-0.1.2 gpjax-0.5.9 jax-0.4.2 jaxkern-0.0.5 jaxlib-0.4.2 jaxlinop-0.0.3 jaxtyping-0.2.11 jaxutils-0.0.8 ml-collections-0.1.0 optax-0.1.4 typeguard-2.13.3

The workaround for using a colab notebook seems to be to use where the second reinstalls the coda version of jaxlib.
!pip install gpjax
!pip install "jax[cuda11_cudnn82]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

I would be interested to know if there's a convenient command for installing gpjax with cuda support. I believe the Installation guide says to set CUDA_VERSION=XX before installing gpjax but this didn't seem to work for me in Colab


Mac OS M1 Chip EmptyDataError

Hi - is EmptyDataError a known issue when running yf.download on MacOS with an M1 chip? When I run the same command on Ubuntu with the exact same requirements.txt everything works as expected. I have confirmed pd.read_csv(<local_file>) works without issue, so I don't think it's a pandas issue.
On m1 chip
source venv/bin/activate
pip install -r requirements.txt
python -V # 3.9.15
python
>>> import yfinance as yf
>>> yf.download('MSFT')
Exception in thread Thread-1:
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 980, in _bootstrap_inner
    self.run()
  File<EMAIL_ADDRESS>line 917, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/multitasking/__init__.py", line 104, in _run_via_pool
    return callee(*args, **kwargs)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/yfinance/multi.py", line 199, in _download_one_threaded
    data = _download_one(ticker, start, end, auto_adjust, back_adjust,
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/yfinance/multi.py", line 213, in _download_one
    return Ticker(ticker).history(period=period, interval=interval,
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/yfinance/base.py", line 153, in history
    tz = self._get_ticker_tz(debug_mode, proxy, timeout)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/yfinance/base.py", line 335, in _get_ticker_tz
    tkr_tz = utils.cache_lookup_tkr_tz(self.ticker)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/yfinance/utils.py", line 339, in cache_lookup_tkr_tz
    df = _pd.read_csv(fp, index_col="Ticker")
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/util/_decorators.py", line 211, in wrapper
    return func(*args, **kwargs)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/util/_decorators.py", line 331, in wrapper
    return func(*args, **kwargs)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 950, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 605, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1442, in __init__
    self._engine = self._make_engine(f, self.engine)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1753, in _make_engine
    return mapping[engine](f, **self.options)
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 79, in __init__
    self._reader = parsers.TextReader(src, **kwds)
  File "pandas/_libs/parsers.pyx", line 554, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/melgazar9/scripts/github/personal/ds-mono-repo/venv/lib/python3.9/site-packages/yfinance/multi.py", line 118, in download
    _time.sleep(0.01)
KeyboardInterrupt

Can you try using branch release/0.1? That contains a fix for this error - with confirmation from you I'll push to PIP.

I upgraded to 0.1.86 which has this fix, but still getting the same error. Can someone else cross validate they're getting this same error with an M1 chip?

Sorry, I assumed this was same issue as #1158. But I see the exception is different.

Hi, could you verify if this fork has the same issue on M1 chip?
https://github.com/fredrik-corneliusson/yfinance-tz-cache.git@refactor_base_py
There are not special fixes for this, just a bit bumped dependencies.
To install use:
pip install --upgrade --force-reinstall git+https://github.com/fredrik-corneliusson/yfinance-tz-cache.git@refactor_base_py

Also you can do a pip freeze and post the output from both Ubuntu and Mac.
As yfinance 0.1.* tolerates quite old libraries so you could be running outdated versions on Mac even after installing the same requirements file.

Hey that did not fix the issue. Here are the requirements.txt files
requirements_m1_fork.txt
requirements_m1.txt
requirements.txt
requirements_ubuntu.txt

Ok, thanks
As @ValueRaider suggested check if the file (a cache file) that it fails to read is empty.
You could try and remove it completely and see if it works.
Also instead of using download try to access the history directly (should at least give a smaller traceback):
t = yf.Ticker("MSFT")
t.history()

The issue was not related to M1 but an empty tz-cache file.
The latest changes to https://github.com/fredrik-corneliusson/yfinance-tz-cache/tree/refactor_base_py has the fix.
Reinstall and try again.
pip install --upgrade --force-reinstall git+https://github.com/fredrik-corneliusson/yfinance-tz-cache.git@refactor_base_py

Strange! It works now when I ran that pip reinstall. I don't have this issue on Ubuntu or windows so I thought it was an M1 issue! Good to close thanks!


[enhancement](index compaction) Enable index compaction by default

Proposed changes
Issue Number: close #xxx

run buildall

run p0

run p0

run p0

run p0


Add queue configuration options

Closes #314. #268.
Adds two configuration options: One to limit how many times a job will be retried (under any circumstances), and one to toggle retrying of jobs that were explicitly failed (to prevent retry spam).
New runtime configuration for @ryansanford & @lmperry.

Landing based on conversation with @nagem


Add eslint and "lint" npm scripts

Adds linting to the project (for the client and server packages) using ESLint and lint npm scripts. It does both traditional linting (looking for problematic patterns) and style checking (enforcement of conventions). The rules were selected to match the existing code as closely as possible.
Run lerna run lint to test it out.

Thanks but I'd rather have prettier handle the formatting itself by adding eslint-prettier-config and eslint-prettier-plugin

Okay, I added the Prettier plugins and use them to format the code.


Add /whois command

This command will allows to look up basic info about user/group stored in DB.
Chats command will display shortcuts to it instead of id (only if whois is available).

Additionally optimized this and 'chats' a bit, it's better to just select one row instead of LOTS OF THEM and then iterating over them.

Cool, I really like this command! 👍
Would be great if /whois @noplanman or equivalent would work too, not only via ID 😊
I also saw that your new /chats command returns the link without a space after the command (e.g. /whois12345 instead of /whois 12345). Is this intentional? Both of those commands work for users though.
For groups it is /whoisg12345 that works, whereas /whois g12345 doesn't.

I also saw that your new /chats command returns the link without a space after the command (e.g. /whois12345 instead of /whois 12345). Is this intentional?

Yes, so it can be clicked on /chats list.

For groups it is /whoisg12345 that works, whereas /whois g12345 doesn't.

That g is just a replacement for '-' and is only there so the command can be clicked.
/whois g12345 is not supposed to work, use /whois -12345 instead!

Would be great if /whois @noplanman or equivalent would work too, not only via ID

Good idea!

Cleaner branch commit: https://github.com/jacklul/php-telegram-bot/commit/28bd0f91e86b8ab35525fafaea79d3e2bb98da71


Gfx mainline merge multimon1

This adds the mutimon changes that include the xup message 62 for GFX message passthrough from the backend(Xorg)
Alos, the shared memory area is use a bit differently. Not you do not need a huge shared memory to cover the entire desktop. It only need to cover the monitor. This allows larger desktop with / height with RemoteFX sessions and GFX sessions.

@jsorg71 While I merged this in, we need to fix dynamic monitor resizing. More detail in the main PR.


[Python] update lifecycle tags

Fixes: #1402
Update public API lifecycle tags from experimental to maturing.  See also single-cell-data/SOMA#167.
Note to reviewers: please consider if there are any exceptions to this update (i.e., API that should remain experimental).

Codecov Report
Patch coverage has no change and project coverage change: +26.03 :tada:

Comparison is base (db2782b) 65.30% compared to head (5aa4e95) 91.34%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1405       +/-   ##
===========================================
+ Coverage   65.30%   91.34%   +26.03%
===========================================
  Files          98       30       -68
  Lines        7959     2449     -5510
===========================================
- Hits         5198     2237     -2961
+ Misses       2761      212     -2549

Flag
Coverage Δ

python
91.34% <ø> (ø)

r
?

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

Impacted Files
Coverage Δ

apis/python/src/tiledbsoma/_exception.py
75.00% <ø> (ø)

apis/python/src/tiledbsoma/_general_utilities.py
64.00% <ø> (ø)

... and 68 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


miq_queue: only lookup messages if task is unfinished

used to look up messages first and THEN compare task.state.
new code checks take.state first then looks up messages.

@gmcculloug I fixed per rubocop. Let me know if you want me to convert to more than 1 commit.
(I have trouble reading the guard clauses)


Add dotnet to clients' release docker ci image

Description
This change adds dotnet to the ci image that will be used to build dotnet clients.
Issues Resolved
Related #3141
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Docker is building https://build.ci.opensearch.org/job/docker-build/3156/

Looks like there is an issue with dotnet on ARM64. Reverting the PR until that is fixed.


Compare Two Linked Lists

Is your feature request related to a problem? Please describe.
We are given 2 linked list and we have to identify whether the two linked are identical or not(value and the position of nodes coating value must be same)
Describe the solution you'd like
A clear and concise description of what you want to happen.
First of all I take 2 linked list input from user.
Then I create a compare function which traverse both linked list from starting and compare each node value if the values are same then we check for next node else we return from the function and print "Not Identical" otherwise print "Identical".
EX :
Let the user input 1st linked list:
1->2->4->3
And 2nd linked list:
1->2->3->4
Starting from first node of 1st and 2nd linked list both value same so we go to next node.
The value in 2nd node is also same so we go to 3rd node.
The value of 3rd node is not same so we print Not identical.

Please don't raise issues pertaining to general operations


Rails 5.2 POST to 404 results in 500 due to missing CSRF token

Hi, I found an issue with POST requests to non-existent endpoints in Rails 5.2 applications. Such requests should result in 404, however, 500 is returned. In Rails 5.1 it works as expected.
I couldn't reproduce it using rspec test, so I am attaching an example Rails application.
https://github.com/adrianhuna/rambulance_example
If you start the server and make request:
curl -X POST http://localhost:3000/foo
you get
500 Internal Server Error
If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.

In server log you can see that it couldn't handle InvalidAuthenticityToken error. However, in an Rails 5.1 app (branch rails_5_1 in the example application), such request results in correct 404 response.
Started POST "/foo" for <IP_ADDRESS> at 2019-04-17 11:36:50 +0200

ActionController::RoutingError (No route matches [POST] "/foo"):

actionpack (5.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
web-console (3.7.0) lib/web_console/middleware.rb:135:in `call_app'
web-console (3.7.0) lib/web_console/middleware.rb:30:in `block in call'
web-console (3.7.0) lib/web_console/middleware.rb:20:in `catch'
web-console (3.7.0) lib/web_console/middleware.rb:20:in `call'
actionpack (5.2.3) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
railties (5.2.3) lib/rails/rack/logger.rb:38:in `call_app'
railties (5.2.3) lib/rails/rack/logger.rb:26:in `block in call'
activesupport (5.2.3) lib/active_support/tagged_logging.rb:71:in `block in tagged'
activesupport (5.2.3) lib/active_support/tagged_logging.rb:28:in `tagged'
activesupport (5.2.3) lib/active_support/tagged_logging.rb:71:in `tagged'
railties (5.2.3) lib/rails/rack/logger.rb:26:in `call'
sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (5.2.3) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (5.2.3) lib/action_dispatch/middleware/request_id.rb:27:in `call'
rack (2.0.7) lib/rack/method_override.rb:22:in `call'
rack (2.0.7) lib/rack/runtime.rb:22:in `call'
activesupport (5.2.3) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (5.2.3) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.3) lib/action_dispatch/middleware/static.rb:127:in `call'
rack (2.0.7) lib/rack/sendfile.rb:111:in `call'
railties (5.2.3) lib/rails/engine.rb:524:in `call'
puma (3.12.1) lib/puma/configuration.rb:227:in `call'
puma (3.12.1) lib/puma/server.rb:660:in `handle_request'
puma (3.12.1) lib/puma/server.rb:474:in `process_client'
puma (3.12.1) lib/puma/server.rb:334:in `block in run'
puma (3.12.1) lib/puma/thread_pool.rb:135:in `block in spawn_thread'
Processing by Rambulance::ExceptionsApp#not_found as */*
Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 1ms

Error during failsafe response: ActionController::InvalidAuthenticityToken
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/request_forgery_protection.rb:211:in `handle_unverified_request'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/request_forgery_protection.rb:243:in `handle_unverified_request'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/request_forgery_protection.rb:238:in `verify_authenticity_token'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:426:in `block in make_lambda'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
  /path/to/gems/actionpack-5.2.3/lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:199:in `block in halting'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:513:in `block in invoke_before'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:513:in `each'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:513:in `invoke_before'
  /path/to/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:131:in `run_callbacks'
  /path/to/gems/actionpack-5.2.3/lib/abstract_controller/callbacks.rb:41:in `process_action'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/rescue.rb:22:in `process_action'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
  /path/to/gems/activesupport-5.2.3/lib/active_support/notifications.rb:168:in `block in instrument'
  /path/to/gems/activesupport-5.2.3/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
  /path/to/gems/activesupport-5.2.3/lib/active_support/notifications.rb:168:in `instrument'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
  /path/to/gems/rambulance-0.6.0/lib/rambulance/exceptions_app.rb:78:in `process_action'
  /path/to/gems/actionpack-5.2.3/lib/abstract_controller/base.rb:134:in `process'
  /path/to/gems/actionview-5.2.3/lib/action_view/rendering.rb:32:in `process'
  /path/to/gems/rambulance-0.6.0/lib/rambulance/exceptions_app.rb:52:in `process'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal.rb:191:in `dispatch'
  /path/to/gems/actionpack-5.2.3/lib/action_controller/metal.rb:236:in `block in action'
  /path/to/gems/rambulance-0.6.0/lib/rambulance/exceptions_app.rb:31:in `call'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/show_exceptions.rb:51:in `render_exception'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/show_exceptions.rb:36:in `rescue in call'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
  /path/to/gems/railties-5.2.3/lib/rails/rack/logger.rb:38:in `call_app'
  /path/to/gems/railties-5.2.3/lib/rails/rack/logger.rb:26:in `block in call'
  /path/to/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in `block in tagged'
  /path/to/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:28:in `tagged'
  /path/to/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in `tagged'
  /path/to/gems/railties-5.2.3/lib/rails/rack/logger.rb:26:in `call'
  /path/to/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/request_id.rb:27:in `call'
  /path/to/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
  /path/to/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'
  /path/to/gems/activesupport-5.2.3/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /path/to/gems/actionpack-5.2.3/lib/action_dispatch/middleware/static.rb:127:in `call'
  /path/to/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in `call'
  /path/to/gems/railties-5.2.3/lib/rails/engine.rb:524:in `call'
  /path/to/gems/puma-3.12.1/lib/puma/configuration.rb:227:in `call'
  /path/to/gems/puma-3.12.1/lib/puma/server.rb:660:in `handle_request'
  /path/to/gems/puma-3.12.1/lib/puma/server.rb:474:in `process_client'
  /path/to/gems/puma-3.12.1/lib/puma/server.rb:334:in `block in run'
  /path/to/gems/puma-3.12.1/lib/puma/thread_pool.rb:135:in `block in spawn_thread'

Hello! This is probably related to https://github.com/rails/rails/pull/29742 which moved the protect_from_forgery from the ApplicationController to ActionController::Base in Rails 5.2. Because the exceptions_app inherits from ActionController::Base, the before action verify_authenticity_token will now run (and fail) when rendering errors. https://github.com/yuki24/rambulance/blob/9901c5bed314d3ef397200d0e23bfc914bb88e7a/lib/rambulance/exceptions_app.rb#L12

I would consider this to be an unhandled bug and will look for a solution when I have time. In the meantime, feel free to send a pull request if any of you already have a fix.

Hi @yuki24, thanks for the fix! It looks great, however, it seems like a new bug was introduced.
If I do curl -X POST http://localhost:3000/foo on my example app with the new version of rambulance, I still get 500. This is what can be seen in stacktrace:
Error during failsafe response: uninitialized constant Rambulance::ExceptionsApp
  /home/adrian/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.3/lib/bootsnap/load_path_cache/core_ext/active_support.rb:79:in `block in load_missing_constant'

So the ExceptionsApp is not loaded yet. In your commit you added
ActiveSupport.on_load(:action_controller) do
    ...
end

Could you explain what's the motivation? If I remove the newly added ActiveSupport.on_load method, everything works as expected and correct 404 response is rendered. Cheers.

That's odd. Are you not using action controllers at all?

Processing by Rambulance::ExceptionsApp#not_found as */*
  Rendering errors/not_found.html.erb within layouts/error
  Rendered errors/not_found.html.erb within layouts/error (Duration: 0.0ms | Allocations: 5)
  [Webpacker] Compiling…
  [Webpacker] Compiled all packs in /Users/yuki/GitHub/tmp/rambulance-48/public/packs
Completed 404 Not Found in 5ms (Views: 4.8ms | ActiveRecord: 0.0ms | Allocations: 4090)

Interesting, I created new app and it indeed works as expected. No idea what was wrong before. Thanks for the explanation!

Ok, I tracked down the problem I had. In my example app, I changed config/application.rb to include only some parts of Rails framework

require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
# require "active_record/railtie"
# require "active_storage/engine"
require "action_controller/railtie"
# require "action_mailer/railtie"
# require "action_mailbox/engine"
# require "action_text/engine"
require "action_view/railtie"
# require "action_cable/engine"
require "sprockets/railtie"
require "rails/test_unit/railtie"

The problem is in commenting out action_text/engine. The engine accesses ApplicationController and that in turn triggers ActiveSupport.on_load(:action_controller) in rambulance.
I guess I will used fork your gem because my situation is pretty specific and simply change the rescue block to:
rescue NameError
   "rambulance/exceptions_app" unless defined?(::Rambulance::ExceptionsApp)
  ::ExceptionsApp.call(env)
end

@adrianhuna I've cut a new release 1.0.2 with a fix. Could you give it a try and tell us how it goes? Thanks for your contribution!

It's working without any problems, thanks!


command 'solutionExplorer.createNewSolution' not found

not Create

I'm not sure what do you mean...


Document how to paginate data from Citus tables

Citus currently doesn't support LIMIT .. OFFSET queries. We're looking to provide support for this in 5.2.
Still, for users who're looking to paginate through records, LIMIT .. OFFSET has certain shortcomings. We currently advise customers to use cursors to paginate through their end results; and we describe this in https://github.com/citusdata/citus/issues/394
@begriffs described methods to paginate in regular Postgres tables in a blog post. Once we have LIMIT .. OFFSET implemented, we may want to add documentation on ways to paginate through records in distributed tables.

We now have limit/offset support so this issue may be less pressing, unless there are special pagination considerations for a distributed db.


Storybook UI not working on fresh install

On a fresh install, I'm trying to load storybook
In the app (opening developer menu => toggle storybook) it works fine. However, when I run yarn storybook and go to http://localhost:9001/ , I just see the following (the left menu has a spinning loader when I hover over it)

Ignite doctor shows:
System
  platform           darwin
  arch               x64
  cpu                8 cores      Apple M1
  directory          test    /Users/user/Sites/test

JavaScript (and globally-installed packages)
  node                              14.15.5      /Users/user/.nvm/versions/node/v14.15.5/bin/node
  npm                               7.5.0        /opt/homebrew/bin/npm
    eslint                          7.17.0
    expo-cli                        4.2.1
    firebase-tools                  9.1.2
    generator-react-native-ignite   1.13.0
    ignite-cli                      6.2.0
    netlify-cli                     2.71.0
    npm                             7.5.0
    react-native-cli                2.0.1
    react-native-ignite             1.13.0
    serverless                      2.25.2
    yarn                            1.22.10
    yo                              3.1.1
  yarn                              1.22.10      /opt/homebrew/bin/yarn

Ignite
  ignite-cli         6.2.0        /opt/homebrew/bin/ignite
  ignite src         build        /opt/homebrew/lib/node_modules/ignite-cli/build

Android
  java               1.8.0_282    /usr/bin/java
  android home       -            undefined

iOS
  xcode              12.4
  cocoapods          1.10.1       /usr/local/bin/pod

Confirmed on my Mac too.

❯ npx ignite-cli doctor
System
  platform           darwin
  arch               x64
  cpu                16 cores     Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  directory          Issue1622    /Users/jh/Code/Temp/Issue1622

JavaScript (and globally-installed packages)
  node                14.15.3      /usr/local/bin/node
  npm                 6.14.9       /usr/local/bin/npm
    appium            1.17.1
    appium-doctor     1.15.3
    expo-cli          4.0.12
    ignite-cli        6.1.1
    npm               6.14.9
    pure-prompt       1.11.0
  yarn                1.22.10      /usr/local/bin/yarn
    create-next-app   9.4.4
    detox-cli         17.11.0
    expo-cli          4.3.0
    firebase-tools    9.3.0
    ios-deploy        1.11.4
    pod-install       0.1.14
    ts-node           8.8.2
    typescript        3.8.2
    vercel            19.1.1

Ignite
  ignite-cli         6.4.0        /Users/jh/.npm/_npx/53403/bin/ignite
  ignite src         build        /Users/jh/.npm/_npx/53403/lib/node_modules/ignite-cli/build

Android
  java               1.8.0_232    /usr/bin/java
  android home       -            /Users/jh/Library/Android/sdk

iOS
  xcode              12.4
  cocoapods          1.10.1       /usr/local/bin/pod

Is this actually an issue? There is a blurb on that screen that says stories won't load unless you're running the device too.
Note that due to an implementation detail, your stories will only show up in the left-pane after your device has connected to this storybook server

@bmeverett Good call, I missed that too. 🤦
Doesn't look like it's our issue after all. They should add that note to the left pane though.

My stories won't load with yarn storybook even if I'm also running storybook simultaneously on my Android devices (both emulator and physical).
System
platform           linux
arch               x64
cpu                12 cores        Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
directory          IgniteDemoApp   /home/xli/repos/IgniteDemoApp
JavaScript (and globally-installed packages)
node                    14.16.1      /usr/bin/node
npm                     7.11.1       /usr/bin/npm
detox-cli             18.0.0
expo-cli              4.4.3
ignite-cli            6.9.0
npm                   7.11.1
source-map-explorer   2.5.2
yarn                  1.22.10
yarn                    1.22.10      /usr/bin/yarn
expo-cli              4.4.3
ignite-cli            6.9.0
Ignite
ignite-cli         6.9.0        /usr/bin/ignite
ignite src         build        /usr/lib/node_modules/ignite-cli/build
Android
java               1.8.0_242-release   /usr/local/android-studio/jre/bin/java
android home       -                   /home/xli/Android/Sdk


[CSS Supportability] Please add "debug" switch with "exceptions console"

Please add a configuration switch which would enable an "exceptions console" that shows information that right now can be obtained only by attaching a debugger.  E.g. - the debug console from VS Code debugging experience.

@cbenkler
Checkout the latest preview build of azure data studio. This includes the following new settings:
"mssql.tracingLevel": "All",
"mssql.logFilesRemovalLimit": 100,
"mssql.logRetentionMinutes": 60,
When mssql.tracingLevel is set the corresponding tracing information is not only sent to a file but is also logged in the Azure Data Studio UI's Output Channel called: Log (SqlTools). Ctrl-Shift-U is the shortcut to bring up the output pane.
Kindly try out the feature and share your feedback.

Exceptions are being surfaced in the Help->Developer Tools Console.  Please let us know if there is some additional exception details you need that aren't being surfaced.  Thanks!


localServerLocated callback not executing all code

Version Number and Operating System(s): Unity 2018.3.7f1 & Forge 25.01
Expected behavior: Code in callback to work (Instantiating game objects or other 3D object manipulation)
Actual behavior: Code does not get executed beyond trying to use any Gameobject references.
Steps to reproduce:
Add callback to localServerLocated
Any code manipulating endpoint data works fine.
Try to Instantiate a gameobject or change any properties (or call GetComponent), and it will stop executing without an error.
[Optional] Discord Username:

What's your Discord username? If you're on not there, I would recommend you to make an account. All support and such happens there and i would like to ask you some questions about this.
Else, we'll take it here

Oh wait, you need to run it inside the main thread manager, as it's an Forge event.
https://github.com/BeardedManStudios/ForgeNetworkingRemastered/wiki/Running-Unity-Specific-Code-on-the-Main-Thread

I thought it might've been a main thread issue. Would it be possible to add a warning/error when code that requires main thread execution tries to execute on a separate thread?
I'll give it a try and let you know if it works. I'll also try make a Discord account!

I circumvented the issue initially by setting a boolean, and in the Update function, I set a timeout of 0.5 seconds for the UDP announcements, and perform my function then (showing a list of hosts).
I would rather just add each host on the callback, though!

The Unity editor should have given you an error. Though, why not just use the MainThreadManager.Run() inside your event method? That should do it

No errors! I didn't know about the Main thread manager =P!
I did try it, and it's still not working!
I'm calling it using a lambda function: MainThreadManager.Run(() => AddRow(endpoint));, and it's giving me the same issue. Again, no errors!

Can you show me the fullcode?

Debug.Log was in the example in the documentation, and runs fine.
When I wrap it up like in yours, none of it gets called.

Join the Discord and let's have a chat

Issue was asset store version. This works in the latest of master branch release.


fix: Karpenter IAM role policy attachment

Description
Fix iam_role_policy_attachment for Kaprenter
Motivation and Context

Closes #2461
Breaking Changes

How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request
[x] Examples don't cover the use case so tested locally with provided config in issue

closing since I am unable to reproduce and no reproduction has been provided - ref https://github.com/terraform-aws-modules/terraform-aws-eks/issues/2461#issuecomment-1442340591


[SPARK-46479][CORE] Change Utils.isJavaVersionAtLeast21 to use the utility method from commons-lang3

What changes were proposed in this pull request?
Apache commons-lang3 added support for checking JAVA_21 after version 3.13.0, so this pr change Utils.isJavaVersionAtLeast21 to use the utility method from commons-lang3.
Why are the changes needed?
Use commons-lang3 utility method.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GitHub Actions
Was this patch authored or co-authored using generative AI tooling?
No

cc @dongjoon-hyun

rebased

Merged into master. Thanks @MaxGekk @yaooqinn @HyukjinKwon


add simple chatbot

Changes

Comments

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

#341  👈
#329
master

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

Join @chrisaddy and the rest of your teammates on  Graphite


Microsoft Editor integration in dev tools

Microsoft editor integration in dev tools messes up with anything I type in it. Right arrow should not auto complete whatever it suggests and should only work like how auto complete works in VS Code or Visual Studio.

Hey, thanks for reaching out and filing this issue. I'd like to make sure I understand the problem clearly. Would you mind providing more info please? In particular, I'm not sure what you mean by "Microsoft editor integration". Could you elaborate please? Also, attaching an image of the exact problem, as well as steps to reproduce it, would help a lot!

Open this link https://www.microsoftedgeinsider.com/en-us/whats-new and find the tile that talks about it (hint: press Ctrl + F and type Microsoft Editor). Unfortunately, I couldn't get a direct link to it.

Oh I see, thanks a lot for providing this extra info.
So, since this is related to a browser feature, and not a devtools feature, could you please submit this feedback to the browser team by going to Settings and more (the ... button) > Help and feedback > Send feedback ? That'd be awesome! Thank you.

Oh I see. Can you please say more? Where exactly in DevTools does this occur? I've tried typing in the console, snippets, and edit-as-html, but didn't get the new editor feature from the browser. If you can, please give me a specific example of where you typed, and what you typed. I wonder if there's a way DevTools can simply disable the new type-ahead feature.

I tried it on the style editor on the right of elements tab as well as in the sources tab. I wanted to make a video or screenshot but the recent dev channel update made the browser unusable. It just crashes on startup.


frontend only

i install ollama on my machine and i don't like the extra dependencies and space this project require like docker , i will prefer having a simple npm package that i can just use to connect to my local ollama server

https://github.com/ollama-webui/ollama-webui-lite

but it says no longer maintained and u tried using it from different clients than the host it doesn't work and it's missing most of the features!!!!!

https://github.com/ollama-webui/ollama-webui-lite/pull/31

I'll provide extended support at openwebui.org


Update Glue User CLI

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10887/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10890/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10905/
Test PASSed.

alluxio-bot, merge this please


fix(#233): remove usage of NODE_ENV + small cleanup

Current coverage is 85.57% (diff: 100%)

Merging #237 into master will increase coverage by 0.01%

@@             master       #237   diff @@
==========================================
  Files            18         18
  Lines           907        908     +1
  Methods         204        204
  Messages          0          0
  Branches        281        281
==========================================
+ Hits            776        777     +1
  Misses          131        131
  Partials          0          0

Powered by Codecov. Last update 1e90ed0...2ba94a5


update env per geopandas bug fix

https://github.com/marinebon/map-of-activities/blob/a8f9fcc58756d19a432d96d2c240cd8f5bd9fdfd/environment.yml#L10
See https://github.com/geopandas/geopandas/releases/tag/v0.13.1

fixed with https://github.com/marinebon/map-of-activities/commit/1904e044f74836990cb473c9b3e9d3a84f9f1919
closing


connect video stream freezing

For a few of my recent drives over the past month connect just freezes on a specific frame and once seeking past it, nothing is shown but that frozen frame. Happens at about f15e3c37c118e841|2021-08-03--10-11-38--19 for one example.
I was looking for a segment to report a model bug taking an exit abruptly, but downloading each video seems like the only workaround when this happens

To clarify, connect the web app, not the Android or iOS app

oops, forgot we haven't moved the github repos around yet


Fix pyenv path

Please note that any of this just works as long as this image is executed as root. When using -u <uid>, it'll break due to permissions problems. You may want to move the pyenv installatino somewhere else.


Rerun toolchain package check sections for fast track builds.

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

Currently we have a separate build process for our toolchain packages. We can run the check sections during that process, but our main package build flow has much more full featured handling of %check sections.
With the new fast-track PR gates we don't currently check the toolchain's %check sections. We know which toolchain packages are built during stage 1. If that list is exported into an ADO variable, stage 2 (package build) can consume it and queue additional tests to run.
The list will contain only packages that contain a %check section. The assumption is that all toolchain check sections are available across all architectures.
Change Log

Add CalculatePackageRetestList.packageRetestList as an output from ToolchainBuild.yml
Add a new parameter testRerunList to PackageBuild.yml.

Does this affect the toolchain?

NO
Associated issues

https://microsoft.visualstudio.com/OS/_workitems/edit/47173444
https://dev.azure.com/mariner-org/mariner/_git/CBL-Mariner-Pipelines/pullrequest/16918

Test Methodology

https://dev.azure.com/mariner-org/mariner/_build/results?buildId=448967&view=logs&j=f4e482b8-ded8-5b64-2c75-d45f566f3bf2&t=123f7f91-c4b2-5f39-b81a-76af7b274346&l=38762

https://dev.azure.com/mariner-org/mariner/_git/CBL-Mariner-Pipelines/pullrequest/16918

Overriding PR check - failures due to unrelated issue with download Python modules for the test verification step.

Auto cherry-pick results:

main :white_check_mark: -> https://github.com/microsoft/CBL-Mariner/pull/6748

Auto cherry-pick pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=451915&view=results


Add is_static, as_static, and more From impls

Codecov Report

Merging #2 into main will increase coverage by 1.44%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #2      +/-   ##
==========================================
+ Coverage   94.46%   95.90%   +1.44%
==========================================
  Files           3        3
  Lines         289      391     +102
==========================================
+ Hits          273      375     +102
  Misses         16       16

Impacted Files
Coverage Δ

src/arc_str.rs
93.71% <100.00%> (+1.59%)
:arrow_up:

tests/arc_str.rs
100.00% <100.00%> (ø)

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 782d192...b15e14b. Read the comment docs.


Support of Pytorch 1.13 and CUDA 11.7

We need to update our Pytorch version to 1.13 with CUDA 11.7 so that TensorRT optimization could be applied.

Don't we already use PyTorch 1.13? Our install range is torch>=1.9,<1.14 for v0.7.

If this is a DLC related comment, I think we should move the discussion to a different location than the GitHub issues, as this can cause confusion to users.

For the latest pre-release on mac, I can see pytorch installed with version 1.12
[master] pip freeze| grep "torch=="
torch==1.12.1

Also, the installation guide on our website indicates pytorch 1.12 with CUDA 11.3


[cards] Widget bar obscuring QR codes

Affected hardware version
Bangle 2
Your firmware version
2v19
The bug
Describe the bug
When the watch goes into "lock" mode, the widget bar shows up shortly after, obscuring the top of the QR code and making it unscannable because the timing blocks at the top are cropped.
Expected behavior
Make sure the widget bar doesn't show up when a QR code is displayed.
Steps to reproduce

Create a test QR code in Catima
Upload card
Display card
Wait for BangleJS to lock

Installed apps
messageicons (0.05), widalarm (0.01), authentiwatch (0.07), files (0.08), widbt_notify (0.17), calclock (0.06), widclk (0.07), info (0.03), widlock (0.08), widslimbat (0.01), fileman (0.03), weather (0.25), sched (0.22), widmessages (0.05), powermanager (0.10), drained (0.03), owmweather (0.03), mylocation (0.10), agenda (0.14), quicklaunch (0.15), locale (0.17), qmsched (0.10), wid_edit (0.05), launch (0.20), boot (0.59), android (0.32), messagegui (0.74), messages (0.62), cards (0.01), alarmqm (0.01), setting (0.64), alarm (0.44)

@glemco
Does the QR code usually paint on the full area? If so it looks like we shoud either

remove load/drawWidgets() calls
Switch to widget_utils hide/swipeOn();

@nxdefiant  yes it does. I could make it smaller but the resolution is already not so great so I didn't go down that path..
As soon as I have some time I'll look into it. I'm not sure how it works but since it should be possible to go back and forth from the app (with widgets) to the code (without), would removing the call to drawWidgets work?

If you really want to show widgets try http://www.espruino.com/Bangle.js+Hideable+Widgets

It would be much nicer if I could unload and reload widgets, the code for QR is already having issues as it is, saving some memory might give ti some breath.
I'll give it a go, thanks!

Yes, I'm afraid widget unloading just isn't possible, so probably the drag-down is the way to go.
For the QR code stuff, it's very cool to have it running on the watch, but did you ever consider just saving a bitmap like we do for https://banglejs.com/apps/?id=qrcode ? It'd be way faster and I guess ultimately maybe even a bit more flexible?

@gfwilliams well, then I'll go for that, thanks.

but did you ever consider just saving a bitmap

Yes definitely, just that wasn't the way it was implemented in gadgetbridge, it would be ideal if it could supply a bitmap (either generated there or by catima), but I don't think it's currently possible.
This is a proof of concept that what is made for ZeppOS can work also here (it's also not that functional with most of the codes, by the way). Unfortunately, I don't have the time not much the knowledge to implement bitmap generation from android

Ok, no worries. Just so you know, if you can can a Bitmap/drawable somehow in Gadgetbridge then in the BangleDeviceSupport class there's a function that'll turn that drawable into an Espruino-style bitmap though.
It's something I've been considering doing for the HTTP request (allowing Bangle.js to request an image and have it converted)


Flynn installer doesn't respect FLYNN_VERSION environmental variable

When reinstalling a flaky node (long story, another bug report incoming), I attempt to run:

and then

but the installer insists on installing v20160624.1:

:(
Any suggestions on how I can coerce the installer to install the right version? I've also tried it inline (FLYNN_VERSION=v20160512.0 sudo ./install-flynn).

@brettneese sudo does not maintain environment variables by default, you should run:
sudo FLYNN_VERSION=v20160512.0 bash install-flynn

Ahh, thought it might be something like that.
A flag would be super useful, should I close this and open another issue?

See #3003.


Cannot add more async ops than pool size

Expected async requests to be queued when there are no available connection in the pool, but apparently callback is not invoked when there are too many initiated transactions. it is invoked 20 times, which is pool size - but no more. No errors printed either
    Db db = new ConnectionPoolBuilder()
            .hostname("localhost")
            .port(5432)
            .database("postgres")
            .username(userName)
            .password(password)
            .poolSize(20)
            .build();

    AtomicLong ct = new AtomicLong(10000L);

    for (long n = 0; n< 10000L; n++) {
            db.begin((Transaction tx) -> tx.querySet("INSERT INTO sample (x) VALUES ($1)", 1)
                    .subscribe(
                            result -> ct.decrementAndGet()),
                    (Throwable th) -> th.printStackTrace());
    }
    while(ct.get()>0)
        Thread.sleep(1000); //this never completes

Hi,
you are starting transactions, but never call commit()/rollback(), so the connections are not returned to the pool.
        AtomicLong ct = new AtomicLong(10000L);

        for (long n = 0; n< 10000L; n++) {
            db.begin()
              .flatMap(tx -> tx.querySet("INSERT INTO sample (x) VALUES ($1)", 1)
                      .flatMap(result -> tx.commit())
              ).subscribe(result -> ct.decrementAndGet(), Throwable::printStackTrace);
        }
        while(ct.get()>0)
            Thread.sleep(1000);


Why does Router render a div in the DOM?

You can see that in the examples:

Welcome

Why is that? This makes it harder to layout

The accessibility tools are not aware of the changing routes on SPA so it looses focus while transitioning. This library adds one more div wrapper that returns focus to the beginning of the page as it was refreshed. You can find similar solutions here https://github.com/ReactTraining/react-router/issues/5210

Ok, interesting!
Thank you for answering :)

If I understand the accessibility issue correctly, why would we ever need more than one of those extra DIV layers in our app? I am seeing one added for every nesting level in my routes. If I'm on a page that is nested 2 layers into my Router, I have 3 of those injected divs.


feat(android): 🌟 add support for React Native 0.73

As per https://github.com/react-native-community/discussions-and-proposals/issues/671, this is to support a future release of React Native

:tada: This PR is included in version 5.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

There's a way you can maintain support for older versions of react native. Check out how react-native-gesture-handler did it: https://github.com/software-mansion/react-native-gesture-handler/pull/2448/files

@Johan-dutoit do you need help with that? I'm stuck on old version of RN and because of that can't build module

@markrickert thanks for that! Will update shortly!

it's been few months, so any updates on this?
for those who are looking for building issues with this, you can first try the work around :
add back the
package="com.imagepicker"
in AndroidManifest.xml of this dependency in your node_modules.
Here is what is should look like :

<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.imagepicker"

...

Removal of package in manifest is optional.
You also need to add android.buildFeatures.buildConfig true otherwise it will fail:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':react-native-image-picker'.
> com.android.builder.errors.EvalIssueException: defaultConfig contains custom BuildConfig fields, but the feature is disabled.
  To enable the feature, add the following to your module-level build.gradle:
  `android.buildFeatures.buildConfig true`

BUILD FAILED in 4s
error Failed to install the app.


⚠ SkyfallMC Minecraft Server has degraded performance

In e722af8, SkyfallMC Minecraft Server (play.skyfallmc.ga) experienced degraded performance:

HTTP code: 200
Response time: 2642 ms

Resolved: SkyfallMC Minecraft Server performance has improved in f7c65c6.


[NWPS-1553] [WIP] Google map validation improvements

hee:google-map-embed-code-validator regex update for nested iframe validation

Closing the PR as this has been superseded by #499


replaced immutablejs with immer in tests and internals

Apologies for the duplicate pull request, I wanted to fix the botched history.
Not to step on anyone's toes, but I love this boilerplate and I definitely want to use it with immer on my next project. I saw this branch and I wanted to see how it would look as far as testing goes, as well as having it implemented in any components we scaffold with reducers, so I went ahead and replaced the rest of the instances of ImmutableJS within the code. I haven't touched documentation, but I thought it might save you the bit of time it takes to refactor, should you all decide to go this route.
All Jest tests are passing.

Thanks a lot for this! No toes stepped on. This is a welcome contribution.
I haven't reviewed in depth yet as no decisions have been made regarding a switch to immer but thought you might want to know about a couple small things you missed.
First off, the generator in internals/generators/container/reducer.js.hbs is incorrect. You shouldn't be returning the state from inside the produce function.
Second, the linting of generated components didn't pass so the tests weren't able to run on the CI tools. Take a look at the Travis or AppVeyor configs. You'll see that before running linting and tests, a script called generate-templates-for-linting is run to check that the generators produce "valid/clean" code.
If you have time to fix it, great. If not, I'll merge this into the immersion branch when relevant and apply the fixes there myself. Thanks again!

Thanks for the feedback! I went ahead and fixed the botched reducer.js.hbs generator and brought it in line with the others in the demo repository. I also had a typo in the selectors.js.hbs generator and as well as some trailing spaces in the reducer.test.js.hbs generator. I ran the generate-templates-for-linting script and linting passed on my machine.


Read the routes data store and populate the list, containing all available routes.

Symlinking the routes data store to be accessible from inside the bus app when running as ./gradlew -q run.
Reading the routes data store and populating the list, containing all available routes.

She looks saturated and prepared ! :+1: — Approved. :blue_heart:


Youtube embed will cause please-wait not to close

Embedding

prevents Please Wait from closing.
It seems that using asynchronous Youtube API solves it.

Hmm, I'm not sure what you mean?

Hey @teolemon, can you clarify this at all? I'm not sure how to help right now since I don't understand the issue...

We use embedded youtube in our App and please wait does not have an issue.
The only issue is with the old Android browser no-name no standard thing they did on all new browsers works fine with Youtube embedded

I'm going to close this for now, since I don't see a way to help. Please re-open if you can explain the issue (with a way to reproduce, ideally), though!

@NevilleS : Sorry for not catching up earlier. This snippet will let you reproduce the issue.


Error when using with Liferay CMS

I'm getting this error using the session manager with Liferay CMS. I suspect it's due to the content of the session not being serialisable as I've hit the same problem with another session manager. Any ideas how I might debug this?
May 23, 2017 8:23:40 AM com.gopivotal.manager.redis.RedisStore logAndCreateEmptySession
SEVERE: Unable to load session D09837183B2E37AA5000CE99CCF5500E. Empty session created.
java.lang.ClassNotFoundException: com.liferay.portlet.PortalPreferencesImpl
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:278)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:625)
        at com.gopivotal.manager.SessionSerializationUtils$1.resolveClass(SessionSerializationUtils.java:71)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
        at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1619)
        at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1084)
        at com.gopivotal.manager.SessionSerializationUtils.deserialize(SessionSerializationUtils.java:77)
        at com.gopivotal.manager.redis.RedisStore$20$1.invoke(RedisStore.java:484)
        at com.gopivotal.manager.redis.RedisStore$20$1.invoke(RedisStore.java:475)
        at com.gopivotal.manager.redis.JedisTemplate.withJedis(JedisTemplate.java:41)
        at com.gopivotal.manager.redis.RedisStore$20.invoke(RedisStore.java:475)
        at com.gopivotal.manager.redis.RedisStore$20.invoke(RedisStore.java:468)
        at com.gopivotal.manager.LockTemplate.withReadLock(LockTemplate.java:59)
        at com.gopivotal.manager.redis.RedisStore.load(RedisStore.java:468)
        at org.apache.catalina.session.PersistentManagerBase.swapIn(PersistentManagerBase.java:747)
        at org.apache.catalina.session.PersistentManagerBase.findSession(PersistentManagerBase.java:511)
        at org.apache.catalina.connector.Request.doGetSession(Request.java:2987)
        at org.apache.catalina.connector.Request.getSessionInternal(Request.java:2605)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:430)
        at com.gopivotal.manager.SessionFlushValve$7.invoke(SessionFlushValve.java:163)
        at com.gopivotal.manager.SessionFlushValve$7.invoke(SessionFlushValve.java:158)
        at com.gopivotal.manager.LockTemplate.withReadLock(LockTemplate.java:59)
        at com.gopivotal.manager.SessionFlushValve.invoke(SessionFlushValve.java:158)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

I managed to dump a session but I'm not sure how to decode it / what part may contain credentials so I'm not posting here.
I did get the clustering to work using the built in delta manager. Which I'm surprised at given that it's also not supposed to work with non-serialisable content.

Based on trace, this appears to be a 1.2.x session manager release.  Which release of Tomcat?

I was able to replicate using Tomcat 8.0.42 and redis store 1.2.x.
It's a bug in how objects are deserialized in the redis store impl.  It was partly addressed for Tomcat 7 but (evidently) not for Tomcat 8.
This is in a class of problems related to changes in Tomcat APIs and practices from 7->8->85->9.
The specifics for this particular bug are evident in the following impls in Tomcat 7 and 8 (similar diffs for 85 and 9).  Check out the load(String id) impls:
http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/java/org/apache/catalina/session/FileStore.java
http://svn.apache.org/repos/asf/tomcat/tc8.0.x/trunk/java/org/apache/catalina/session/FileStore.java
We've addressed this class of issues in in a 2.0 branch yet to be pushed to the main repo in which there are different code bases for Tomcat 7/8/85/9 albeit in a single code branch.  You can see a preview at:
https://github.com/ccheetham/session-managers/tree/2.0.x/tomcat/src/main
It'll be a little bit of time before we push this for general release.  However I can make a diff to the main repo's 1.2.x branch available with the fix for Tomcat 8 upon request.

Liferay 6.2.x is bundled with tomcat7 so my hands are tied there really, hopefully I'll get time to try out your patch because I hate this delta manager because I have to specify the cluster in a static way and do nasty things like remove the local node from that cluster list:-
{% for host in liferay_cluster_hosts %}
  {% if host.name != inventory_hostname %}
    <Member className="org.apache.catalina.tribes.membership.StaticMember" host="{{ host.name }}" port="4444" uniqueId="{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,{{ host.id}}}"/>
  {% endif %}
{% endfor %}

liferay_cluster_hosts:
  - name: devperf01a
    id: 1
  - name: devperf01e
    id: 2

@ccheetham I pulled your repo and changed to that branch and ran a build with:-
(2.0.x):~/work/session-managers ./gradlew assemble -PtomcatVersion=7
:common:compileJava NO-SOURCE
:common:processResources NO-SOURCE
:common:classes UP-TO-DATE
:common:jar UP-TO-DATE
:common:assemble UP-TO-DATE

BUILD SUCCESSFUL

Total time: 1.809 secs

-rw-r--r-- 1 xxxx xxx 261 May 25 11:57 ./common/build/libs/pivotal-tomcat-session-manager-2.0-SNAPSHOT.jar

However I get a failure on startup with class not found on the flush class.

@ccheetham I built the tomcat7 version from your branch on and it generated these files:-
./jedis/build/libs/pivotal-session-stores-tomcat7-jedis-2.0-SNAPSHOT-all.jar
./jedis/build/libs/pivotal-session-stores-tomcat7-jedis-2.0-SNAPSHOT.jar
./tomcat/build/libs/pivotal-session-stores-tomcat7-2.0-SNAPSHOT.jar
however I'm getting an error on startup using:

        <Manager className="org.apache.catalina.session.PersistentManager">
            <Store
                className="com.gopivotal.manager.redis.RedisStore"
                connectionPoolSize="20"
                host="devplay01e"
            />
        </Manager>

do I have the wrong classname?

Okay I grabbed the new classnames:
  <Valve className="io.pivotal.appsuite.tomcat.v7.Tomcat7SessionFlushValve" />
     <Manager className="org.apache.catalina.session.PersistentManager">                                                                                <Store                                                                                className="io.pivotal.appsuite.tomcat.jedis.RedisStore"
             connectionPoolSize="20"
             host="devplay01e"
         />
     </Manager>

However I'm getting an error with the flush class:
12:04:37,685 WARN  [http-bio-8080-exec-6][code_jsp:130] {code="500", msg="", ```
uri=/combo/}
java.lang.NullPointerException
at io.pivotal.appsuite.tomcat.SessionFlushValve.invoke(SessionFlushValve.java:79)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

I'd avoid that branch for now, I've not had a whole lot of test cycles on it.  It's also missing a few features such as JMX and property notification.
I pushed a branch off of 1.2.x containing the the specific fix for Tomcat 8 at ccheetham/session-managers@f3cb4f6.

I'm getting the same error as before just with a different message:-
SEVERE: Error deserializing Session 4BCC7FE66285EC121A6EB3EB1FBCC367: {1}                                                                                java.lang.ClassNotFoundException: com.liferay.portlet.PortalPreferencesImpl

Which version of Tomcat are you using?

I'm using Tomcat7 which is what Liferay is bundled with. I doubt I can use 8 without losing commercial support.

I just tried another manager and got a very specific error:-
java.lang.ClassCastException: java.lang.Long cannot be cast to com.orangefunction.tomcat.redissessions.SessionSerializationMetadata

Apologies on the Tomcat version.  I was able to reproduce using Tomcat 7.  Pushed a fix to ccheetham/session-managers@c99a3a0 to branch 1.2.x-tomcat7.

@ccheetham I ran mvn package but the build libs don't appear to include sl4j
SEVERE: Begin event threw error
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
        at com.gopivotal.manager.StandardLifecycleSupport.<init>(StandardLifecycleSupport.java:32)

However Liferay does include sl4j so I dropped that jar into the tomcat libs dir.

They're left out in case someone wants to use a different log backend.  (Prob should doc that.)

@ccheetham this /appears/ to work! I'm just running some tests now. The only problem I can see is that when I logout in Liferay no Redis keys are deleted. However if I re-login with the same browser session, no new keys are created either. Is this expected behaviour?

For logging to work do I need to drop in log4j as well as slf4j then?

In addition the SLF4J API jar, you need to add a SLF4J binding.
Tomcat uses java.util.logging so that's the binding you probably want.
% ls -1 lib
redis-store-1.2.3.BUILD-SNAPSHOT.jar   # redis store
slf4j-api-1.7.25.jar                   # SLF4J API
slf4j-jdk14-1.7.25.jar                 # SLF4J binding to java.util.logging

:( so not having slf4j-jdk14-1.7.25.jar meant the errors were being swallowed. Still getting the same empty session warnings being created with this patched jar.
I'm wondering if I'm chasing the wrong thing. I wanted all portlets to share the same session id so I've set this global context:-

The root context application has this set in the web.xml too

The manager is getting loaded for each portlet too.

I'm not familiar with Liferay, but may be able to set one up and give it a go.
WRT to original question about the class not being serializable, Tomcat should ignore non-serializable attribute values so I don't think that's the cause.  It looks like the context in which this particulate deserialization is occurring does not have access the the class.

This may be by design.
Installed Liferay CE 6.2, found the class that can't be loaded:
tomcat-7.0.62/webapps/ROOT/WEB-INF/lib/portal-impl.jar
    com/liferay/portlet/PortalPreferencesImpl.class

So that class is part of the / (ROOT) context.
When the home page is loaded, there are GETs to the notification-portlet which trigger the class not found exception.  The notification-portlet does not include that class in its WEB-INF.

You can try to configure the session persistence/valve for just the ROOT context.
For example, move the valve and redis store config from conf/context.xml to conf/Catalina/localhost/ROOT.xml:
% cat conf/Catalina/localhost/ROOT.xml
<Context path="" crossContext="true">
  <Valve className="com.gopivotal.manager.SessionFlushValve" />
  <Manager className="org.apache.catalina.session.PersistentManager">
    <Store className="com.gopivotal.manager.redis.RedisStore" />
  </Manager>
</Context>

@ccheetham much appreciate your help. I'm off for a few days but when I get back I'll certainly give this a go. What I'd like to know is what gets put into these sessions and by which portlet. I'm normally just dealing with single spring applications loaded into a root context. I've used a different session store which also failed with Liferay..
https://github.com/magro/memcached-session-manager/issues/351

@ccheetham so I've added the manager to only the root context and I'm not getting any errors and sessions appear to be working. My concern is whether there are other contexts that are now only writing to local in memory sessions but at moment this looks closable as not a bug..


[BUG] Can't logout from SharePoint Online

I posted this
https://docs.microsoft.com/en-us/answers/questions/436554/using-csom-to-logout-from-sharepoint-online.html
but got the advice to post my issue here instead, as the code I'm referencing is PowerShell code.
I am able to login using this snippet:
https://github.com/pnp/powershell/blob/dev/src/Commands/Utilities/BrowserHelper.cs
but I can't figure out how to logout.
Do I delete cookies? Which ones? The clearClookies boolean in that snippet doesn't seem to accomplish anything at all. The first call to GetWebLoginClientContext(url, true) works fine, but the second call closes the login dialog immediately and logs me in automatically.
So I guess that's the bug in this case, that the clearCookies boolean doesn't work, if the intention of it really is to force a logout.

Have you tried Disconnect-PnPOnline?


firebase_crashlytics needs to be updated to fit firebase_core ver 0.5.0

firebase_crashlytics needs to be updated to fit firebase_core ver 0.5.0
same for firebase_admob

duplicate


Need to update ActionsSdkApp.isRequestFromGoogle ?

In the last few days I started getting an error: "This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry."
This seems to be coming from "google-auth-library" new signature for verifyIdToken which now accepts an options object (https://github.com/google/google-auth-library-nodejs/pull/223), so
https://github.com/actions-on-google/actions-on-google-nodejs/blob/26548b64806fd62a703d8e37d7727bb3bc56dd0f/actions-sdk-app.js#L161
would have to wrap jwtToken, projectId within an object, something like:
googleAuthClient.verifyIdToken({   idToken: jwtToken,   audience: projectId }, (err, login) => {
Not sure on the audience: projectId bit, though.
Thoughts?

Turns out this is from PR #78. I'll work on the fix and submit a patch.

Great, thanks!


Decisions to add & reorganize special cases

          I fixed `SpecAsIsOriginButNoRoute` not picking up `<filter>`s with range operators in https://github.com/SichangHe/internet_route_verification/commit/5855e9e328469ba1b54a2deb3a859b73525a1f9e.

The report for the above route now looks like this.
TABLE_DUMP2|1687212032|B|<IP_ADDRESS>|293|<IP_ADDRESS>/21|293 3356 243|IGP|<IP_ADDRESS>|0|0||AG|243 <IP_ADDRESS>|:
    <IP_ADDRESS>/21 -> [Seq(293), Seq(3356), Seq(243)]
    UnrecExport { from: 243, to: 3356, items: [UnrecordedAutNum(243)] }
    MehImport { from: 243, to: 3356, items: [MatchRemoteAsNum(3), …, MatchRemoteAsNum(206), SpecImportFromCustomers, MatchFilterAsNum(21685, Range(0, 32)), …, MatchRemoteAsNum(65533)] }
    …

@cunha, I am not sure about whether to keep the SpecImportFromNeighbor case introduced above since it is now redundant in the above case.
Originally posted by @SichangHe in https://github.com/SichangHe/internet_route_verification/issues/70#issuecomment-1788291912

On the one hand, the portion of errors is already small in #69 (in #70 it is still large), on the other hand, #73 shows that most of the special cases are uphill, which may be less helpful than the more specific cases.
Also, the precedence (or order) of these special cases matter. For example, as of https://github.com/SichangHe/internet_route_verification/commit/5855e9e328469ba1b54a2deb3a859b73525a1f9e, SpecExportCustomers is check before SpecAsIsOriginButNoRoute, before SpecImportFromNeighbor, and the first hit gets reported. @cunha, it might be worth it to reorder them or just record them all.

A strong argument against adding more special cases is shown in #72. "err_filter" is very rare, but that is what new special cases would address.


Default DisplayNameResolver cannot handle classes derived from DisplayAttribute or DisplayNameAttribute

The default resolver tests against the class name explicitly:
https://github.com/JeremySkinner/FluentValidation/blob/11e46cba4727f2e7e0a06de51b4d0e4bd92ba341/src/FluentValidation/ValidatorOptions.cs#L76-L92
This was apparently done because referencing DataAnnotations caused trouble for some people (https://github.com/JeremySkinner/FluentValidation/commit/344d6a4621e32c7005b35bb8e5c8fe63630a212a).  This commit unfortunately does not mention what is the issue.
This has the problem of not allowing derived classes (as they will very likely use a different name), as in issue #192 .
It would be great if derived classes could be used as-is.

There was a .net framework bug that caused weird exceptions if FV referenced DataAnnotations directly. I can't remember the specific details of what the exception was, but this was the workaround.
I seem to remember this was a problem under net35, so it may no longer be an issue as we don't support net35 anymore, and we can get rid of the workaround
I'll try and do some investigation into this, but probably won't get to it for a while I'm afraid.

I had to dig in to this today.
Since the workaround in ValidatorOptions is doing basic string comparison of the type names it should probably recursively check the base type names of each of the custom attributes too.
We're having to circumvent the workaround (a workaround for the workaround?) by redefining the DisplayNameResolver within our application. The code below is taken from an old commit of ValidatorOptions
            ValidatorOptions.DisplayNameResolver = (type, memberInfo, expression) => {

                if (memberInfo == null) return null;
                string name = null;

                var displayAttribute = (DisplayAttribute)Attribute.GetCustomAttribute(memberInfo, typeof(DisplayAttribute));

                if (displayAttribute != null) {
                    name = displayAttribute.GetName();
                }

                if (string.IsNullOrEmpty(name)) {
                    // Couldn't find a name from a DisplayAttribute. Try DisplayNameAttribute instead.
                    var displayNameAttribute = (DisplayNameAttribute)Attribute.GetCustomAttribute(memberInfo, typeof(DisplayNameAttribute));
                    if (displayNameAttribute != null) {
                        name = displayNameAttribute.DisplayName;
                    }
                }

                return name;

            };

I've committed the change to use the attribute references directly for version 7.5 if you're running on netstandard 2.0 or net45. For netstandard1.0, it'll continue to use the original behaviour.

I've released 7.5 to nuget today that includes this fix.


how to flush data to file partially

how to flush data to file partially

Hi @conquer66666, I don't understand what you mean, please describe it in detail.

I want to write 500000 records into excel, when i called SetCellValue,i found the file size not rose until i call Save method the file size changed.How can i flush the data to file when set the cell value ?

Just call Save every time you want to flush. Else changes only happen in the process memory.

Do you mean Save could keep appending new rows to the same file?

Hi @conquer66666, I don't understand what you mean, please describe it in detail.

I have the same problem. If the file ends up getting really big, it would take up a lot of memory. Therefore, we all want to be able to keep appending the generated xlsx rows to a file and free up the memory.

Hi @conquer66666, I don't understand what you mean, please describe it in detail.

I have the same problem. If the file ends up getting really big, it would take up a lot of memory. Therefore, we all want to be able to keep appending the generated xlsx rows to a file and free up the memory.

me too， 我也是

I have added a stream writer for generating a new worksheet with huge amounts of data.


chore(feat-multi-module-components): release 0.79.0

:robot: I have created a release beep boop
0.79.0 (2023-05-05)
Features

Add support for integration registry (#105) (5f17513)
Add support for TF registry hosted modules (#103) (815b561)

Misc

bump github.com/aws/aws-sdk-go from 1.44.240 to 1.44.249 (#101) (30c07a2)
bump github.com/aws/aws-sdk-go from 1.44.249 to 1.44.257 (#107) (0d380ba)
bump github.com/chanzuckerberg/go-misc from 1.0.6 to 1.0.8 (#97) (eb3c653)
bump github.com/go-git/go-git/v5 from 5.6.0 to 5.6.1 (#88) (0bf7ecb)
bump github.com/runatlantis/atlantis from 0.23.2 to 0.23.5 (#98) (598bf02)
bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#93) (571113a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/vincenthsh/fogg/releases/tag/v0.79.0 :sunflower:


add pyproject.toml

Same as https://github.com/ioos/cc-plugin-glider/pull/42

The GitHub Actions are working in https://github.com/ocefpaf/cc-plugin-ugrid/actions/runs/6579692937/job/17876119239. They'll kick off here once this PR is merged.

I'm self-merging this one b/c it is pretty harmless and I'm not sure who is the point of contact for this at this point. I want to unblock https://github.com/ioos/compliance-checker/pull/1039.


Updated Documentation for export_results()

To make the functionality clearer (in line with menu in GUI)

Previously, it wasn't clear what the different options were for. Now the same info from the menu in GUI is given in the Docstring

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.69%. Comparing base (3b5fb19) to head (b742ddd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #303   +/-   ##
=======================================
  Coverage   86.69%   86.69%
=======================================
  Files          20       20
  Lines        1766     1766
=======================================
  Hits         1531     1531
  Misses        235      235


Real World Performance Benchmark

In order to get a realistic sense of Mentat's performance it'd be best to compare the code it generates to human generated code. We could pick out some high quality open source github repos with good standards around writing commit messages, issues and pull requests. Checkout the code before a commit and prompt mentat with produce a diff that accomplishes $COMMIT_MESSAGE towards solving $ISSUE. We can then evaluate it in two ways:

Does it modify the same files as the original commit?
We can feed both diffs to gpt and ask which is higher quality.

I'm interested in evaluating 1 even though it's not that informative on its own because it will give us a benchmark to evaluate as we implement ideas aimed at expanding the model's effective context, Issue 3.
We can discuss other ideas for benchmarks here and break good ideas out into separate issues.

One difficulty with doing this now is it'll have to be small projects that can fit all fit in context. Although we could just give it the files that are modified (which would precluded your first evaluation on which files it modifies).
Informative enough commit messages might be too hard to find, but yeah issues / PR descriptions might work!


Adding Identify_odd_metaphor Task

The task tries to gauge LMs ability to (i) identify the use of a metaphor in a sentence and (ii) differentiate between the usage of different metaphors for the same keywords/phrases.

Adding a missed keyword: implicit reasoning

@vyraun We are now requesting that task authors please include an explicit section in the README.md file called "data source", listing exactly where you got your data from (or explicitly state that you made it up yourself). Many thanks!

@jamiesully are one of the assigned reviewers for this task.  Please provide feedback and be sure to notify me with a formal accept or does not meet criteria by Tuesday June 22 (if you have not already done so).

@timothyn617 are one of the assigned reviewers for this task.  Please provide feedback and be sure to notify me with a formal accept or does not meet criteria by Tuesday June 22 (if you have not already done so).

I am one of the two reviewers assigned to review this task.
Thank you for your submission! I think this is a very unique and challenging task.
Correctness: From the few spot checks I did, the examples look correct, even if very challenging.
Specificity: The task is very specific and measures the very nuanced subtleties of language when understanding metaphors.
However a concern I have is that metaphor might be a red herring if the example answers are not chosen correctly. For example, for the question about arguments being treated as buildings, it could be that words like "shaky" occur in an example, but aren't being used to describe arguments. To truly isolate the metaphor aspect, it would be better to have correlated words that are not used correctly, so as to disentangle the presence of correlated words (easy) from correct metaphor usage (hard).
Thoroughness: There are only 50 examples, but as explained, coming up with a rich set of metaphors and examples of their usage is not so easy to do.
Difficulty: This task looks very difficult in my opinion. However, I think it could and should be simplified in the following way: Every question has a negation (how a metaphor is not used). I think for isolating a particular type of understanding, it'd make more sense to pose a task as a positive question. So remove the negation and flip all the answers.
Not solvable by memorizing the Internet: Quite likely given how unique this task is and that it seems to be hand-made.
Novelty: Very novel.
Justification: README.md doc provides a clear justification
Size: There are 50 questions each with several answers, so quite a small dataset.
Compute resources: A non-issue given the size of the dataset / examples.

I am one of the reviewers assigned to review this task. Thank you for your submission!
This task seems to be a valid and useful contribution. However, I do see a number issues that might merit further discussion and/or revision. In particular, see (3), (4), (5), and (6).

Correctness:
Task appears to be valid.

Formatting:
Task is properly formatted.

Specificity:
Task tests ability of language model to identify and differentiate the use of metaphors as set forward in the README. Appropriate keywords are included.

I think @timothyn617 raises a good point, though, about disentangling simple subject matter correlations in the question/answer pairs from the appropriate use of desired metaphor.

Thoroughness:
There are a reasonable number of examples in the task. But, by addressing the concern raised by the other reviewer regarding specificity you could both account for these confounding correlations and presumably create a wider range of difficultly levels in the examples.

Difficulty:
I didn't see a discussion in the README of how existing language models perform on this task.

Not solvable by memorizing the Internet:
I do notice that the prompt/answer pairs do appear together on the internet (https://books.google.ca/books?id=r6nOYYtxzUoC&lpg=PP1&pg=PA4#v=onepage&q&f=false). I don't know how big of an issue this is for inclusion in BIG-bench.

Novelty:
I'm not aware of another task in BIG-bench that would make this task redundant.

Justification:
The README.md file clearly explains what the task is attempting to measure, and gives background motivating why this is an important capability of large language models to quantify.

Size:
Size is in the acceptable range.

Compute resources:
No unreasonable compute requirements.

Thanks @timothyn617 and @jamiesully for the reviews!
Regarding flipping the negation: the current formulation has a natural interpretation of only one of the options being correct (hence, the detect the odd-one-out name). I don't think flipping negation in the question would matter much in terms of isolating metaphor understanding (more on this in the next point as well). Typically, in many multiple-choice questions, the formulation includes the negation term (especially, in detecting odd-one-out type questions). Plus, negation serves as a change of context to inhibit memorization based answering (this also addresses point 6 above).  So, even though it's quite easy to do so, I think negation is the better choice given the context.
Regarding specificity: That's a great point. I have tried to include cases where ideally the cosine similarity of certain words/phrases in an option will be high with the metaphor's words, even when those words/phrases don't really use the metaphor. An example being: "Which of the following does not use the metaphor that ideas are money?", where one option (the correct one) includes the word "two-cent". Similarly, "Which of the following does not use the metaphor that understanding is seeing?" has an option with "thinking." or "Which of the following does not use the metaphor that significant is big?" has an option with "big man". So, a number of cases have overlapping terms that could potentially confuse the model. These cases can't be handled correctly by the model unless it learns to ignore such low-level correlations in detecting anti-similarity (odd option). Creating further data to address more difficulty levels could be considered later (given the time-frame of big-bench deadline), given that more exploration and annotation effort would be required.
Please let me know if you have any questions. Thanks again for the reviews!

Thanks @timothyn617 and @jamiesully for the reviews!
Regarding flipping the negation: the current formulation has a natural interpretation of only one of the options being correct (hence, the detect the odd-one-out name). I don't think flipping negation in the question would matter much in terms of isolating metaphor understanding (more on this in the next point as well). Typically, in many multiple-choice questions, the formulation includes the negation term (especially, in detecting odd-one-out type questions). Plus, negation serves as a change of context to inhibit memorization based answering (this also addresses point 6 above). So, even though it's quite easy to do so, I think negation is the better choice given the context.
Regarding specificity: That's a great point. I have tried to include cases where ideally the cosine similarity of certain words/phrases in an option will be high with the metaphor's words, even when those words/phrases don't really use the metaphor. An example being: "Which of the following does not use the metaphor that ideas are money?", where one option (the correct/odd one) includes the word "two-cent". Similarly, "Which of the following does not use the metaphor that understanding is seeing?" has an option with "thinking." or "Which of the following does not use the metaphor that significant is big?" has an option with "big man". So, a number of cases have overlapping terms that could potentially confuse the model. These cases can't be handled correctly by the model unless it learns to ignore such low-level correlations in detecting anti-similarity (odd option). Creating further data to address more difficulty levels could be considered later (given the time-frame of big-bench deadline), given that more exploration and annotation effort would be required.
Please let me know if you have any questions. Thanks again for the reviews!

Ok makes sense to me! Perhaps I overreacted to the difficulty of negation (I don't have experience with this, was just my guess). Perhaps if you decide to expand this dataset in the future, a mix of negation and no negation might be more balanced.

@timothyn617 and @jamiesully a gentle reminder for completing the review process :) please do comment with a formal accept if everything's good to go. thanks!

The amount of tasks we received this round is tremendous.  With so many tasks to review we have decided to extend the review period to Tuesday, June 29.
Reviewers: if the submitter has made revisions please be sure to notify me with a formal ”accept” or ”does not meet criteria” by Tuesday, June 29  (if you haven't already done so).
this is an automated message

@timothyn617 and @jamiesully a gentle reminder for completing the review process :) please do comment with a formal accept if everything's good to go. thanks!

Yes, this task looks good to me! I recommend accept.

@chiafullo accept

Your task has been accepted in the initial review stage.  The next stage of this process is for us to assign your task a meta-reviewer for final review and merge.  An assigned meta-reviewer will follow-up by commenting on the PR should it need further revisions.

Hello! I'm the meta-reviewer for this task.  This is great contribution to the benchmark, and I'm merging it now!


Doesn't work on vagrant 1.4.3

Oh hi.
Jus wanted to mention that vagrant 1.4.3 (latest ubuntu repo-version) is incompatible with this plugin (at least on my lubuntu-powered notebook). I didn't save the stacktrace and just downloaded v1.7.2, but anyway, i thought i should inform you.

I'm not sure if this is the same issue, but I am using vagrant 1.7.4 and Virtualbox 5.0.6.
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing chef (12.0.3), and Bundler cannot continue.
Make sure that `gem install chef -v '12.0.3'` succeeds before bundling.

Warning: this Gemfile contains multiple primary sources. Using `source` more than once without a block is a security risk, and may result in installing unexpected gems. To resolve this warning, use a block to indicate which gems should come from the secondary source. To upgrade this warning to an error, run `bundle config disable_multisource true`.Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    rake RUBYARCHDIR=C:/Users/someuser/.vagrant.d/gems/gems/chef-12.0.3-x86-mingw32/lib RUBYLIBDIR=C:/Users/someuser/.vagrant.d/gems/gems/chef-12.0.3-x86-mingw32/lib
checking for windmc... yes
checking for windres... yes
checking for gcc... yes
windmc chef-log.man
windres -i chef-log.rc -o resource.o
gcc -o chef-log.dll -shared resource.o
rake aborted!
Errno::EIO: Input/output error - RegCreateKeyEx
C:/Users/someuser/.vagrant.d/gems/gems/win32-eventlog-0.6.1/lib/win32/eventlog.rb:224:in `add_event_source'
C:/Users/someuser/.vagrant.d/gems/gems/chef-12.0.3-x86-mingw32/ext/win32-eventlog/Rakefile:44:in `block in <top (required)>'
Tasks: TOP => default => register
(See full trace by running task with --trace)

Gem files will remain installed in C:/Users/someuser/.vagrant.d/gems/gems/chef-12.0.3-x86-mingw32 for inspection.
Results logged to C:/Users/someuser/.vagrant.d/gems/gems/chef-12.0.3-x86-mingw32/ext/win32-eventlog/gem_make.out


:rocket: improving /route

added tts system to show every step to reach the destination instead of an annoying wall of text

I'll try to help during my spare time