SIMSBIOHUB-79: Feature Flag Guard

Links to Jira Tickets
(must have been deleted or removed)
Description of Changes
Adds a new env var FEATURE_FLAGS which is a general purpose flag variable that can be used to disable frontend or backend features as needed.
APP
Adds a new type of guard that uses the FEATURE_FLAGS vars to disable or enable child components.
The guard can be used to wrap components, which will be rendered as normal unless feature flags are specified and at least one matching flag is defined in the relevant env var.
Replaced the REACT_APP_BIOHUB_FEATURE_FLAG with a new feature flag.
API
Included the feature flags in the api pipeline/docker-compose as well, and added some helper util functions for working with the feature flag env var.
Replaced the BACKBONE_INTAKE_ENABLED with a new feature flag.

Codecov Report
Attention: Patch coverage is 66.66667% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 56.45%.  Consider uploading reports for the commit df2427b to get more accurate results

Files
Patch %
Lines

app/src/contexts/configContext.tsx
28.57%
5 Missing :warning:

app/src/components/security/Guards.tsx
81.81%
1 Missing and 1 partial :warning:

app/src/hooks/useBioHubApi.ts
0.00%
2 Missing :warning:

app/src/hooks/useCritterbaseApi.ts
0.00%
2 Missing :warning:

app/src/hooks/useTelemetryApi.ts
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #1219      +/-   ##
==========================================
+ Coverage   56.36%   56.45%   +0.09%
==========================================
  Files         576      577       +1
  Lines       17615    17645      +30
  Branches     2746     2749       +3
==========================================
+ Hits         9929     9962      +33
+ Misses       7024     7018       -6
- Partials      662      665       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


ENH: Wrapper for multi-label morphology. Preserves original labels,

This function wraps calls to iMath and does morphology on a multi-label image. It preserves the original label regions, which is often desirable with brain labels.
An example application is dilating cortical labels into white matter, without overwriting neighboring cortical voxels.
It is a bit slow, for a T1 image with OASIS labels it takes about a minute. It could be more efficiently implemented in C++ using ITK Label Maps.

Cool, I have been looking for a solution to extend labels around.


Unable to generate correct addresses for my use case

Hello, I'm building a cardano integration for shopify and I'm having some trouble getting correct addresses from the cardano-addresses cli to enable things to work.
Let me preface that I'm not planning on running a cardano-wallet to enable any of this, as it seems unnecessary. What I want to do is simply obtain a public root key and from there generate receiving addresses on demand.
So the steps I'm taking are:

Generate a seed phrase that I can restore in daedalus:

cardano-address recovery-phrase generate --size 24 >> seed.txt

From the seed phrase I generate the private key:

cat seed.txt | cardano-address key from-recovery-phrase Shelley > root.prv

From the private key, I obtain the public root key:

cat root.prv | cardano-address key public > root.pub

From that, I was expecting to derive addresses on demand:

cat root.pub | cardano-address key child 1852/1815/0/0/0 > first.addr
cat root.pub | cardano-address key child 1852/1815/0/0/1 > second.addr
...
cat root.pub | cardano-address key child 1852/1815/0/0/100000 > absurd.addr

However, the addresses that come out look like this: xpub1uyanghg6r8s64z4pa8c9a53ylx2l54jd8he3pm8dxjz0as82fmhnyht4x50pr88jdf5gfg7a6r0fpzauht43wxd64m8knhex84kjalcjxx93v
Which daedalus can't accept as a valid payment address if I were to transfer funds to that. So in my quest to try and obtain a valid address format I guessed that this could work:
cat first.addr | cardano-address address payment --network-tag 1 > first.pub
That produced an address that daedalus accepts, but is not related to the address I got from the seed in step 1 - I transferred 1 ADA to test and it's lost forever.
Can you guys please let me know what the correct sequence of commands would be to generate correct payment addresses on demand from a public key? This is pretty central to what I'm trying to do to enable cardano for e-commerce as my plan is to associate one online order to one unique payment address.
Note that in case this becomes successful, there could be hundreds of open orders at any given time, associated with hundreds of different payment addresses. Once I get this part nailed, all I'll need to do is to monitor the blockchain (using cardano-db-sync and friends) to check that these payment addresses received the money, to then mark the corresponding purchase as fulfilled. There is no need in my view, to maintain a cardano-wallet process running, nor to ever intercept funds and forward them
Thank you

BTW I believe this is probably very different from what you guys are used to see. I'll use cardano-db-sync to detect when/if a payment has been made to a receiving address. I'm not planning on using a wallet client (cardano-wallet, or whatever), unless there's no way out of it.
I wrote some (very initial) desktop software code for online store owners to download and generate a seed phrase for them (so they can use daedalus/yoroi/etc) and upload the public root key to me:
https://github.com/uniVocity/free-commerce
It generates a 24 word mnemonic only right now, on this line so I can restore the wallet in daedalus:
This simply invokes cardano-address recovery-phrase generate --size 24
I stopped there as I could not figure out the correct commands to use to get valid receiving addresses

Thanks to @disassembler (on telegram) I was able to get this working as expected. I'll just leave the correct sequence of commands here in case anyone else needs it:

Get the public root key with this:

cat root.prv | cardano-address key child 1852H/1815H/0H | cardano-address key public > THIS.publicKey

Now to generate addresses I can use this:
cat THIS.publicKey | cardano-address key child 0/0 | cardano-address address payment --network-tag 1 > payment.address.0
cat THIS.publicKey | cardano-address key child 0/1 | cardano-address address payment --network-tag 1 > payment.address.1
...
cat THIS.publicKey | cardano-address key child 0/10 | cardano-address address payment --network-tag 1 > payment.address.10

It looks like there's a limit on the number of derivations I can generate, as child 0/1000000 produced an address to which I sent funds but they never arrived.  Also tried child 0/1000 and child 0/100 and the funds did not arrive.


Introduce ProjectUpdate endpoint to Flyte Admin API

TL;DR
Introduce ProjectUpdate endpoint to Flyte Admin API.
Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

PTAL #flyte-eng @katrogan


CLIMATE-766 Easy-ocw/install-ubuntu.sh script is broken

This initial pull request addresses the following issues from https://issues.apache.org/jira/browse/CLIMATE-766

Missing dependencies: Even after running the script there are multiple missing dependency errors. The script also does not install 'numpy' which is required.
The script does not install the climate module (by executing 'python setup.py install')

Still to be addressed

Multiple install_logs : The script create log file in whichever directory it is in.
The script does not install dependencies via anaconda. That means modules 'h5py', 'netcdf4', etc are not installed which are required.

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Failed.

Hey @lewismc
I will send the snippet for

The script does not install dependencies via anaconda. That means modules 'h5py', 'netcdf4', etc are not installed which are required.
in the morning.
Thanks.

Nice, thanks that would be great.
We can deal with unifying the install_log's in a separate issue.
On Wednesday, February 24, 2016, Omkar<EMAIL_ADDRESS>wrote:

Hey @lewismc https://github.com/lewismc
I will send the snippet for
The script does not install dependencies via anaconda. That means modules
'h5py', 'netcdf4', etc are not installed which are required.
in the morning.
Thanks.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/climate/pull/311#issuecomment-188430566.

--
Lewis

@lewismc can you commit this pull request so that I can pull it and add my changes accordingly??
Thanks

Hi @Omkar20895 if you look at the automated message which is posted over to Jira, you will see information regarding testing patches out without committing them
https://issues.apache.org/jira/browse/CLIMATE-766
You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lewismc/climate CLIMATE-766

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/climate/pull/311.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #311

If you have any trouble updating this pull request then please let me know.

@lewismc yeah I am sure that I can test this patch locally by pulling it. But, I am not sure of a way to update THIS pull request with my changes. Pardon if the question is silly, I googled it but couldn't find anything useful. Please let me know.
Thanks.

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Failed.

Hi @MJJoyce @Omkar20895 this new addition to the PR came from Ibrahim Jarif (offline) and I think that it improves and simplifies things for us. Please pull the code and try it out on a fresh VM if you can. Thanks

Closing in favor of https://github.com/apache/climate/pull/318


Admin panel broken?

What happened?
I think the admin panel, upon login, is broken as apps aren't being properly registered.
To reproduce, use docker and try to access the login panel. Logs given below.
What should've happened instead?
Admin should load
Additional details

Host system configuration:

Version of cookiecutter CLI (get it with cookiecutter --version):

OS name and version:
On Linux, run
lsb_release -a 2> /dev/null || cat /etc/redhat-release 2> /dev/null || cat /etc/*-release 2> /dev/null || cat /etc/issue 2> /dev/null

On MacOs, run
sw_vers

On Windows, via CMD, run
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

# Insert here the OS name and version

Python version, run python3 -V:

Docker version (if using Docker), run docker --version:

docker-compose version (if using Docker), run docker-compose --version:

...

Options selected and/or replay file:
On Linux and MacOS: cat ${HOME}/.cookiecutter_replay/cookiecutter-django.json
(Please, take care to remove sensitive information)"timezone": "UTC",
"windows": "n",
"use_pycharm": "y",
"use_docker": "y",
"postgresql_version": "14.1",
"js_task_runner": "None",
"cloud_provider": "AWS",
"mail_service": "Amazon SES",
"use_async": "n",
"use_drf": "y",
"custom_bootstrap_compilation": "n",
"use_compressor": "y",
"use_celery": "y",
"use_mailhog": "y",
"use_sentry": "y",
"use_whitenoise": "n",
"use_heroku": "n",
"ci_tool": "Github",
"keep_local_envs_in_vcs": "y",
"debug": "n",
"_template": "gh:pydanny/cookiecutter-django"

Logs:
django_1        | <IP_ADDRESS> - - [26/Dec/2021 16:47:23] "GET /admin/ HTTP/1.1" 500 -
django_1        | Traceback (most recent call last):
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/contrib/staticfiles/handlers.py", line 76, in __call__
django_1        |     return self.application(environ, start_response)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/wsgi.py", line 133, in __call__
django_1        |     response = self.get_response(request)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 130, in get_response
django_1        |     response = self._middleware_chain(request)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 49, in inner
django_1        |     response = response_for_exception(request, exc)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 114, in response_for_exception
django_1        |     response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 149, in handle_uncaught_exception
django_1        |     return debug.technical_500_response(request, *exc_info)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django_extensions/management/technical_response.py", line 40, in null_technical_500_response
django_1        |     raise exc_value.with_traceback(tb)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
django_1        |     response = get_response(request)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
django_1        |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
django_1        |   File "/usr/local/lib/python3.9/contextlib.py", line 79, in inner
django_1        |     return func(*args, **kwds)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 250, in wrapper
django_1        |     return self.admin_view(view, cacheable)(*args, **kwargs)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
django_1        |     response = view_func(request, *args, **kwargs)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
django_1        |     response = view_func(request, *args, **kwargs)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 232, in inner
django_1        |     return view(request, *args, **kwargs)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
django_1        |     response = view_func(request, *args, **kwargs)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 522, in index
django_1        |     app_list = self.get_app_list(request)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 505, in get_app_list
django_1        |     app_dict = self._build_app_dict(request)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 487, in _build_app_dict
django_1        |     'app_url': reverse(
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/urls/base.py", line 86, in reverse
django_1        |     return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
django_1        |   File "/usr/local/lib/python3.9/site-packages/django/urls/resolvers.py", line 698, in _reverse_with_prefix
django_1        |     raise NoReverseMatch(msg)
django_1        | django.urls.exceptions.NoReverseMatch: Reverse for 'app_list' with keyword arguments '{'app_label': 'trending'}' not found. 1 pattern(s) tried: ['admin/(?P<app_label>auth|sites|account|socialaccount|django_celery_beat)/$']
django_1        | <IP_ADDRESS> - - [26/Dec/2021 16:47:23] "GET /admin/?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
django_1        | <IP_ADDRESS> - - [26/Dec/2021 16:47:23] "GET /admin/?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
django_1        | <IP_ADDRESS> - - [26/Dec/2021 16:47:23] "GET /admin/?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
django_1        | <IP_ADDRESS> - - [26/Dec/2021 16:47:24] "GET /admin/?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -

$ cookiecutter https://github.com/cookiecutter/cookiecutter-django
project_name [Project Name]: ...

I just tried to reproduce, but I cannot. It works fine on my end with a vanilla project with similar options:
{
  "cookiecutter": {
    "timezone": "UTC",
    "windows": "n",
    "use_pycharm": "y",
    "use_docker": "y",
    "postgresql_version": "14.1",
    "js_task_runner": "None",
    "cloud_provider": "AWS",
    "mail_service": "Mailgun",
    "use_async": "n",
    "use_drf": "y",
    "custom_bootstrap_compilation": "n",
    "use_compressor": "y",
    "use_celery": "y",
    "use_mailhog": "n",
    "use_sentry": "y",
    "use_whitenoise": "n",
    "use_heroku": "n",
    "ci_tool": "Github",
    "keep_local_envs_in_vcs": "y",
    "debug": "n"
  }
}

I see your error is mentioning an app_label called "trending", is it something you've added?
django.urls.exceptions.NoReverseMatch: Reverse for 'app_list' with keyword arguments '{'app_label': 'trending'}' not found. 1 pattern(s) tried: ['admin/(?P<app_label>auth|sites|account|socialaccount|django_celery_beat)/$']

Thanks for the quick response. Yes it is an app. It mentions trending since I enabled a single model to be registered from that app. All app_name in urls.py are fine. apps.py LGTM. Migrations are created properly. In setttings base.py. APP_DIR=True. Options only includes context_processors. DIRS is still a list with APPS_DIR/templates. I have not added an admin directory under the templates directory. Perhaps there is something wrong with my TEMPLATES settings...? It looks the same to me besides the allauth_contextprocessor

Could you reproduce the problem in a public repo? A bit hard to tell otherwise...

@browniebroke I can't seem to reproduce either, so I just invited you to the repo.

Potentially a docker cache/image problem. Closing since it can't exactly are reproduced.


Document how to update flutter_tools/test/replay/osx/simulator_application_binary_test

This test will break continuously as we change how Flutter Tools works, so we need to be able to update it easily.

@tvolkert

The answer is we're going to delete the test and test record-replay in a way that isn't so fragile (I'll file an issue so the plan is documented and linkable) - the current test exists just so we don't regress in the meantime.

FYI, https://github.com/flutter/flutter/issues/8963 documents the plan.  Leaving this issue open as a reminder to delete the current test (it's currently disabled).

Assigning to @tvolkert per above.


feat(vendor-css): vendor oranda-css by default

remove oranda-css/dist/ from .gitignore so it can be checked in
include_str! it, and use that if ORANDA_CSS and version aren't set
add css upload to the post-release process
change the specific-version-downloading logic to take a full tag

note: local oranda-css will only be updated on cargo build. the ORANDA_CSS var still lets you have it be updated more dynamically

closing as per https://gist.github.com/Gankra/621dee83748efe2b6b3ce6b9dc6c0650


Directional shadows can appear/disappear as the viewpoint rotates

See what I mean in the Sponza Atrium project.
https://playcanvas.com/project/336533/overview/sponza-atrium

Fixed now?

Fixed by https://github.com/playcanvas/engine/pull/507


Fuzz Seed is not read from foundry.toml on forge snapshot

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (94ae897 2023-10-31T00:16:51.730405056Z)
What command(s) is the bug in?
forge snapshot
Operating System
Linux
Describe the bug
When running forge snapshot, fuzz seed as defined in foundry.toml is not honored. When passing it in as an env variable via FOUNDRY_FUZZ_SEED, it works fine.
behavior:
in foundry.toml, I've set
[fuzz]
runs = 100
seed = 0x4444

When running forge snapshot, it works fine and uses 100 runs. Then I set the seed in the environment with
FOUNDRY_FUZZ_SEED=0x4444 forge snapshot and it results in a different snapshot file. I would expect this to be the same seed as set in foundry.toml.
This causes a problem in CI where locally run snapshots do not match CI-run snapshots unless environment variable seed is set.
Reference PR from uniswap/v4-core where we had to set fuzz seed in env https://github.com/Uniswap/v4-core/pull/331

ref think this would solve https://github.com/foundry-rs/foundry/issues/5689

I see now that this is likely because we use STATIC_FUZZ_SEED for snapshot https://github.com/foundry-rs/foundry/blob/30ae702a31e175ca9c2c23bba71ee9d8520c8e45/crates/forge/bin/cmd/snapshot.rs#L101C56-L101C72 which overrides the foundry.toml version
but then why does the env variable affect it? and why does the STATIC_FUZZ_SEED result in differing outputs run by run?

nvm after more research seems the static seed works fine, i think the issue is diff rng between mac vs linux? i.e. when running on local linux machine vs linux CI it works but mac local vs linux CI fails


Update Spotless gradle link with main branch

The Spotless changed its default branch to main from master.
Close https://github.com/google/android-fhir/issues/268

Thanks for your contribution @utzcoz!


asyncio: aiohttp.request causes error after installing event loop

I have an app that uses aiohttp that I wanted to use pyzmq's new asyncio support with. However, it looks like the implementation causes errors when I try to use aiohttp's request method with an https address. Here's a simple test case:
import asyncio
import aiohttp

import zmq
import zmq.asyncio

zmq.asyncio.install()

ctx = zmq.asyncio.Context()
sock = ctx.socket(zmq.PUB)
sock.bind('ipc:///tmp/something')

@asyncio.coroutine
def run():
    res = yield from aiohttp.request('GET', 'https://google.com')
    yield from res.text()

    yield from sock.send(b'received a thing')

if __name__ == '__main__':
    loop = asyncio.get_event_loop()

    loop.run_until_complete(run())

This will result in the following traceback on Python 3.5.1:
Traceback (most recent call last):
  File "app.py", line 26, in <module>
    loop.run_until_complete(run())
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py", line 325, in run_until_complete
    self.run_forever()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py", line 295, in run_forever
    self._run_once()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py", line 1218, in _run_once
    event_list = self._selector.select(timeout)
  File "/Users/tboyt/Code/asynczmq/venv/lib/python3.5/site-packages/zmq/asyncio.py", line 123, in select
    return [ (self.get_key(fd), _zmq2aio[evt]) for fd, evt in events ]
  File "/Users/tboyt/Code/asynczmq/venv/lib/python3.5/site-packages/zmq/asyncio.py", line 123, in <listcomp>
    return [ (self.get_key(fd), _zmq2aio[evt]) for fd, evt in events ]
KeyError: 5

It seems to me that the asyncio support assumes that the only async I/O you do is through ZMQ, and isn't set up to handle non-ZMQ sources of events. Is this an intended limitation?
One curious aspect of this issue is that a non-https request (e.g. http://google.com) does not result in this error. I suspect this has something to do with a difference in the underlying transport (_SSLProtocolTransport vs _SelectorSocketTransport).

We're probably doing something wrong in the event mask conversion. Thanks for the test case.


datastore: add query.run

Fixes #1266
To Dos

[x] Docs
[x] Tests

[x] System
[x] Unit

Previously, a query has only been created through {module:datastore#createQuery}. But since adding run on the Query object, we need a reference to the parent object. The only thing that made this a bit tricky was running a query inside of a transaction. That's why this PR has to introduce {module:transaction#createQuery}.

Coverage remained the same at 100.0% when pulling 058b5d8bf7ecb89565dad6c64ea509a510880ed0 on stephenplusplus:spp--1266 into 243b52d4e6cca4043021e7ab0c76402b2105d895 on GoogleCloudPlatform:master.

@callmehiphop ptal!

Fixed the docs issue + realized query.run didn't take an options, which is required for setting the consistency.

Coverage remained the same at 100.0% when pulling acdb279e8ddbfd0af9ada019ad0c3ee5905b5fa9 on stephenplusplus:spp--1266 into 243b52d4e6cca4043021e7ab0c76402b2105d895 on GoogleCloudPlatform:master.

LGTM!


Introduction and best practices for C++/CLI

Channel
This a "C++Weekly" episode request.
Topics
An introduction to C++/CLI (C++ dialect to interop with C#).
Some best practices.
Length
More long form (10-20 minutes) or multiple episodes.

Wow, I don't think I can do this one. I've literally never once used C++/CLI


Changing circuit topology during simulation

The circuit topology can't be changed once a simulation has been started. We could include the feature of adding and removing components during the simulation (mainly transient simulations).
I foresee the following difficulties:

Adding/removing a component mid-simulation can cause convergence problems and a severe timestep truncation in transient analysis.
Adding/removing a component in a time analysis would need to be timestamped. If the timestep is truncated to a moment before the component is added. The component should be temporarily removed then. Can be avoided when not using timestep truncation.
Columns and rows need to be added/removed during simulation. This is not part of the current framework. This should be done carefully to avoid creating singular matrices.
Integration states need to be added/removed during simulation. This is not part of the current framework.
An added element would need some kind of initial condition.

I've been thinking about this issue lately and it seems to me that the only case where this feature is useful is for transient/time-based analysis. For DC, AC and Noise analysis, I can't find a use-case where it would make sense to change the circuit topology mid-simulation. If the circuit topology would change for those types of simulation, then it would make more sense that it influences all data points simultaneously. Only for time-based analysis you can talk about "inserting/removing an entity" mid-simulation and seeing what happens.
I've also thought about some of the foreseen difficulties:

Convergence problems can be reduced in two ways:

You introduce a breakpoint at the time an entity is inserted. The simulator basically expects a bit of discontinuity afterwards.
You introduce a gradual influence. The entity is introduced more slowly in time avoiding a "hard" discontinuity.

Truncation to a point before the entity is inserted can be avoided by using breakpoints too.

The safest way would be to only allow adding/removing items when a time point is accepted. What we lose is that we cannot easily modify the circuit conditionally (i.e. based on a voltage) with a backward integration method, but this may be tolerable.
Convergence problems can also be easily mitigated by simply reducing the integration method order to 1.
From a technical standpoint, what we still need is the following:

A way to serialize the simulation state to a temporary memory.
Then to clear the solver completely, and rebuilt it from scratch (we cannot guarantee that the LU decomposition will look the same).
A way to deserialize the previously stored states back to the relevant behaviors.


Can't compile from amalgamation with MUSL.

I am trying to compile with MUSL, using the following command:
gcc -m32 -Os -shared -fno-stack-protector -mpreferred-stack-boundary=2 -march=x86-64    \
    -fno-omit-frame-pointer                                                             \
    -specs musl/musl-gcc.specs                                                          \
    -DSQLITE_DEFAULT_MEMSTATUS=0                                                        \
    -DSQLITE_LIKE_DOESNT_MATCH_BLOBS                                                    \
    -DSQLITE_MAX_EXPR_DEPTH=0                                                           \
    -DSQLITE_OMIT_DEPRECATED                                                            \
    -DSQLITE_OMIT_PROGRESS_CALLBACK                                                     \
    -DSQLITE_OMIT_SHARED_CACHE                                                          \
    -DSQLITE_ENABLE_FTS5                                                                \
    -DSQLITE_OMIT_COMPLETE                                                              \
    -DSQLITE_OMIT_GET_TABLE                                                             \
    -DSQLITE_OMIT_UTF16                                                                 \
    -DSQLITE_OMIT_AUTHORIZATION                                                         \
    -DSQLITE_THREADSAFE=1                                                               \
    -DSQLITE_ENABLE_STAT4                                                               \
    -DHAVE_USLEEP                                                                       \
./sqlite3.c -o ./libsqlite3.so                                                          \

At first got an error:
./sqlite3.c: In function ‘sqlite3FinishCoding’:
./sqlite3.c:118477:15: error: ‘Parse’ has no member named ‘nTableLock’
118477 |     if( pParse->nTableLock>0 && db->init.busy==0 ){
       |               ^~
Error: Can't compile SQLite.

When I removed SQLITE_OMIT_SHARED_CACHE for test (because Parse depends on it, which is mistake IMHO), got another error:
/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/include/wmmintrin.h:87:1: error: inlining failed in call to ‘always_inline’ ‘_mm_aeskeygenassist_si128’: target specific option mismatch
   87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
./sqlite3.c:265027:16: note: called from here
265027 |         temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0);
       |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: Can't compile SQLite.

Which is really strange, because I expected to not have external dependencies in the amalgamation source...
Any advises are welcome.

I am trying to compile with MUSL, using the following command:
gcc -m32 -Os -shared -fno-stack-protector -mpreferred-stack-boundary=2 -march=x86-64    \
    -fno-omit-frame-pointer                                                             \
    -specs musl/musl-gcc.specs                                                          \
    -DSQLITE_DEFAULT_MEMSTATUS=0                                                        \
    -DSQLITE_LIKE_DOESNT_MATCH_BLOBS                                                    \
    -DSQLITE_MAX_EXPR_DEPTH=0                                                           \
    -DSQLITE_OMIT_DEPRECATED                                                            \
    -DSQLITE_OMIT_PROGRESS_CALLBACK                                                     \
    -DSQLITE_OMIT_SHARED_CACHE                                                          \
    -DSQLITE_ENABLE_FTS5                                                                \
    -DSQLITE_OMIT_COMPLETE                                                              \
    -DSQLITE_OMIT_GET_TABLE                                                             \
    -DSQLITE_OMIT_UTF16                                                                 \
    -DSQLITE_OMIT_AUTHORIZATION                                                         \
    -DSQLITE_THREADSAFE=1                                                               \
    -DSQLITE_ENABLE_STAT4                                                               \
    -DHAVE_USLEEP                                                                       \
./sqlite3.c -o ./libsqlite3.so                                                          \

First, some general remarks:

Using compile time options SQLITE_OMIT_* may or may not work with the amalgamation (see SQLite's documentation about omitting features)
The source file sqlite3.c is the original SQLite amalgamation while sqlite3mc_amalgamation.c is the amalgamation of this project (but maybe you renamed the file).

At first got an error:
./sqlite3.c: In function ‘sqlite3FinishCoding’:
./sqlite3.c:118477:15: error: ‘Parse’ has no member named ‘nTableLock’
118477 |     if( pParse->nTableLock>0 && db->init.busy==0 ){
       |               ^~
Error: Can't compile SQLite.

This problem is related to the user authentication extension, which is enabled by default, if not explicitly disabled. Just add
-DSQLITE_USER_AUTHENTICATION=0

and the error will go away. This is a known problem with the user authentication extension, but the SQLite core developer team has not addressed this (and other) issues related to this extension. And unfortunately I don't know enough about the inner workings of SQLite to fix it on my own.

When I removed SQLITE_OMIT_SHARED_CACHE for test (because Parse depends on it, which is mistake IMHO),

Yes, that is definitely a bug, but see my comment above.

got another error:
/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/include/wmmintrin.h:87:1: error: inlining failed in call to ‘always_inline’ ‘_mm_aeskeygenassist_si128’: target specific option mismatch
   87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
./sqlite3.c:265027:16: note: called from here
265027 |         temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0);
       |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: Can't compile SQLite.

Which is really strange, because I expected to not have external dependencies in the amalgamation source...

No, actually this is not strange. SQLite3mc uses native support for AES encryption. To make this native code compile with GCC it is necessary to specify the compiler options -msse4.2 -maes.

Yes, I have renamed the file, because the build scripts have hard coded name. Thank's for the information. Will test again and report the result.

It compiled now. Will test further. Thanks for the help.


all sessions have the same answer

Issues

If you're having trouble with Articulate we definitely want to help you. If you can provide a little bit of information it will make our troubleshooting job easier.
I open an session to an site with widget with an mobile phone, Chrome and firefox.
When i receive the answer, it appear on all screens
Please describe the issue you are having here and answer the question below.
I open an session to an site with widget with an mobile phone, Chrome and firefox.
When i receive the answer, it appear on all screens

Did you download a release or pull from Master? Which release?
download latest git
What operating system are you running?CentOS
Are you running locally or in the cloud?Locally
Which browser are you using?chrome, firefox, safari

Feature Request

If you've got a feature request we want to hear it

Please desribe the feature you would like us to add.
If possible provide the use case for the feature and how you would use it.

Any help?

server seems to work corectly, and problem is in snippet, i believe

@dakavisa @dcalvom I've never used the chat widget. @aermike is saying that if he has multiple browsers using the chat widget the chat shows up on all of the browsers, obviously this isn't the intention. Each browser should be it's own session.
@dcalvom does he need to generate some sort of a session ID to make each chat unique?

Closed and ready to test by ceb0d0a121d40fc32e9ffbdc45641b52803293b7


Add support for ARCH=um

Now that ARCH=um builds with clang, let's make sure it stays working!
NOTE: This PR depends on this PR for mainline; once it is merged, this one can be too.

Probably want to update some docs. Homepage and kernel docs?

if you remove the closes tag, then in a follow up, we can work on boot testing this?

Sure, I can remove the closes tag. I don't think that we can boot test this with our current flow, as UML is a virtual machine within itself, so we would not use QEMU for testing. I'll look into that tomorrow.

Yup, I have this working locally:
$ tuxmake -a um -C $CBL_SRC/linux-next -k defconfig -r podman -t clang-nightly LLVM=1 kernel
...

# sudo is critical here, the root_fs needs to be owned by root to work properly
$ sudo sh -c "mkdir root_fs && zstd -c -d $CBL_GIT/boot-utils/images/x86_64/rootfs.cpio.zst | cpio -D root_fs -di"
...
I: config: PASS in 0:00:02.285515
I: default: PASS in 0:00:15.879420
I: kernel: PASS in 0:00:04.387773
I: build output in /home/nathan/.cache/tuxmake/builds/56

$ $HOME/.cache/tuxmake/builds/56/linux rootfstype=hostfs rootflags=$PWD/root_fs
Core dump limits :
        soft - NONE
        hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking environment variables for a tempdir...none found
Checking if /dev/shm is on tmpfs...OK
Checking PROT_EXEC mmap in /dev/shm...OK
Adding 25071616 bytes to physical memory to account for exec-shield gap
Linux version 5.17.0-rc6-00019-g7c23c8af7393-dirty (tuxmake@tuxmake) (Debian clang version 15.0.0-++20220321071824+df4814d45d6b-1~exp1~20220321071914.194, Debian LLD 15.0.0) #1 @1647970143
Zone ranges:
  Normal   [mem 0x0000000000000000-0x00000000637e8fff]
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000000000000-0x00000000037e8fff]
Initmem setup node 0 [mem 0x0000000000000000-0x00000000037e8fff]
Built 1 zonelists, mobility grouping on.  Total pages: 14117
Kernel command line: rootfstype=hostfs rootflags=/home/nathan/tmp/root_fs root=98:0 console=tty
...
Run /sbin/init as init process
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Saving random seed: SKIP (read-only file system detected)
Starting network: OK
Linux version 5.17.0-rc6-00019-g7c23c8af7393-dirty (tuxmake@tuxmake) (Debian clang version 15.0.0-++20220321071824+df4814d45d6b-1~exp1~20220321071914.194, Debian LLD 15.0.0) #1 @1647970143
Linux version 5.17.0-rc6-00019-g7c23c8af7393-dirty (tuxmake@tuxmake) (Debian clang version 15.0.0-++20220321071824+df4814d45d6b-1~exp1~20220321071914.194, Debian LLD 15.0.0) #1 @1647970143
Stopping network: OK
Saving random seed: SKIP (read-only file system detected)
Stopping klogd: OK
Stopping syslogd: OK
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
reboot: System halted

I will wire this up into boot-utils shortly as boot-uml.sh, then I will update this PR.

Alright, this now depends on https://github.com/ClangBuiltLinux/boot-utils/pull/59. Once that is good to go, I'll bump boot-utils here, then this pull request should be mergeable!

Alright, boot-utils has been updated and I have added a patch for a next regression. This should be mergeable, please let me know what you think.

Thanks for the review as always!


Parsing of address, telephone and individual name ("n") field

Hey there
First, thank you for this project. I set out to do this about 18 months ago and got sidetracked and settled for partial (and not very elegant) parsing of the vCard data. I'm very appreciative of your work as the data I'm dealing with is both very large (thousands of unique networks) as well as very dispersed- requiring queries to practically every major RIR as well as almost all of the regional RIRs (or at least the ones that have implemented RDAP)
Second, the real reason for entering this, what interest do you have in parsing the following vCard values:

adr (address, 4 element array of strings)
tel (a little more complex but still reasonably simple, a dict with a list, and plain text)
n (4-element array of text, possibly a bit more if done fully)

More direct questions that are more easily answerable if you have the time:

Is there a reason you didn't implement the parsing of these fields? I'm speculating you just didn't think the majority of people wanted or needed that level of data, as opposed to them being added complexity you wanted to avoid, but I've considered both as possibilities
Are you interested in a PR that adds parsing of these fields? I have this in a fork, it's not terribly invasive, and though it requires more testing before ever going into a stable branch, it's working well for me. I have a need for this data, hence adding it
Something I can look into myself, but have you tested this much against APNIC (and the regional RIRs within AsiaPac- China/Japan have a few) or any of the other non-North America RIRs (AFRINIC, LACNIC, RIPE)
To what degree are you interested in performing additional normalization or parsing of some of these fields where applicable? For example, passing tel or adr through a third-party package specializing in those respective types to normalize them? Either as an optional "core" part of the library, or as a Python/setuptools "extra"?

Any answers you can provide are appreciated but if you're too busy to deal with this it's not a problem. I'm happy to work off my own fork for the moment and check in later once it's been more rigorously tested
Thanks again

Hi,
Thanks for the issue. Absolutely very happy to accept pull requests that add sensible features. If it keeps within the style I've coded it which is somewhat verbose but easier to come back to after 18 months of not reading it and understand what it's still doing all the better :)
Effectively we had a reasonably narrow use case and built the library to work with that use case. To expand to general use I really just randomly selected a bunch of samples from global RDAP servers of different kinds and tweaked the parser until they seemed to work as expected. So in answer to your specific questions:

No specific reason. Likely either didn't encounter them or where I did encounter them they were duplicated.
Yep, feel free to submit a PR. Where possible the general aim of the "condensed" or "parsed" results was to return singular checked information, so if you want to try and add an extractor for a single true address string or single true phone number string etc. that would be fine.
The library is well tested against network RDAP results, less so against regional ccTLD RDAP servers. Coverage seems reasonably comprehensive, but likely has the odd parsing issue with some of the more esoteric RDAP servers on the internet.
Depends on the additional parsing really. If it's relatively basic and pure Python, probably fine. I'd generally like to keep the library simple and not depend on anything too crazy though.

Having taken a look at your sample output probably the only change I'd suggest is making the address a string were possible. The mix of comma-split single lines as a one element list vs. multi-element lists is messy. Also stripping the errant \r and \n etc. would probably be neater.
Generally, if you just add address as a clean, parsed string and phone and so on, sounds good. These additional parsers would need tests as well.
In your example how does ind_name differ from the existing name field? What's the raw vcard data there?

Thanks for the quick response

Absolutely very happy to accept pull requests that add sensible features. If it keeps within the style I've coded it which is somewhat verbose but easier to come back to after 18 months of not reading it and understand what it's still doing all the better :)

Yep, no disagreement there

3. The library is well tested against network RDAP results, less so against regional ccTLD RDAP servers. Coverage seems reasonably comprehensive, but likely has the odd parsing issue with some of the more esoteric RDAP servers on the internet.

The good news for you is that it seems to do pretty well against my inputs.I haven't encountered any issues so far, and that includes regional RIRs in Canada, Japan and China

Having taken a look at your sample output probably the only change I'd suggest is making the address a string were possible. The mix of comma-split single lines as a one element list vs. multi-element lists is messy

Good feedback. I think that may get to be a little tricky because of how unruly and inconsistent the address data can be, but I'll keep it in mind. I'll at least make it easy so it's easy for you to choose which of 2 or 3 styles to keep when I send the PR in (format 1, format2, raw, etc)

Also stripping the errant \r and \n etc. would probably be neater.

Man, you've got good eyesight! I hadn't even noticed, I'll make sure it strips any other whitsespace as well. As it is now, if an address element ended with a space (or newline, even) it would have ended up in there too- oops!

In your example how does ind_name differ from the existing name field? What's the raw vcard data there?

I'll paste that in a separate comment in a moment

According to the RFC fn and n should be equivalent, just fn is formatted as a single string and n is multi-part, represented as a list in JSON:
https://www.w3.org/2002/12/cal/rfc2426.html#sec3.1.1
https://www.w3.org/2002/12/cal/rfc2426.html#sec3.1.2
I don't think there should be a situation where n is set but fn is not, but I'm fine with the idea of a fallback to ', '.join(n) if fn is not present in the data.
The general aim of the library was to be logical for humans, so, if the data is extracted in a way of "this entity as an abuse contact, and their name is [person/company]" if that makes sense then it's working as intended.
I don't see anything we can really do for organisations or individuals in the wrong fields, they've literally put the individual down as "Rackspace Com" as first and last name in your example. In these sorts of situations the library should probably just return the data verbatim, it will be a bit incorrect, but the source data is incorrect.

According to the RFC fn and n should be equivalent, just fn is formatted as a single string and n is multi-part, represented as a list in JSON:
https://www.w3.org/2002/12/cal/rfc2426.html#sec3.1.1
https://www.w3.org/2002/12/cal/rfc2426.html#sec3.1.2
I don't think there should be a situation where n is set but fn is not, but I'm fine with the idea of a fallback to ', '.join(n) if fn is not present in the data.

Thank you for those references. For now, I'm going to add an assert on my local copy and see if I encounter a single case where this happens in practice (n is set, fn is not) - if I don't encounter anything in the next few months then I won't bother to clutter things

I don't see anything we can really do for organisations or individuals in the wrong fields, they've literally put the individual down as "Rackspace Com" as first and last name in your example. In these sorts of situations the library should probably just return the data verbatim, it will be a bit incorrect, but the source data is incorrect.

Yep, I agree 100% with this, especially now that I've been dealing with the wrangling of bad data almost daily for the past 2 years- you can either drive yourself nuts trying to accomodate bad data (and still end up with bad data) or just "let it be" - it's arguably more correct in the original form anyway
Thanks again, I'll let you know if/when I send something in

Sounds good! Thanks for the discussion. As said feel free to submit a PR and I'll be happy to review it. You OK if I close this issue for now?

Closing this out for now. Thanks!


Updated code to generate designer.cs file only if resx file name does not have locale

cc @troydai

Hi @kirthik, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

/cc @pranavkm

Looks good to me. Let's hear from @pranavkm
Consider I sign off this.

Looks good otherwise. :shipit:


Simple DNSCrypt but Menu not Simple!! please read.

In my opinion,

The main menu should have only Service switch & Network Config.
And the application should re-design to one click base to on/off service (one click for start service and config <IP_ADDRESS> to interface/one click for stop and remove <IP_ADDRESS> from interface) that make it more "simple".
You should move Configuration menu to Resolver because it relate to Available Resolver.
You may move "remove service" to Advance Setting because not everyone want to remove it every time.
Available Resolver make menu have two scrollbar i recommend you move to new tab or new windows ,open it by click on button in Resolver tab.
Where is a Netprobe IP config ? why force user to use <IP_ADDRESS>
.
If you want more user to use this app please make it more "simple"
I'm not programmer sorry for helpless.

For me it IS a simple version of the actual dnscrypt. Simple doesn't mean it's a one click option. You have to look/read how the dnscrypt proxy is setup without the GUI in the dnscrypt repo. Sure the GUI is definitely need some work but there hasn't been any GUI update for a long time. Even some old GUI feature that have been removed that people requested to be in hasn't been implemented yet.
The <IP_ADDRESS> is the default from the dnscrypt config. Why? I don't know you should ask on the dnscrypt repo.

For me it IS a simple version of the actual dnscrypt. Simple doesn't mean it's a one click option. You have to look/read how the dnscrypt proxy is setup without the GUI in the dnscrypt repo. Sure the GUI is definitely need some work but there hasn't been any GUI update for a long time. Even some old GUI feature that have been removed that people requested to be in hasn't been implemented yet.
The <IP_ADDRESS> is the default from the dnscrypt config. Why? I don't know you should ask on the dnscrypt repo.

I think you not understand How user experience are. You answer sound like "This app really good don't improve it".
<IP_ADDRESS> is a default ,yes. you can config directly in .toml file. What i ask is "where is this setting in GUI".

If you don't care about user experience just use my " Simple " script
https://github.com/lessload/LESSLOAD-DNSCrypt

@lessload
some of what u asking basically is just about personal preference
not necessary it become simpler to other person
and also consider that programing things to be exactly what u want sometimes not easy
also that <IP_ADDRESS> is default fallback-resolver in advanced settings right ?

@lessload
some of what u asking basically is just about personal preference
not necessary it become simpler to other person
and also consider that programing things to be exactly what u want sometimes not easy
also that <IP_ADDRESS> is default fallback-resolver in advanced settings right ?

Right but. what i said is netprobe_address not fallback_resolver ,when you change fallback_resolver netprobe_address has not changed accordingly. maybe is a bug?
I know is not easy. it just my recommendation to make it better in real usage. Personally, I use my script instead.

I think you not understand How user experience are. You answer sound like "This app really good don't improve it".

When did I say that? Clearly I'm pointing out that the GUI really need some work but unfortunately there hasn't been an update to the GUI for a very long time. I'm personally hoping there's improvement to the GUI, bring back old feature etc.

If you don't care about user experience just use my " Simple " script
https://github.com/lessload/LESSLOAD-DNSCrypt

Clearly you're not a programmer.


[FEATURE] <.NET9> contains a shared library 'libSkiaSharp.so' which is not correctly aligned.

Is your feature request related to a problem?
Building a .net  MAUI project with Skia gives these warnings
NuGet package 'SkiaSharp.NativeAssets.Android' version '3.0.0-preview.3.1' contains a shared library 'libSkiaSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
NuGet package '' version '' contains a shared library 'libsentry-android.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
NuGet package '' version '' contains a shared library 'libsentry.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
NuGet package '' version '' contains a shared library 'libsentrysupplemental.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
Describe the solution you would like
Alignment issues solved for .net 9
Describe alternatives you have considered
It's not ab locking issue, since it can compile, just to leave this into consideration
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@jonathanpeppers any thoughts on what this means?

This is the upcoming 16kb alignment requirement for Google Play, and probably Android 16 / API 36 next year.
@grendello were you looking at this for SkiaSharp?

@jonathanpeppers I tried to, but couldn't build it locally and then I got distracted by other tasks.  I'll try to look into it soon.

Is there some compiler/linker flag? If this is a Google requirement, then I am sure the latest skia code will have it somewhere and I could find it with a code search and backport.

Is there some compiler/linker flag? If this is a Google requirement, then I am sure the latest skia code will have it somewhere and I could find it with a code search and backport.

If building with the NDK r28 (not yet released), the 16k alignment would be enabled automatically.  With older NDK versions, one has to pass the -Wl,-z,max-page-size=16384 flag to the compiler when linking (or -z max-page-size=16384 when invoking the linker directly)
You can find more details here and here

Any news? Currently I can't start any page using SkiaSharp on the emulator that API over 35
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package 'HarfBuzzSharp.NativeAssets.Android' version '<IP_ADDRESS>' contains a shared library 'libHarfBuzzSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package 'SkiaSharp.NativeAssets.Android' version '3.118.0-preview.1.2' contains a shared library 'libSkiaSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package 'HarfBuzzSharp.NativeAssets.Android' version '<IP_ADDRESS>' contains a shared library 'libHarfBuzzSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package 'SkiaSharp.NativeAssets.Android' version '3.118.0-preview.1.2' contains a shared library 'libSkiaSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package '<unknown>' version '<unknown>' contains a shared library 'libbarhopper_v3.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package '<unknown>' version '<unknown>' contains a shared library 'libbarhopper_v3.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details

We are also encountering the 16 KB page size issue on Android 15 (API 35) with SkiaSharp when running our application on devices that require 16 KB paging

@jonathanpeppers is this true? The sims won't even launch an app with non-aligned binaries?

Tried it yesterday. Can confirm that the very same apk can launch in emulator with image V34 but not with V35. However, I have a few other native libraries the build process complains about

@jonathanpeppers is this true? The sims won't even launch an app with non-aligned binaries?

Yes, they won't.  However, in the emulator one can disable the 16k alignment (in x86_64 images at least)

Do you need to modify this?
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package 'HarfBuzzSharp.NativeAssets.Android' version '<IP_ADDRESS>' contains a shared library 'libHarfBuzzSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
    /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/35.0.7/tools/Xamarin.Android.Common.targets(2076,3): warning XA0141: NuGet package 'HarfBuzzSharp.NativeAssets.Android' version '<IP_ADDRESS>' contains a shared library 'libHarfBuzzSharp.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details

Well,that because the other packages I referenced are still using the old version

To solve that, you can just install the latest HarfBuzzSharp and it will pull in the latest dependencies.


Docs

added md5 checksum
updated tests
added default for archive file name

Codecov Report

Merging #19 (ad2fbe2) into main (80f3c1e) will increase coverage by 2.50%.
The diff coverage is 76.36%.

@@            Coverage Diff             @@
##             main      #19      +/-   ##
==========================================
+ Coverage   14.63%   17.13%   +2.50%
==========================================
  Files           8        8
  Lines        1025     1062      +37
==========================================
+ Hits          150      182      +32
- Misses        875      880       +5

Impacted Files
Coverage Δ

bigplanet/bigplanet_archive.py
11.66% <0.00%> (ø)

bigplanet/bigplanet_filter.py
12.93% <0.00%> (ø)

bigplanet/bp_get.py
6.32% <0.00%> (-0.04%)
:arrow_down:

bigplanet/bigplanet.py
28.26% <50.00%> (+0.98%)
:arrow_up:

bigplanet/bp_extract.py
44.93% <83.67%> (+7.38%)
:arrow_up:

Continue to review full report at Codecov.

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


HIE type on hover dies because of specific file

How to reproduce:

do a checkout of https://github.com/razvan-panda/Haskell-Book at SHA f80e738fd58be820258aed8b44e8c7cdf5c60054

open one of the files Ch15, Ch16 or Ch16Rearrange - type on hover will function

open Ch17 and hover over anything - type on hover is not working on this file or the previous files on which it worked

This bug can be reproduced both in Atom and in VSCode

It dies with the following console error in Atom:
01:58:11.524 logger.ts:19 Haskell (hie) stderr hie: gfromJust initRdrNameMap Nothing
warn @ logger.ts:19
stderr.split.filter.forEach @ auto-languageclient.ts:698
handleServerStderr @ auto-languageclient.ts:698
childProcess.stderr.on @ auto-languageclient.ts:341
emitOne @ events.js:96
emit @ events.js:191
readableAddChunk @ _stream_readable.js:178
Readable.push @ _stream_readable.js:136
onread @ net.js:560
01:58:11.524 logger.ts:19 Haskell (hie) stderr CallStack (from HasCallStack):
warn @ logger.ts:19
stderr.split.filter.forEach @ auto-languageclient.ts:698
handleServerStderr @ auto-languageclient.ts:698
childProcess.stderr.on @ auto-languageclient.ts:341
emitOne @ events.js:96
emit @ events.js:191
readableAddChunk @ _stream_readable.js:178
Readable.push @ _stream_readable.js:136
onread @ net.js:560
01:58:11.524 logger.ts:19 Haskell (hie) stderr   error, called at src/Language/Haskell/GHC/ExactPrint/Utils.hs:622:27 in ghc-exactprint-<IP_ADDRESS>-E46BVefKuiy3GRzydLcKBg:Language.Haskell.GHC.ExactPrint.Utils
warn @ logger.ts:19
stderr.split.filter.forEach @ auto-languageclient.ts:698
handleServerStderr @ auto-languageclient.ts:698
childProcess.stderr.on @ auto-languageclient.ts:341
emitOne @ events.js:96
emit @ events.js:191
readableAddChunk @ _stream_readable.js:178
Readable.push @ _stream_readable.js:136
onread @ net.js:560

Removing the invalid classify pragma fixed the issue. Not sure what further actions should be taken regarding this ticket, but it was very confusing as to why it was not working.
Just having:
{-# LANGUAGE InstanceSigs #-}

module Ch17 where

in the file was also killing HIE.

We now have better exception handling in hie.
Does the original problem still occur with current master?

I'm testing on NixOS and run into following issue when updating HIE to latest version: https://github.com/domenkozar/hie-nix/issues/13

I know @domenkozar said something about the update getting more complicated because hie now uses submodules.
I am not sure if that repo deals with them properly yet.

@alanz Still having the same issues with HIE a4e21f43c94dfc253d07614e781347d657c86b9b

The problem still occurs.
In my case, It happens occasionally when i tried to copy a code and then paste into the editor(VSCode). Not sure whether problem came from HIE itself or a language server extension.

here’s some part or logs i think it’s informative
... blah blah
hie: gfromJust initRdrNameMap Nothing
CallStack (from HasCallStack):
  error, called at src/Language/Haskell/GHC/ExactPrint/Utils.hs:622:27 in ghc-exactprint-<IP_ADDRESS>-JGvkCVQspir2AFrA6YrhNv:Language.Haskell.GHC.ExactPrint.Utils

Can you provide the rest of the callstack?

@alanz okay. This isn’t the same file as above but still reproduces the same problem.

Can you make the project available (or a subset of it) so we can test locally?

Here you go (SHA:d99e9f9885f2cf2574e050cc3c535535b4e0e94e)
Anyway, thanks in advance.

Love it: learned haskell, caught my annoying bug :)

@domenkozar explain?

@krikchaip Are you running this on nix? I am unable to reproduce the problem,

@alanz errr... never heard any of nix term before, sorry 😕
In answer, I run it on OSX 10.13.6

I also get a similar error, with Spacemacs (latest develop) and latest master HIE
(in the lsp-haskell log):
hie: gfromJust initRdrNameMap Nothing
CallStack (from HasCallStack):
  error, called at src/Language/Haskell/GHC/ExactPrint/Utils.hs:624:27 in ghc-exactprint-<IP_ADDRESS>-IvDIVerdDiI67LGxeYpMLd:Language.Haskell.GHC.ExactPrint.Utils

It would be helpful if anyone having this error could compile hie with profiling exanbled and try to reproduce the error to get the full stack trace:
Compile with profiling:
stack install --work-dir=.stack-work-profile --profile

This will take quite a while to compile. Then set your editor to pass extra opts to hie. The command should be something like this:
/path/to/hie +RTS -xc

I've attached a stack trace here: https://gist.github.com/nitros12/83e3613ed3796e113a52665c88e7e3f8
So far I've had hie crash when hovering and also after completions are requested a second time.

We have to check those cases with latest master


Add paddle_create_signature_header helper function to test your webhook implementation

Description
A small helper function to test your webhook endpoint.
Type of Change

[x] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

Checklist

[x] I've read the CODE_OF_CONDUCT.md document.
[x] I've read the CONTRIBUTING.md guide.
[x] I've updated the code style using make codestyle.
[ ] I've written tests for all new methods and classes that I created.
[ ] I've written the docstring in Google format for all the methods and classes that I used.

Looks ok, I will test it soon.
Also for testing, you can use sandbox environment and cloudflared tunnel to direct requests to your localhost.
cloudflared tunnel --url http://localhost:8000/ gives you a temporary endpoint for example

Also for testing, you can use sandbox environment and cloudflared tunnel to direct requests to your localhost.

I already do. But I use that function to test my webhook endpoint too.
Just like you use vcrpy to not always make requests.


Register version 0.2.5

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/73716
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.5 -m "<description of version>" 74de95eaa3441b8ab87cce30fc8199094ab9cf7c
git push origin v0.2.5


Back Button - Does not ignore double clicks on destination buttons

Steps to reproduce
1.Click Settings Button (Top Right)
2.Click Home Button twice
3.Click Back
Expected behaviour
Should go back to the setting folder and not stay on the home screen.
Actual behaviour
Does not move off the home screen. I see this as a problem as i know a lot of people who will double click icons and buttons.

 I think it tracks each click, so it would need to take into account the scenario where the same button /action /screen is clicked twice.

Yes it goes back if you double click, like you say it's tracking each click and does not account for a double click. I know my parents and a few of my friends always double click nearly everything lol.

yes youd have implement a check to see if there are two in a row that are the same and filter them out so its a list with no repeats

essentially double clicking logs it twice in the history so you have to press the back button twice to get passed the doubled up history

I can not reproduce this bug on the latest version pushed to git.

well thats where the issue arises @gyroninja simply press any menu button twice and youll have to press the back button twice or the first time it reloads the page again cause you clicked twice and it logged it to history twice

@gyroninja @MSFTserver The new history logic don't allow history duplication ^^

@tzarebczan I guess you can close this
unless someone can recreate the bug in master, but that should be impossible :stuck_out_tongue:

👍

I am getting this problem on the 0.15.0.rc2 version released yesterday. Has the fix been implemented since then?

This was real. Fixed in a911336

@kauffj I think there is an issue with the home page, the first time location is /discover?
and after that you get -> /discover

working in version 0.15.0


Added initial display labs

Not sure if this is ready to be merged as is so waiting for feedback.
Added three exercises with display: cluster only, sharding and CRDT.
Added as 101-103 exercises.
Put together a simple description with wire connection schemas. Perhaps need to add step by step instructions
Display control software is on Java using Pi4J. It uses a simple image to font logic

checked on Pi installation with

sbt>universal:packageBin
copy 10X
run 10x

@agolubev Totally missed your review request. Will look into this asap.

Thank you. Let me check. Maybe I forgot to commit something
Sent from my iPhone

On Dec 16, 2019, at 9:13 AM, Eric Loots<EMAIL_ADDRESS>wrote:

@eloots commented on this pull request.
@agolubev I will review the PR in detail, but I did a quick test on one of my clusters:
built and copied exercise 101 using universal:packageBin
ran exercise 101 on node-1 and got the following:
Dec 16, 2019 2:08:21 PM com.pi4j.util.NativeLibraryLoader load
SEVERE: Unable to load [libpi4j.so] using path: [/lib/raspberrypi/dynamic/libpi4j.so]
java.lang.UnsatisfiedLinkError: /tmp/libpi4j3291842511742865533.so: libwiringPi.so: cannot open shared object file: No such file or directory
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
at java.base/java.lang.Runtime.load0(Runtime.java:767)
at java.base/java.lang.System.load(System.java:1834)
at com.pi4j.util.NativeLibraryLoader.loadLibraryFromClasspath(NativeLibraryLoader.java:159)
at com.pi4j.util.NativeLibraryLoader.load(NativeLibraryLoader.java:105)
at com.pi4j.wiringpi.Gpio.(Gpio.java:189)
at com.pi4j.io.gpio.RaspiGpioProvider.(RaspiGpioProvider.java:64)
at eroled.BasicOLED.(BasicOLED.java:37)
at eroled.SmartOLED.(SmartOLED.java:29)
at com.lightbend.akka_oled.ClusterNodeStatus.(ClusterNodeStatus.scala:44)
at com.lightbend.akka_oled.ClusterNodeStatus$.$anonfun$props$1(ClusterNodeStatus.scala:38)
at akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:91)
at akka.actor.Props.newActor(Props.scala:212)
at akka.actor.ActorCell.newActor(ActorCell.scala:648)
at akka.actor.ActorCell.create(ActorCell.scala:674)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:547)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:569)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:293)
at akka.dispatch.Mailbox.run(Mailbox.scala:228)
at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Seems there's a shared library missing (libpi4j.so)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you. Let me check. Maybe I forgot to commit something
…

Got exercise 101 running. Updated comment above.

@eloots  updated this branch. Please check when you have time.

@eloots I was not aware of course management restrictions. Thanks for the explanation

@eloots  add changes per your feedback regarding eliminating commonDisplay

@agolubev I can't verify the display based exercises as I don't have access to the OLED display you're using. Looks good though, but wouldn't it be a good idea to migrate the status tracker to Akka Typed?
The base exercise (base_cluster) has been migrated and merged on master (exercise 60 at the time of writing). It has a generic ClusterStatusTracker that allows for a specific visualiser to subscribe to cluster status updates. I wrote a specific visualiser for the LED strips - you could do the same for the OLED visualiser.
There's also PR #136 which has versions of all but two exercises moved to Akka Typed. If you can do this, we can phase out Akka Classic on this repo. It's ready for review.

@agolubev I propose to merge this when you resolve the merge conflicts on build.sbt. I would move the version of akka-pi-os.yml for the OLED display to akka-pi-os-display.yml

@eloots I rebased and resolved all conflicts. Also created akka-pi-os-display.yml. Can you approve it so I can go forward with merge?


more explicit statement about card-mod

The README mentions the card-mod dependency nine times in total as is, three times of which are in the first section. I can add it again to the instructions in the proper spot after installing HACS but it should have already been clear.

Your call of course. Single place I would expect it to be is the installation section.


Rfr 7 Store RSS feeds locally

Changed LocalStorage to use RealmDB instead of File
Update tests to use Mockito

Please fixup all commits into single one


Bugs in Fucntion validate_location

Bug in Function validate_location
12:55:43 policy[7323] validate DEBUG validating data={'set_desc': 'Except All Rulesets', 'qos_treatment': 'constrained_bw'}
12:55:43 policy[7323] validate DEBUG validating data={'match_type': 'any', 'classifiers_list': [{'location_src': 'internal'}]}
12:55:43 policy[7323] validate DEBUG validating data={'location_src': 'internal'}
Traceback (most recent call last):
  File "/home/kholisrag/.local/bin/ryu-manager", line 11, in <module>
    sys.exit(main())
  File "/home/kholisrag/.local/lib/python2.7/site-packages/ryu/cmd/manager.py", line 81, in main
    services.extend(app_mgr.instantiate_apps(**contexts))
  File "/home/kholisrag/.local/lib/python2.7/site-packages/ryu/base/app_manager.py", line 509, in instantiate_apps
    self._instantiate(app_name, cls, *args, **kwargs)
  File "/home/kholisrag/.local/lib/python2.7/site-packages/ryu/base/app_manager.py", line 495, in _instantiate
    app = cls(*args, **kwargs)
  File "/home/kholisrag/nmeta/nmeta/nmeta.py", line 83, in __init__
    self.policy = policy.Policy(self.config)
  File "/home/kholisrag/nmeta/nmeta/policy.py", line 431, in __init__
    self.tc_rules = TCRules(self)
  File "/home/kholisrag/nmeta/nmeta/policy.py", line 510, in __init__
    self.rules_list.append(TCRule(self, policy, idx))
  File "/home/kholisrag/nmeta/nmeta/policy.py", line 538, in __init__
    policy, condition))
  File "/home/kholisrag/nmeta/nmeta/policy.py", line 658, in __init__
    validate_location(self.logger, policy_value, policy)
  File "/home/kholisrag/nmeta/nmeta/policy.py", line 96, in validate_location
    for policy_location in policy.locations.locations_list:
AttributeError: 'Policy' object has no attribute 'locations'

But when I comment the code that related to validate_location, the rule is worked.

Thanks for the bug report. I can reproduce by adding a location_src classifier. I will write a fix and also figure out how that got past tests

cd ~/nmeta/tests/; py.test is also successful

I've pushed a fix to develop but haven't had time yet to incorporate better testing for this feature.


Option to Ignore Event Data

Currently Data found within the Event has to be used when writing to the Serial Port

Enhancement

To allow static values to be written...
Allow the option to ignore any Event data and allow the data found within the Write Prefix and Suffix to be used only.

User Interface Update


Concentrate all method's definitions in the .cpp files of their respective class

I'm not sure why some methods are defined within the header files while some in the cpp files of some classes. Good example is
mesh_frame.hpp
void setVertexFace(const u32 &t_index, const u32 &t_val) { vertexFaces[t_index] = t_val; }
void setSTFace(const u32 &t_index, const u32 &t_val) { stFaces[t_index] = t_val;  }
void setNormalFace(const u32 &t_index, const u32 &t_val) { normalFaces[t_index] = t_val; }
I understand they are short and possibly self-explanatory from the name, but perhaps it'd be better to concentrate all definitions of a given class in one file to make finding definitions a bit easier. Need your opinion on it @h4570

Because I wanted to do it as inline https://github.com/h4570/tyra/issues/25
I don't want tell compiler to create new function for it, because we will have (and have right now) performance issue there.
But to be honest, when I saw some source codes, I see that this is pretty common approach, to describe small functionalities just in header file. But anyways I'm not c++ expert.


restore storage.md file

After looking for documentation about persistent storage, it was surprising to see the files had existed and then been deleted.   Thankfully, git is persistent storage.  :-)
From https://github.com/coreos/prometheus-operator/issues/2905
"It seems like we should bring those docs back."
"Would you like to shoot us a PR with fixed links re-introducing these docs?"

Thanks for working on this!  LGTM.  Looks like this doc was removed in #2554 but maybe they never made it over to kube-prometheus repo.  I think we are over due for an update of the docs in this repo in general.


Components include scripts that use jQuery early in HTML body

It's standard practice to load all Javascript libraries like jQuery at the very end of an HTML document.  As a result, the scripts in various components that use $() return errors, because that function is not yet defined.  These scripts need to be added to a @content section which can be yielded at the bottom of the grid template, after loading jQuery.
Another possible, simple, non-blade solution would be something like this: http://stackoverflow.com/a/21922298/4186945 but it still requires the dev to add the two code blocks to the start/end of their template.
Also, the root $(function () {}) should use the long-form jQuery(function () {}) to work with jQuery.noConflict() and avoid conflicts with other libraries.

Hi,
Regarding  long-form jQuery -- no problem, it's easy to fix, if you want to get that changes faster, you can replace $ to jQuery yourself & create pull request, I will merge that & release during day.
Regarding moving jQuery to bottom:

I don't think that direct use of solution mentioned on stackoverflow is a good idea for grids package, becouse it will require end-user to include additional scripts like

<script type="text/javascript">
    jQuery(function(){
      while (domReadyQueue.length) {
        domReadyQueue.shift()(jQuery);
      }
    });
  </script>

manually, it makes usage of grids more complex & broke backward compatibility.

In next major releases of grids it's easy to fix becouse presentation framework has resource manager class that controls including JS/CSS resources to page. With current repository I can't broke backward compatibility, so not all solutions can be accepted.

I suggest we need just to review all JS in package: possibly some things doesn't require wrapping to $(function () {}) at all (becouse substantially there are event handlers) and some other parts of code can be written using vanilla js without increasing it's complexity.

We can just replace $(function(){...}) with window.onload = function() {...}.
That helps to me.

Released in v1.3.5


Documentation patches

I feel a bit bad for spamming the bug tracker with so many issues, so here are some documentation patches. I'll push more patches to this PR as I write more.
Signed-off-by: Edward Z. Yang<EMAIL_ADDRESS>

Thanks! All merged, and I cleaned up a few of the remaining questions in the docs.


Actions should be sorted by name on dropdown

When we tag sayings it could be easier by having the actions sorted by name

@dcalvom I think we should improve upon this even more and have the category/action dropdowns show:

Search
Most Recent (limited to 3 most recent)
Full alphabetized list

May be a continuation of #638

Fixed the sort issue with https://github.com/samtecspg/articulate/commit/d355d4f6a9e0cc4e0f495f8f375b0cdefcf2c057, still missing the new order and filter.

Closed by https://github.com/samtecspg/articulate/commit/b48e84234962060e798dcf10140d8c84f577d635


Starting at t=0 if opt_startTime is out of bounds?

Have you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
2.1.8
I am currently using shaka player for streaming DASH, and would like to make it so the playback starts at a certain time. From the docs I see player.load supports opt_startTime, however with the version of shaka player I have, if the opt_startTime is a time that is longer than the video, the player throws an error and fails to load. I noticed around 2.2.8, the stream starts at END_TIME - 1 instead of throwing an error.
I was wondering what the best way would be to to detect that the start time is out of bounds, and start at t=0 rather than t=END_TIME - 1? This is an example of what I am currently thinking (involves upgrading of shaka player to 2.2.5 for streaming event support):
const startTime = 60; // some start time in seconds
player.load(manifestUri, startTime);
player.addEventListener('streaming', function() {
    const end = this.seekRange().end;
    if (startTime > end) {
        this.getMediaElement().currentTime = 0.1; // 0 seems to start at end
    }
});

The above seems to work, but I am not sure if there is a better solution. Also, if there is some solution that would involve me not upgrading shaka player that would be great.

You could try something like this, which doesn't rely on the streaming event:
const startTime = 60; // some start time in seconds
player.load(manifestUri).then(function() {
    const end = player.seekRange().end;
    if (startTime < end) {
        player.getMediaElement().currentTime = startTime;
    }
});

Does this help?

Hey @joeyparrish thanks for the super fast response! That was a good idea but unfortunately it doesn't work in 2.1.8, the start doesn't get set correctly. Assuming I upgrade to the latest version, do you see any problems with my original code or is there a better way?

If you can, upgrading is rarely a bad idea.  At the very least, try the most recent bugfix release from the v2.2 branch, v2.2.10.  Otherwise, you should try the very latest, which is currently v2.3.2.
It could be that some of these approaches fail because of bugs we've already fixed in newer releases, so I suggest you try an upgrade before we go further.  Upgrade guides can be found here: https://shaka-player-demo.appspot.com/docs/api/tutorial-upgrade.html
If upgrading your entire project is going to be too time-consuming for you right now, you could always just try building a very simple demo on top of the latest release using the sample code you posted above.  That should be cheap and easy, and will tell you whether your approach makes sense and whether an upgrade will help with this particular issue.

Hey @joeyparrish, definitely will look into upgrading, but even that doesn't work entirely. I linked a codepen above in my edit which has the latest v2.3.2 and a demo example of what I am trying to do.
In my codepen, tried changing player.getMediaElement().currentTime in both the streaming event and player callback, and the playback still starts at t=END_TIME - 1 if opt_startTime is invalid.
I have also tried not setting opt_startTime and just setting player.getMediaElement().currentTime. This starts it at t=0. Here is a codepen for this: https://codepen.io/anon/pen/oEeeVW

Seeking during the 'streaming' event doesn't work because we haven't put opt_startTime into effect yet.  I would expect that seeking after load() resolves would still work, but it doesn't.  Delaying the seek another 100ms after load() resolves works on my workstation, but that is not a good fix.
It is surprising that we override a seek that occurs after load() is resolved, so I'll go ahead and mark this as a bug.  I'm not sure exactly what is causing it, though.

This should work after the fix is commited:
const startTime = 500;
player.load(asset.manifestUri, startTime).then(function() {
    const end = player.seekRange().end;
    if (startTime > end) {
      player.getMediaElement().currentTime = 0.1;
    }
});

Cherry-picked to v2.3.5


[0.9.2-rc1] Cant select quoted field key

I can insert a quoted field key
> insert fail value=1,"break"=1

But when I go to query for the data I get this error
> select * from fail
ERR: unknown field or tag name in select clause: break

Might be fixed by: https://github.com/influxdb/influxdb/commit/0945db75aa76b3ad87f357244fe49f51323a6d38

@jwilder yup it did


Increase version lower bound to Kubernetes 1.20

What this PR does / why we need it:
After working on #1817, I realised I was too lenient in the initial PR, allowing Kubernetes 1.19 which will not be supported by kubeone 1.4 according to the docs. This PR raises the bar to minimum Kubernetes 1.20, and removes the e2e tests that were still running with 1.19. Not sure you want this, but I thought I raise it.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Minimum Kubernetes version is set to v1.20

Signed-off-by: Marvin Beckers<EMAIL_ADDRESS>

/retest


TreeBuilder-related fixes

This splits a bunch of commits from #3530 that are unrelated to Policy trees specifically. All the changes here are either cleanup, or introduce new features relied on by #3530.
@martinpovolny please review

@himdel : All these commits seem to be ok. Travis also passing...


Customize button

Hi,
Can we customize the button? i.e. I don't want the text Login with telegram inside the button and also wanted to apply a custom style to the button.
Please suggest.
Thanks

Probably no... It is not by component, it is by Telegram. It loading in iframe so no CSS can be applied.
All customization options are https://core.telegram.org/widgets/login

#9


Add astro-product-gallery example

For Issue 51: Closes #51
Created a new example showing how to set up the Cloudinary Product Gallery in an Astro project.

Used Astro CLI for scaffolding the project
UI looks similar to React example

Screenshots

Let me know if I need to make any more changes.

@geekysrm this worked great as well - can you add the instructions for the tags similar to what I mentioned in the other PR? 🙏  then can get these both merged

Added some instructions, kindly take a look @colbyfayock !

thanks for updating here too!


SQLITE

Hey there,
is it possible to integrate into installer the possibility to choose sqlite instead of sql driver? It would be just awesome.
Regards,
Fossy

we had sqlite before, but it is somehow breaking our test cases. But it should work fine. I am not sure but you can check the install script, it will have commented lines for including sqlite.

Yeah it does run, except the modules entry in the menu. It throws following:
DataTables warning: table id=modules-table - Exception Message:
SQLSTATE[HY000]: General error: 1 no such column: .name (SQL: select "modules"."id", "modules"."name", "modules"."url", "modules"."view_permission_id", "modules"."created_by", "modules"."updated_by", "users"."first_name" as "created_by" from "modules" left join "users" on "users"."id" = "modules"."created_by" order by ""."name" asc limit 10 offset 0)
Well it was mentioned as feature request at all. It's not a problem to switch it manually to sqlite database, but the php artisan install:app isn't working so just skip this step is the only option.
Thank you anyway it looks like a nice solution for small projects. <3

@Fosphatic  I have also tested sqlite for the same but found same error which you are facing earlier. But if you still want to use sqlite than you have to configure database configuration manually, than and than it will work!

@vrkansagara yeah it is working except the one error as wrote before. Thanks!


Uproot cannot recover the content of a non properly closed ROOT file.

I realized that if a ROOT file has to be recovered (because it was not closed properly for any reason), uproot is not able to read its content, and returns an empty list when doing:
 in: file = uproot.open("random_file.root")
 in: list_of_keys = file.keys()
 in: list_of_keys
out: [ ]

Is there actually a way to recover those files contents just like ROOT does when loading such files?
Thank you!
Daniel.

Can you somehow upload that file so we can have a look? If it's too big, I can take care of it, just let me know...

I can give you the path in the Cluster where it is... I am afraid that if I upload it won't worth it, because I have my RAM in bad state and every time I copy any file from the Cluster to my laptop the file gets corrupted.

There's a recovery procedure for TBaskets in a TTree, when the TTree is in a partially written state.
For named objects that aren't listed in a TDirectory, there isn't a recovery procedure in Uproot. It's likely they're simply not in the file to be recovered. I suppose there's a chance that the object might have been written without updating the TDirectory, so it would be physically in the file but nothing points to it, and in that case it would be in principle recoverable if the object could be found among all those raw bytes, but scanning to find such a thing would be pretty expensive. (Regex for "TKey" on raw bytes and deal with the false matches? It sounds brittle, and only handles a corner case of "object written, but TDirectory not updated.")

Ok, I solved the issue re-making the files.
Maybe it could have been solved using what you said, but really I don't know how.
Thanks anyway!

You're welcome; glad you have a solution!


FLUME-3207:Fix some typos in TestReliableSpoolingFileEventReader

There is a mistake in testConsumeFileOldestWithLexicographicalComparision
public void testConsumeFileOldestWithLexicographicalComparision()
      throws IOException, InterruptedException {
    ReliableEventReader reader =
        new ReliableSpoolingFileEventReader.Builder().spoolDirectory(WORK_DIR)
                                                     .consumeOrder(ConsumeOrder.OLDEST)
                                                     .build();
    File file1 = new File(WORK_DIR, "new-file1");
    File file2 = new File(WORK_DIR, "new-file2");
    File file3 = new File(WORK_DIR, "new-file3");
    Thread.sleep(1000L);
    FileUtils.write(file3, "New file3 created.\n");
    FileUtils.write(file2, "New file2 created.\n");
    FileUtils.write(file1, "New file1 created.\n");
    file1.setLastModified(file3.lastModified());
    file1.setLastModified(file2.lastModified());
    // file ages are same now they need to be ordered
    // lexicographically (file1, file2, file3).
    List<String> actual = Lists.newLinkedList();
    readEventsForFilesInDir(WORK_DIR, reader, actual);
    List<String> expected = Lists.newLinkedList();
    createExpectedFromFilesInSetup(expected);
    expected.add(""); // Empty file was added in the last in setup.
    expected.add("New file1 created.");
    expected.add("New file2 created.");
    expected.add("New file3 created.");
    Assert.assertEquals(expected, actual);
  }

The code is incorrect. To set the same modify time for the three files, code should be:
file2.setLastModified(file1.lastModified());
file3.setLastModified(file1.lastModified());

Test testConsumeFileYoungestWithLexicographicalComparision has the same mistake.

@bessbd Can you please review this small patch?

Can one of the admins verify this patch?


Custom basePath early exit

Hi, if using a custom basePath (not '/'), when determining if the request should be re-written to use a versioned route the plugin should exit early if the requested path does not start with the custom basePath. Would you accept a PR with this implemented?
Thanks, Adam.

Sry. I don't understand the question you are asking. What do you mean with exit early? Could you please give a more detailed explanation?


Boxplot widths

Closes #195.

@zeileis I think that this should address the various examples that we discussed in #195. Let me know if you have time to do a quick review / kick the tyres. Thanks!

Thanks, will have a look tonight!

The boxplots look great, thanks Grant @grantmcdermott ! I played around with various combinations of by and facet and boxplot-specific arguments. Everything worked as intended except one extremely contrived example (see below).
I mainly wondered about the computation of x_by. First, why is it set to FALSE except for type == "boxplot" in
https://github.com/grantmcdermott/tinyplot/blob/boxplot_widths/R/tinyplot.R#L654-L658
Second, it is done rather early now but x and by might have been modified already in tinyplot.default.
As for the first point: I don't understand the logic why this should be limited to boxplots. The logic should also apply to other plot types, even if these choose to ignore the x_by argument.
And an example, where the x_by gets FALSE even though it should be TRUE is if both variables are numeric. The reason is that by gets coerced to factor before the comparison. Due to this the following plots are not the same, although they should:
tinyplot(mpg ~ factor(gear) | factor(gear), facet = "by", data = mtcars, type = "boxplot")
tinyplot(mpg ~ gear | gear, facet = "by", data = mtcars, type = "boxplot")

Ah, good catch!
Let me take your points in reverse order:

Due to this the following plots are not the same, although they should:

Thanks. I bumped this x_by assignment further up in the code (per your helpful suggestion) to avoid any earlier coercion "mismatches". So the examples that you gave should now be working correctly. I included a test along these lines.

I mainly wondered about the computation of x_by. First, why is it set to FALSE except for type == "boxplot" in

The x_by flag only matters (i.e., is only used) for boxplots. So I was trying to avoid doing unnecessary evaluations for other plot types, which might slow down the overall tinyplot() function. I admit that this probably doesn't make a material difference, since identical is normally fast. But I do like the principle of only doing work you need  and would really like to preserve the overall snappiness of tinyplot. (I don't want to be dogmatic about this though, and could be convinced to evaluate for other plot types if you think it best.)

Thanks for the update! Regarding the second point: I agree that avoiding unnecessary computations is a good idea in general - but so is modularity. The more we have these scattered special cases in tinyplot.default the more difficult it becomes to make the plot types self-contained.
Another option (I haven't tried it) could be to compare something like identical(as.integer(x), as.integer(by)) or something along those line within the boxplot code (rather than doing it before).

I agree that avoiding unnecessary computations is a good idea in general - but so is modularity. The more we have these scattered special cases in tinyplot.default the more difficult it becomes to make the plot types self-contained.

Okay, done. Feel free to squash+merge if you are happy.

Great, thanks, Grant! Should I also delete the branch after merging it?

Thanks! (Free free to delete the branch in the future. I'll do it here.)


Update Android project to use AndroidX support library

Use AndroidX in place of legacy Android support libraries. This is required for any Android projects that use AndroidX for support libraries.
See: https://developer.android.com/jetpack/androidx/migrate
Specifically react-native-gesture-handler currently has a 4 PRs to migrate to AndroidX being blocked by this down stream dependency for our tests that require this dependency.

Thank you very much! I'll take a look today or tomorrow.

@aarongrider I tried this in a new generated project react-native init with 0.59.5. It does not work (or require some changes in the main project) because the generated project still does not use Android X. I am guessing we need to wait till 0.60.x ?

I'm wondering if we should wait to merge this until RN 60 is released with AndroidX support. As far as I understand, AndroidX projects are incompatible with legacy support projects when compiled from source. This library shouldn't be a huge issue for consumers since you distribute compiled aar's, but it's something we should keep in mind.

I'd now use it now, as RN 0.59 is still on support libs plus most of the libs did not move to androidx just yet

You should provide a version now even if react-native 0.60 is not yet released...
I could use it now because my project depend on it and it's not working anymore since yesterday -> https://github.com/facebook/react-native/issues/25294
Now other libraries like react-native-webview or react-native-camera have already do the job.
You can merge this PR now and provide a new version, if others don't want androidx they keep previous versions.

0.60 is out. Source: Announcing React Native 0.60

https://github.com/kmagiera/react-native-gesture-handler/pull/460#issuecomment-508576959

We want to wait on this till 2.0 is released (so 2.0 is also compatible before RN 0.60.x). Then we can add these changes for 3.0. For now, if you want to use this library in RN 0.60.x just follow the jetifier instructions.

@aarongrider @ferrannp @troZee any updates on this one? 2.0.0 is out and RN is already 0.61
Jetifier is doing it's job, however I think it's already time to migrate

@ferrannp can you please merge this and push a new release ?

@aarongrider hey I am closing this in favour of https://github.com/react-native-community/react-native-viewpager/pull/103. Sorry for that! But we also need the example working if we update to Android X so we want to speed things up. We'll make a new release when that is merged.
@bhandarijiwan till then just use jetifier or run react-native run-android which does it for you.


[TEST] Run JUnit  tests on beeline module

Why are the changes needed?

add maven-surefire-plugin to beeline module for running JUnit tests.

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Does it support JUnit5 ?

Codecov Report

Merging #4969 (e1c464e) into master (2ec120d) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head e1c464e differs from pull request most recent head 6cfae7f. Consider uploading reports for the commit 6cfae7f to get more accurate results

@@          Coverage Diff           @@
##           master   #4969   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         563     563
  Lines       30997   30997
  Branches     4044    4044
======================================
  Misses      30997   30997

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

seems works now

The tests can be skipped with -DskipTests. cc @pan3793
mvn clean install -pl :kyuubi-hive-beeline -DskipTests:

Do we need to check other java modules？

Do we need to check other java modules？

I have checked. we missed the module kyuubi-hive-beeline only.

Thanks for reviewing. Merged to master / 1.7.2.


Corrected test_vulkan to use specific platform/device from harness

Fixes #1926 according to task description

This is a nice change, it works for us.  The test harness is a good addition.


[Feature Request] Always visible crossed path

Hello, i've tried this and it was amazing!
But i want to make the crossed path to be always visible just like Starcraft
https://www.youtube.com/watch?v=pQMEvi0OZ_c
on 03:24
I hope u will add that feature ^_^
or do you have any clues how to do that?
Thank you :)

OMG bro, where did you learn to make this?
Do you have patreon or youtube channel? ^_^
Thank you so much, u're a life saver!

I dont have patreon, but I do have a Youtube channel.
I use it just to post the plugins and some random stuff.
You can check it out :
https://www.youtube.com/channel/UCh1VbK-b3wooBKxsOkHVegQ