[Install issue]: Unable to Establish Http Client connection with python.

What happened?
I have setup chroma fine before but I am making a new environment and I'm not sure whats going wrong.
I have a docker instance of Chroma running and I am able to access the heartbeat via localhost:8001/api/v1/heartbeat
so I know it is working there.
When I run this code it creates the persistent client just fine but breaks on the Http Client.
`import chromadb
client = chromadb.PersistentClient(path=r"C:\Users\solomonsj\Desktop\chromastuff")
client2 = chromadb.HttpClient(host="localhost", port="8001")
print(client.heartbeat() )
print(client2.heartbeat() )
`
This is the setup command for my docker compose
chromaDB:
image: chroma_server:latest
volumes:
- chroma_persistent_folder:/chroma/chroma/
ports:
- 8001:8000
volumes:
chroma_persistent_folder:
driver: local
Versions
python 3.11.5
chroma 0.4.17
Relevant log output
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\fastapi.py", line 628, in raise_chroma_error
    resp.raise_for_status()
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\requests\models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://localhost:8001/api/v1/tenants/default_tenant

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\client.py", line 427, in _validate_tenant_database
    self._admin_client.get_tenant(name=tenant)
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\client.py", line 472, in get_tenant
    return self._server.get_tenant(name=name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\telemetry\opentelemetry\__init__.py", line 127, in wrapper
    return f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\fastapi.py", line 198, in get_tenant
    raise_chroma_error(resp)
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\fastapi.py", line 630, in raise_chroma_error
    raise (Exception(resp.text))
Exception: {"detail":"Not Found"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\solomonsj\Desktop\Projects\GPT\llm_project\PublishV1\gradio_chatbot\chromatest.py", line 4, in <module>
    client2 = chromadb.HttpClient(host="localhost", port="8001")
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\__init__.py", line 172, in HttpClient
    return ClientCreator(tenant=tenant, database=database, settings=settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\client.py", line 143, in __init__
    self._validate_tenant_database(tenant=tenant, database=database)
  File "C:\ProgramData\Anaconda3\envs\chatbot\Lib\site-packages\chromadb\api\client.py", line 433, in _validate_tenant_database
    raise ValueError(
ValueError: Could not connect to tenant default_tenant. Are you sure it exists?

I was halfway through typing this when I figured it out. Because I was making an environment with a more recent version of Chroma I needed to rebuild my Chroma Docker image from the newest version.  ghcr.io/chroma-core/chroma:latest
I figured I should still post this in case someone else has the same issue. Good luck!


How to control the size of the player?

How to control the size of the player? use css the player cannot Full screen.

我写了一个demo
https://codepen.io/hnsylitao/pen/yojxLv
你可以看一看

Thank you very much for your demo, it has been solved.


TopHat with CircExplorer

Try using align option to generate input files

Needs bowtie1 and bowtie2 indexes.
bowtie2 is already created form find_circ

Ran into errors ... not easy to make it work... abandoning!


Pipeline for Kubernetes CI

Adjusting docker image to work with kubernetes pods
Adjusting production settings to work with kubernetes pods
Writing CI steps to build, test, deploy to the ECR, migrate and turn over pods in separate steps
Fixing failing tests

Checklist

[ ] Set up cron jobs

[ ] [OPTIONAL, editors can simply stop using google sheets] import_combos
[ ] [OPTIONAL, editors have a button to fire this job] export_variants

[ ] Set up "on release" jobs

[ ] seed_website_properties
[ ] clean_jobs

[ ] Merge the sem-ver PR

I'm leaving here 3 points for further investigation:

CSS mime types in production settings (still needed?)
running the application with USER "app" instead of root inside the container
collecting static files by default on docker build (was commented)


Android - White screen displayed after log out

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch the app
Log in with any account
Send some messages or request money
Log out

Expected Result:
User should log out from the account and login screen appears
Actual Result:
White screen displayed after log out
Workaround:
Unknown
Platform:

Where is this issue occurring?

Android

Version Number: v<IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

https://user-images.githubusercontent.com/43996225/147687763-eae67056-ce2a-4bec-ba98-07ad6c57fdd8.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Triggered auto assignment to @tylerkaraszewski (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

This has cropped up in #6898. The undefined check for the appStateSubscription is missing.
https://github.com/Expensify/App/blob/29e469a8664f0d9f25fdace49628b60129f9e93c/src/libs/AppStateMonitor/index.js#L27-L30
Change it to:
if (!appStateChangeSubscription) {
    return;
}
appStateChangeSubscription.remove();

cc - @aswin-s @parasharrajat  Since you guys were involved in the PR.

Is it possible for AppState.addEventListener('change', appStateChangeCallback); to return undefined? I failed to find what it returns in the documentation :(
Documentation: https://reactnative.dev/docs/appstate#addeventlistener

Unfortunately, PR was merged before I was able to test it.
But we are planning to upgrade the RN to v65 and this problem will be resolved there. cc: @roryabraham

Thanks @parasharrajat. Yes as explained over here, removeEventListener was deprecated only in version 0.65 and we are still on 0.64.x. So the real fix is to upgrade react native version. I already tested @roryabraham's PR on iOS and everything looks good. We might want more eyes on that PR.

@parasharrajat @roryabraham Are we going to merge the RN upgrade PR soon? If not then we should merge the null check PR so that it can be removed from DeployBlocker. If we'll merge soon then that's the ideal fix.

Yes as explained over here, removeEventListener was deprecated only in version 0.65 and we are still on 0.64.x.

But... removeEventListener doesn't seem to be used here, the new way .remove() is being used.

Are we going to merge the RN upgrade PR soon

I don't think that the PR upgrading RN will be cherry picked to staging, so I agree with we should merge the null check PR so that it can be removed from DeployBlocker.

Unfortunately, PR was merged before I was able to test it.

Which PR? https://github.com/Expensify/App/pull/6898?

Yup. 6898.

PR with fixed merged and CP'd to staging.

Retested. Issue is Fixed.


apply coustomize font

hello thanks for this
i want to use sonner in my project
i put sonner in my layout but the coustomize font cannot apply on toast how to fix that

You can override the font with either a className or style tag.


Update to 1.19

Updates plugin to spigot 1.19 release

Internally stopping using maven thus removing the pom.xml.


Improvement for k8s.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

The liveness probe docs says

periodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. The minimum value is 1.
timeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.

Could you document the behavior if timeoutSeconds is greater than periodSeconds for eg 20s and 10s respectively? Are we likely to see 2 parallel liveness probe requests if the response takes longer than 10s ?

Page reported in issue (based on the title): https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
/language en

No, i don't think we will see two parallel liveness probe.

Liveness probe is scheduled independently and the next probe will start right after the previous probe ends.

And it will be better if we can document it properly in the documentation.

/sig docs
/kind feature


[Bug]: New user via external login can delete their IdP link and make their account inaccessible

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[X] I have joined the ZITADEL chat

Environment
Self-hosted
Version
No response
Describe the problem caused by this bug
I was testing the UX for an unprivileged user. I have an organization set up where username/password login is disallowed, and it has a single external IdP which is the only way to sign on. Registration is allowed and accounts are created automatically.
After signing in a new user so the registration happened, I browsed around the console looking for ways an unprivileged user could get themselves in trouble.
In the "Identity Providers" panel, there is a delete control for the IdP. The user is able to delete this, and if they do they are screwed. There's no way to re-link the external login to the existing account, but you also can't create a new account since the account already exists.
Really, the user should not be able to perform this action. Also, since they can't, the delete button should not appear. (This is fairly common - for example in Authorizations a delete button is shown for a role, but in this case clicking it just returns an error due to lack of privileges)
Secondarily, the dialog for this does not have proper localization.
To reproduce

Create an organization that is authenticated only by external IdP
Create a new account within that organization (auto-create on login)
Navigate to Identity Providers panel
Shoot self in foot.

Screenshots

Expected behavior

User is unable to perform a fatal action, especially given lack of privileges.
Less good alternative - there is a way to recover such an account / re-link for the user.

Operating System
No response
Relevant Configuration
No response
Additional Context
No response

Version is 2.28.1. Not sure why it shows "No response".

Hm lets us look into this.

Hei @kraney
Thanks for opening up the report. With our users profile page we want to give a standard ui that fits multiple use cases. If you have other needs than that we recommend building your own ui.
There are use cases where you want to enable your users to manage their own identity provider links. Imaging you have a SaaS application for End users like an online shop, spotify or netflix. In that case you want your users to be able to link their Google account or to remove it if they don't have it anymore.
So I do not agree that this should not be possible.
Where I do agree is that the self recovery part on the side of ZITADEL is not yet good enough. The users should either not be able to delete the "last" authentication possibility or should be able to recover the account in that case.

There is a similar bug to this that I have hit on a production database.
disabling "Username Password allowed" will disallow existing users from logging in with their usernames and passwords, so if the admin account doesn't have an external Idp, you are basically locked out of the instance for good.

There is a similar bug to this that I have hit on a production database. disabling "Username Password allowed" will disallow existing users from logging in with their usernames and passwords, so if the admin account doesn't have an external Idp, you are basically locked out of the instance for good.

Yeah that is a slight annoyance 😁
@hifabienne I think we need to come up with either a safeguard for this or a cli that can resolve this problem, what do you think?

Yes, I think the right way would be to have the possibility to login one more time with the username password and to setup the external provider.

I've checked the options and TBD in the meeting today:

Prevent remove:
To discuss where to prevent (Console or backend) and check if a password is set (and allowed to be used / local auth enabled)
Recovery:
Would be possible with the new APIs:

RetrieveIdentityProviderIntent provides all the infos
Check if user exists (loginname / email query on ListUsers)
Use the infos to AddIDPLink on existing user

As discussed with @muhlemmer , we propose to add a warning in Console, but not preventing the delete itself.


gaussian process regression to estimate PV performance

Historical system and weather data can be used to develop PV models.  In the past, least-squares regression has been used to model systems based on past data.  However, the Gaussian Process Regression (GPR) algorithm can provide a more accurate estimate of PV performance.

The algorithm can estimate power, current, and voltage with a smaller % error than the least-squares approach:

The above figure shows the percent error for estimated power based on three different training data sets: 1) complete set, 2) binned, and 3) random.  The GPR reached 5% while the least-squares regression did not drop below 8%.
There are other Python packages that provide GPR algorithms.  However, it may be difficult for people that do not have a machine learning background to implement.  I propose to provide a GPR algorithm that is customized for PV applications.
Do you think that it would be valuable to add GPR capabilities to the existing PVLIB tool set?
Here is sample code for the GPR function:
def kernel(sigma,alpha,l,x1,x2):
    '''
Rational Quadratic Kernel
:param: sigma (sigma^2 determines average difference of function from mean)
:param: alpha (determines relative weighting of variations)
:param: l (length scale)
:param: x1 - training set input
:param: x2 - teting set input

:return: kernel
'''
s = distance.cdist(x1,x2,'euclidean')
k = (sigma**2) * (1+((s)**2/(2*alpha*l**2)))**-alpha
return k

def gp(x1,y1,x2,sigf,alpha,l,sign=0.1):
K = kernel(sigf,alpha,l,x1,x1)
Kss = kernel(sigf,alpha,l,x2,x2)
Ks = kernel(sigf,alpha,l,x1,x2)
Ks = np.transpose(Ks)
K = K + np.identity(len(K)) * noise								# Add noise
L = np.linalg.cholesky(K)
beta = np.linalg.solve(L.transpose(), np.linalg.solve(L,y1))
Mu = np.array([np.dot(Ks,beta)]).T

d = np.dot(Ks,inv(K))
m = np.dot(d,np.transpose(Ks))
s = Kss - m
di = np.diag(s)
Sigma = np.transpose(np.array([np.sqrt(di)]))

return Mu,Sigma

Birk,
While I’m not opposed to making it easier to combine pvlib with other python capabilities, what you are proposing amounts to an alternative PV system model.  It’s not clear there’s any advantage to your approach over well-fit PVsyst or other models.  I think the discussion about the need for, and value of, the GPR approach should take place, but not here.  Mark, Will, perhaps we can cross-post this to one of the forums that were linked a few weeks back?
Cliff
From: cbirkj<EMAIL_ADDRESS>Sent: Monday, February 06, 2017 1:55 PM
To: pvlib/pvlib-python<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [EXTERNAL] [pvlib/pvlib-python] gaussian process regression to estimate PV performance (#305)
Historical system and weather data can be used to develop PV models. In the past, least-squares regression has been used to model systems based on past data. However, the Gaussian Process Regression (GPR) algorithm can provide a more accurate estimate of PV performance.
[graph_model_power]https://cloud.githubusercontent.com/assets/5728325/22664287/32889cb6-ec6d-11e6-9e76-5e929d00df66.png
The algorithm can estimate power, current, and voltage with a smaller % error than the least-squares approach:
[graph_mape_power]https://cloud.githubusercontent.com/assets/5728325/22664362/99b1adba-ec6d-11e6-9178-f274e44024cb.png
The above figure shows the percent error for estimated power based on three different training data sets: 1) complete set, 2) binned, and 3) random. The GPR reached 5% while the least-squares regression did not drop below 8%.
There are other Python packages that provide GPR algorithms. However, it may be difficult for people that do not have a machine learning background to implement. I propose to provide a GPR algorithm that is customized for PV applications.
Do you think that it would be valuable to add GPR capabilities to the existing PVLIB tool set?
Here is sample code for the GPR function:
def kernel(sigma,alpha,l,x1,x2):
'''

Rational Quadratic Kernel
:param: sigma (sigma^2 determines average difference of function from mean)
:param: alpha (determines relative weighting of variations)
:param: l (length scale)
:param: x1 - training set input
:param: x2 - teting set input
:return: kernel
'''
s = distance.cdist(x1,x2,'euclidean')
k = (sigma2) * (1+((s)2/(2alphal2)))-alpha
return k
def gp(x1,y1,x2,sigf,alpha,l,sign=0.1):
K = kernel(sigf,alpha,l,x1,x1)
Kss = kernel(sigf,alpha,l,x2,x2)
Ks = kernel(sigf,alpha,l,x1,x2)
Ks = np.transpose(Ks)
K = K + np.identity(len(K)) * noise                                                        # Add noise
L = np.linalg.cholesky(K)
beta = np.linalg.solve(L.transpose(), np.linalg.solve(L,y1))
Mu = np.array([np.dot(Ks,beta)]).T
d = np.dot(Ks,inv(K))
m = np.dot(d,np.transpose(Ks))
s = Kss - m
di = np.diag(s)
Sigma = np.transpose(np.array([np.sqrt(di)]))
return Mu,Sigma
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/pvlib/pvlib-python/issues/305, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFJNL2h7P7rfzqcF-4nVtVvedpS1v5KGks5rZ4ivgaJpZM4L4tLC.

Birk asked me via email what I thought about it and I suggested that he propose it to the community here. I think some discussion of the merits here is fine. However, I agree that a more involved discussion might be better suited to the google forum:
https://groups.google.com/forum/#!forum/pvlib-python
I'm not sure where to draw the line between "some discussion" and "a more involved discussion" but let's go to the google forum for a change of pace.
Birk, can also you link to your papers/talks/posters when you repost it to the google forum? Thanks!

I don't mind seeing this here--I'd have missed it on google.
Is there more than one question here?  One seems to be about the merits of the technique, and the other about whether or not its implementation should be included in pvlib-python.

@cbirkj
Hi Birk,
This sounds very appealing. Can you provide one good PV+GPR literature reference to help me come up to speed?
Generally, I don't mind custom "wrappers" for specific applications, but I do think we should be mindful about committing pvlib to maintaining custom GPR code.
-Mark Campanelli


WindowsPlatform.hx

Added support to cross-compile from Linux-64bit to Windows-32bit

wait, really??? What black magic is this?

yhea, it can be done now, using mingw of course :)


[WIP] Bisect

This is the start of --bisect, for #1767.  Lots more todo but I wanted to push what I had and get the travis builds going.
TODOs:

[x] Running a DRb server opens the process up to undesirable remote communication. We should probably use drb/acl to limit access to just localhost.
[x] Sometimes users use ENV vars to toggle certain behaviors in their test suite, and we need to make sure that any passed ENV vars get forwarded from the rspec --bisect process to the test suite runs.
[x] If there are any puts or warn statements in the test suite, it will print output in the middle of the bisect progress output.  We should silence it.
[x] If the test suite bails with an error while booting (e.g. due to a NoMethodError in a describe block or whatever), we don't surface that to the user.
[x] Bisect only works if the ordering is consistent.  If the user is using a custom ordering that is inconsistent (such as using a shuffle in there...), we should detect that and bail with a clear error about the problem.
[x] The runner ignores --format progress when running the suite but not -fp.  This should be fixed.
[x] Ensure things work OK when no examples fail.
[x] Ignore additional failures that didn't fail the on the first run.
[x] Figure out why the AppVeyor build for 2.1 is failing.
[x] When bisection fails (e.g. due to bailing early from a spec suite load time error, or inconsistent ordering or whatever) we should exit with a non-zero status.
[x] Handle SIGINT, so that it prints the most minimal repro command it's been able to find so far and then exits -- that way, when bisect is taking along time, if the user gets impatient and hits ctrl-c, they can still benefit from the work we've done up to that point.

@rspec/rspec -- There are a number of TODOs above, but someone could go ahead and start reviewing this anytime.  What's already there is pretty stable and what's left is largely additive.

OK, @JonRowe, I pushed some improvements to the debug output. Check it out and let me know what you think.

OK, I think I've taken this as far as I'm going to take it.  Would be great to get a full review from @rspec/rspec folks.  Anyone?
One open question/issue: the some of the bisect specs (particularly those in spec/integration/bisect_spec.rb) are quite slow -- notice the results of bin/rspec --profile:
Top 10 slowest examples (7.42 seconds, 57.0% of total time):
  Bisect finds the minimum rerun command and exits
    2.31 seconds ./spec/integration/bisect_spec.rb:19
  Bisect supports a verbose mode via `DEBUG_RSPEC_BISECT` so we can get detailed log output from users when they report bugs
    2.06 seconds ./spec/integration/bisect_spec.rb:39
  Bisect when the user aborts the bisect with ctrl-c prints the most minimal repro command it has found so far
    1.14 seconds ./spec/integration/bisect_spec.rb:128
  Bisect when the spec ordering is inconsistent stops bisecting and surfaces the problem to the user
    0.61015 seconds ./spec/integration/bisect_spec.rb:99
  RSpec::Core::Bisect::Runner#run ensures environment variables are propagated to the spawned process
    0.32271 seconds ./spec/rspec/core/bisect/runner_spec.rb:29
  RSpec behaves like library wide checks has no malformed whitespace
    0.28569 seconds
  RSpec::Core::Ordering::Random.order has a good distribution
    0.2568 seconds ./spec/rspec/core/ordering_spec.rb:38
  Bisect when a load-time problem occurs while running the suite surfaces the stdout and stderr output to the user
    0.19322 seconds ./spec/integration/bisect_spec.rb:92
  RSpec loads mocks and expectations when the constants are referenced
    0.14021 seconds ./spec/rspec/core_spec.rb:234
  RSpec::Core::Formatters::HtmlFormatter produced HTML with mathn loaded is identical to the one we designed manually
    0.10045 seconds ./spec/rspec/core/formatters/html_formatter_spec.rb:105

Notice that the bisect specs dominate the slow list!  I'd really like to avoid having slow specs, but I'm not quite sure what to do.  A few ideas:

Can we convert some of them to cukes?  I'm trying to limit the cukes to just scenarios that have real documentation value.  Generally using aruba from RSpec is faster, anyway.
Are there any of the slow specs I can combine or test in a different way (while still getting the same level of test coverage)?

...and the build is finally green.  (That wasn't easy).

What benefit does DRB get us? Without having tried it, shelling out and capturing output of a JSON formatter (or something) seems to be simple and keeps networking out of the picture.

As a point of comparison, I tried identifying examples in xspec using a short hash:
http://xaviershay.github.io/xspec/docs/api.html#short-ids
https://github.com/xaviershay/xspec/blob/master/lib/xspec/defaults.rb#L13
My intention was a bit different though, I intended them to be typed by the user rather than copy+paste. So it sacrifices transparency for ease of typing.

What benefit does DRB get us? Without having tried it, shelling out and capturing output of a JSON formatter (or something) seems to be simple and keeps networking out of the picture.

Actually I wonder if that would be better... It'd also involve less of the std lib... (we could even use a custom text output rather than a standard formatter to control communication)

(Moving this comment from above because it's hidden since I pushed a fix to the docstring you commented on)

is this correct? Seems intuitive to me that flakey specs are more likely to be poorly written and having global side effects.

Flakey specs are likely to be poorly written and have global side effects.  The question is what we should do about them.
The bisect feature is trying to find a command that will cause the same set of failures as you started with.  For each spec run, it compares what failed against the original set of failures to see if it was able to get that set of failures again.  If so, it means the examples that were not included in the current run can be removed from the set of remaining ids to consider.  Originally, we used a simple original_failed_example_ids == this_run_failed_examples_ids check for that.  In trying bisect on a real-world project that has a flapping example, I noticed that the flapping example was interfering.  When it failed, it meant that the == check failed and it would get "stuck" on that round for a while, having to try more and more combos.  I realized that the == check was overly strict -- when bisect runs, we're interested in finding a command that will cause all the failures from the original first run to fail, and any additional failures aren't part of what bisect is looking for and can simply be ignored.  So in eb5c5fe9b47afc9650857ae94c023693c4d2b36c I changed it, and now the == check is a less-strict "did all the original failures fail this time, too?" check.
We could perhaps do something else with flapping failures (suggestions?) but if they aren't flapping based on an ordering dependency then it's not what bisect is good at working with anyway.  The important thing in my mind is that we don't allow a flapping example or two to interfere with bisect being able to find a minimal repro command to get the same set of failures as the original run.
Thoughts?

What benefit does DRB get us? Without having tried it, shelling out and capturing output of a JSON formatter (or something) seems to be simple and keeps networking out of the picture.

DRb allows two-way communication.  We use that so that that the BisectFormatter can ask the bisect server what the expected failure ids are.  The knowledge of what the expected failure ids are is then used to abort an individual run as early as possible, once we've learned everything we can from this run:

If an example that is expected to fail passes, we abort immediately; there's no reason to continue since we've already answered the question "do all the original failures fail with this limited subset of examples loaded?".
When the last expected failure finishes, we abort immediately, not allowing later examples to run, since we don't care about the results of any later examples.

See 32045fd6633d94c772e0a133e79298f462311f0a for more details on that change.  Being able to abort a particular spec run early can make a big difference in how long --bisect takes.
If we dropped DRb, we'd have to find an alternate way to communicate the set of expected failures from the main bisect process to the individual spec run process.  DRb just works.
Using a JSON formatter to STDOUT (I assume that's where it would go, right?) risks mixing the output that specific to bisecting with other output from the user.  For example, if they had a puts in their suite it would get mixed with the JSON output and cause problems.
My use of DRb was initially inspired by minitest-bisect, which uses it and has proved it out as a good solution for this kind of thing. Initially I was a bit unsure about using DRb since I have never really worked with it before, but it was incredibly easy to setup, and appears to "just work".  I've yet to see a problem with it.

Actually I wonder if that would be better... It'd also involve less of the std lib... (we could even use a custom text output rather than a standard formatter to control communication)

Avoiding the useful bits of the stdlib has never been (and is still not) one of the goals of RSpec.  As a courtesy to users we don way the tradeoffs involved in bringing in new stdlib bits, but as explained above, our use drb and open3 for bisect shouldn't be a concern at all -- the bisect logic (and those dependencies) will never be loaded in the same process as the user's code (unless they user is specifically requiring rspec/core/bisect/runner.rb or whatever....).
DRb is working really well for bisect, I think.

As a point of comparison, I tried identifying examples in xspec using a short hash:

Interesting.  Seems like a good approach for what you were trying to accomplish but clearly wouldn't work here.

Thanks for the review feedback, everyone.  I think I've responded to all the feedback above (and/or pushed updates to address it).

JRuby seems to intermittently fail with "Errno::EBADF: Bad file descriptor - Bad file descriptor"...but I have no idea what we can do about that other than retry the build :(.

JRuby seems to intermittently fail with "Errno::EBADF: Bad file descriptor - Bad file descriptor"...but I have no idea what we can do about that other than retry the build :(.

Yeah thats a regular flake

Ship it!
Makes sense re DRb, I didn't realise the two-way communication piece. Ditto re flakey specs, your reasoning is good, thanks for spelling it out for me :)

@xaviershay thanks for the thorough review.  Before merging this, I was wondering if you had any ideas to address this concern I mentioned above?
Some of the bisect specs (particularly those in spec/integration/bisect_spec.rb) are quite slow -- notice the results of bin/rspec --profile:
Top 10 slowest examples (7.42 seconds, 57.0% of total time):
  Bisect finds the minimum rerun command and exits
    2.31 seconds ./spec/integration/bisect_spec.rb:19
  Bisect supports a verbose mode via `DEBUG_RSPEC_BISECT` so we can get detailed log output from users when they report bugs
    2.06 seconds ./spec/integration/bisect_spec.rb:39
  Bisect when the user aborts the bisect with ctrl-c prints the most minimal repro command it has found so far
    1.14 seconds ./spec/integration/bisect_spec.rb:128
  Bisect when the spec ordering is inconsistent stops bisecting and surfaces the problem to the user
    0.61015 seconds ./spec/integration/bisect_spec.rb:99
  RSpec::Core::Bisect::Runner#run ensures environment variables are propagated to the spawned process
    0.32271 seconds ./spec/rspec/core/bisect/runner_spec.rb:29
  RSpec behaves like library wide checks has no malformed whitespace
    0.28569 seconds
  RSpec::Core::Ordering::Random.order has a good distribution
    0.2568 seconds ./spec/rspec/core/ordering_spec.rb:38
  Bisect when a load-time problem occurs while running the suite surfaces the stdout and stderr output to the user
    0.19322 seconds ./spec/integration/bisect_spec.rb:92
  RSpec loads mocks and expectations when the constants are referenced
    0.14021 seconds ./spec/rspec/core_spec.rb:234
  RSpec::Core::Formatters::HtmlFormatter produced HTML with mathn loaded is identical to the one we designed manually
    0.10045 seconds ./spec/rspec/core/formatters/html_formatter_spec.rb:105

Notice that the bisect specs dominate the slow list!  I'd really like to avoid having slow specs, but I'm not quite sure what to do.  A few ideas:

Can we convert some of them to cukes?  I'm trying to limit the cukes to just scenarios that have real documentation value.  Generally using aruba from RSpec is faster, anyway.
Are there any of the slow specs I can combine or test in a different way (while still getting the same level of test coverage)?

OK, I updated the specs/cukes based on @JonRowe's suggestions (which were good).  I also decided to switch from DEBUG_RSPEC_BISECT to supporting --bisect=verbose, which seemed to make sense once we were going to document that in the cuke.

LGTM

@myronmarston Thanks for this!  I just upgraded to 3.3 and feel like a kid in a candy shop right now :candy: :100:

@tmertens -- you're welcome!

@myronmarston This is awesome!  Thanks!


Don't scan the whole /run/initramfs/live/ for configs

./kairos-agent upgrade  produces lots of warnings like:
warning: skipping /run/initramfs/live/EFI/BOOT/MokManager.efi (extension).
warning: skipping /run/initramfs/live/EFI/BOOT/bootx64.efi (extension).
warning: skipping /run/initramfs/live/EFI/BOOT/grub.cfg (extension).
warning: skipping /run/initramfs/live/EFI/BOOT/grub.efi (extension).
warning: skipping /run/initramfs/live/boot/arm64/loader/grub2/fonts/unicode.pf2
(extension).
warning: skipping /run/initramfs/live/boot/grub2/grub.cfg (extension).
warning: skipping /run/initramfs/live/boot/grub2/i386-pc/acpi.mod (extension).
warning: skipping /run/initramfs/live/boot/grub2/i386-pc/adler32.mod (extension)
...

because we scan /run /initramfs/live for config files: https://github.com/kairos-io/kairos-agent/blob/e6b3e5092e5f566f8f266108e91eb86d3c6a371d/main.go#L36
This was done so that people can bake in a config in the iso but that directory includes many more files that are not configs.
Either we drop that path completely (if we don't support that feature anymore) or we change to a more specific path which is dedicated to configs.

Maybe its not only upgrade but the other scans have the NoLogs ?

Could this be dropped now that we use AuroraBoot? Or is anyone relying on it? It doesn't seem to be a documented feature, so maybe it's safe to remove.

This cant be really done because we agreed to scan that dir as it can help when bundling the config file in the livecd directly.
But upgrade should probably use Nologs when scanning the dirs and only fail if there is an error

Why not use a directory dedicated to actual cloud-configs like the description suggests? Then there is no reason to skip logs, since any file that is skipped in a directory dedicated for files that should be respected...well that's something we should log.

becuase we would break backwards compatibility I think, its been assumed since the start that dir as a source for cdrom based injected cc, so we cannot easily move away from that. But we can hider those warning which should be ok as there is no point in making that much noise for something expected?
Upgrade should not print a thousands warning in any case, unless debug is specified which is used for more info. This is the same as someone doing a run-stage against a systemd dir. Those warnings do not really help anything and we have not stated that your cc files should be in a dir dedicated to them, they can be anywhere. So we backed ourselves into a corner here :D

The only problem is that sometimes people forget to put the header at the top of the file or things like that and the file they expected to be run was actually skipped.
Newer versions of Kairos will only be shipped a newer ISO images. Whoever is creating isos with bundled configs could make sure they put them in the new location. I don't see why we are forced to use that dir forever.
Alternatively, we could:

skip the warning (unless in debug mode)
show only one deprecation warning to tell people to start using the new location before version vX.Y.Z

This is a good middle ground. I would still prefer to avoid parsing a thousand different files to discover only those that look like cloud config files. But given the main point was to not show irrelevant warnings, then I'm fine with your suggestion.

This is a good middle ground. I would still prefer to avoid parsing a thousand different files to discover only those that look like cloud config files. But given the main point was to not show irrelevant warnings, then I'm fine with your suggestion.

we dont parse those no? We skip them based on the extension, so it should be pretty "free" lets say xD
We could still move it away from there and support both things meanwhile, a new folder at the root of the iso called configs or something and the old one...but we may run into issues with duplication (like we dont have those still lol)


Auto Config Non-Blocking Retries with asyncAcks

In what version(s) of Spring for Apache Kafka are you seeing this issue?
3.0.7
Describe the bug
when using asyncAcks together with RetryableTopic, the retried message will not be invoked on KafkaListener.
To Reproduce
@RestController
@SpringBootApplication
public class SpringkafkaAsyncacksDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringkafkaAsyncacksDemoApplication.class, args);
    }

    @Autowired
    private KafkaTemplate<Object, Object> template;

    @PostMapping(path = "/send/{what}")
    public void sendFoo(@PathVariable String what) {
        this.template.send("topic1", what);
    }

    @KafkaListener(id = "fooGroup", topics = "topic1")
    @RetryableTopic(attempts = "5", backoff = @Backoff(delay = 2_000, maxDelay = 10_000, multiplier = 2))
    public void onMessage(ConsumerRecord<String, ?> record, Acknowledgment acknowledgment, Consumer<?, ?> consumer) {
        if (record.value().equals("fail")) {
            throw new RuntimeException("failed");
        }
        acknowledgment.acknowledge();
    }

}

application.properties
spring.kafka.listener.async-acks=true
spring.kafka.retry.topic.enabled=true
spring.kafka.listener.ack-mode=manual

Run local kafka server
Start the application
Access http://localhost:8080/send/fail, and the retried message will not be invoked on KafkaListener.

Expected behavior
I expect Non-Blocking Retries can work with asyncAcks.
I konw using asyncAcks in above case is meaningless, but sometimes the async processing in @KafkaListener is useful. For example:
@Component
public class FooConsumer {

    @KafkaListener(id = "fooGroup", topics = "topic1")
    @RetryableTopic(attempts = "5", backoff = @Backoff(delay = 2_000, maxDelay = 10_000, multiplier = 2))
    public void onMessage(ConsumerRecord<String, ?> record, Acknowledgment acknowledgment, Consumer<?, ?> consumer) {
       threadPoolTaskExecutor.submit(() -> {
           try {
                 doConsume(record);
                 acknowledgment.acknowledge();
           } catch (Exception ex) {
                 container.getCommonErrorHandler().handleOne(new RuntimeException(), record, consumer, container);
           }
        });
    }

}

Sample
https://github.com/wapkch/springkafka-asyncacks-demo

@wapkch After further review, the use of asyncAcks with @RetryableTopic requires the error handler seekAfterError property to be false. We need to document this limitation.
In addition, the built-in DLT handler is not compatible with MANUAL acks.
See the following changes I made to your example app to make it work...
@RestController
@SpringBootApplication
public class SpringkafkaAsyncacksDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringkafkaAsyncacksDemoApplication.class, args);
    }

    @Autowired
    private KafkaTemplate<Object, Object> template;

    @GetMapping(path = "/send/{what}")
    public void sendFoo(@PathVariable String what) {
        this.template.send("topic1", what);
    }

}

@Configuration
class Listener {

    @KafkaListener(id = "fooGroup", topics = "topic1")
    @RetryableTopic(attempts = "2", backoff = @Backoff(delay = 2_000, maxDelay = 2_000, multiplier = 2))
    public void onMessage(ConsumerRecord<String, ?> record, Acknowledgment acknowledgment, Consumer<?, ?> consumer) {
        System.out.println(record.topic() + ":" + record.value());
        if (record.value().equals("fail")) {
            throw new RuntimeException("failed");
        }
        acknowledgment.acknowledge();
    }

    @DltHandler
    void dlt(ConsumerRecord<String, ?> record, Acknowledgment acknowledgment, Consumer<?, ?> consumer) {
        System.out.println(record.topic() + ":" + record.value());
        acknowledgment.acknowledge();
    }

}

@Configuration
class Config extends RetryTopicConfigurationSupport {

    @Override
    protected void configureCustomizers(CustomizersConfigurer customizersConfigurer) {
        customizersConfigurer.customizeErrorHandler(eh -> eh.setSeekAfterError(false));
    }

    @Bean
    TaskScheduler sched() {
        return new ThreadPoolTaskScheduler();
    }

}

Thanks!

@garyrussell
Hi.
In Spring Kafka 3.0.8 latest version
When data is fetched from @KafkaListener based on MANUAL_ACK, if ack cannot be done, data cannot be fetched from @KafkaListener anymore.
How should I solve this?
I don't want to use DLQ, nor do I want to use Retry Topic. I want it to work with Blocking Retry.
Is there any code I can refer to?
After reading the blog below, I could see that the data read once was stored inside Spring Kafka, so the data was no longer imported. However, in this case, if new data is not sent to the topic, there seems to be a major bug in that old data cannot be consumed forever until the topic is rebalanced. What do you think?
https://jessyt.tistory.com/167

Don't ask questions on closed issues, especially non-related ones; use Stack Overflow or the discussions tab for Q&A.
It is not clear what you mean by "ack cannot be done".
You have to throw an exception so the error handler will take care of redelivering the same record.
Please provide an MCRE so I can understand your question better.


Pagination not working (angular 4 and table)

Hello !
I'm actually working with you solution, and I'm trying to create a table list. But I have  problem, the [rowsPerPageSet] is doing nothing, and the list is not refreshing at all.
Do you heard about this problem?
Regards,

@vicochips There are rowsPerPage property instead of rowsPerPageSet, please refer API Docs of table

Hello !
When I put rowPerPage in the pagination I have this error:

Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'rowsPerPage' since it isn't a known property of 'md2-pagination'.

If 'md2-pagination' is an Angular component and it has 'rowsPerPage' input, then verify that it is part of this module.
If 'md2-pagination' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. ("
<md2-pagination [ERROR ->][rowsPerPage]="[5,10,15]">

Regards,

@vicochips use rows instead of rowsPerPage as <md2-pagination [rows]="[5,10,15]"></md2-pagination>

@dharmeshpipariya , I have the same error then with rows:
zone.js:567 Unhandled Promise rejection: Template parse errors:
Can't bind to 'rows' since it isn't a known property of 'md2-pagination'.

If 'md2-pagination' is an Angular component and it has 'rows' input, then verify that it is part of this module.
If 'md2-pagination' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. ("
<md2-pagination [ERROR ->][rows]="[5,10,15]">

@vicochips which version of md2 has you used in your application? and if you remove [rows] attribute then getting any issue?

@dharmeshpipariya I'm using the last release 0.0.19.
without it, it is doing the same as rowsPerPageSet, I saw the pagination, but it is not working.
If I have a list of 6, I see the 6 but I can't see 5 on the first page and 1 on the second page as it has to work. I only saw the all list on the same page.
Victor.

@vicochips you have to set 'rowsPerPage' directive on table element

@dharmeshpipariya , I know, I have done it, but it changed nothing
Victor.

@vicochips you have mentioned rowsPerPageSet property but you have to use rowsPerPage instead of rowsPerPageSet. and please create a plunkr of this issue so we can understand better.

@dharmeshpipariya , I have tried both and both are not working^^'
Here is the full code of my table:

                                                     <svg fill="#ffffff" height="18" viewBox="0 0 24 24" width="18" xmlns="http://www.w3.org/2000/svg">                                                         <path d="M8 5v14l11-7z"/>                                                         <path d="M0 0h24v24H0z" fill="none"/>                                                     </svg>
                                                                                {{demand.created_by.firstname}} {{demand.created_by.lastname[0] | uppercase}}                                             {{demand.created_by.company_name | uppercase}}

{{demand.title}}

{{demand.description}}

{{demand.type}}

Crée le {{demand.date |date:'d/M/y'}} à {{demand.date |date:'h:mma'}}

                                                                                Haylp !                                                                                More info                                                                <svg fill="#9C948A" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg">             <path d="M0 0h24v24H0z" fill="none"/>             <path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/>           </svg>

                                                                                <md2-pagination></md2-pagination>

@dharmeshpipariya
I have used both and both are not working :(
Here is a plunker of the table I use, I only put the html code on it so you can see the code but it is not beautiful of course^^
https://embed.plnkr.co/nOH8vyMCFB4BSh4MUEZz/
victor.

@vicochips I can't get proper plunkr, you have put table code in the wrong place, you need to put table code in app component

@vicochips i have created plunkr of data-table demo as ->http://plnkr.co/edit/fxiYMNMEx76ANn1xX3Np?p=preview

@dharmeshpipariya
I think I'm missing something, because I have copy paste your code, and it is not working on my app, I have 3 td, but I can't have 2 on one page, and the other one on the second page, It is displaying all in the same page , maybe my JSON is not good with this table.

@dharmeshpipariya I HAVE FOUND the solution :D , I had to define a new data: any[ ] , and call it in my ngfor then it is working...

@vicochips ok, then now I am closing this issue.


Using the ArtifactoryDocker task - [Error] Could not find docker image in Artifactory, expecting image ID:

Describe the bug
Using the ArtifactoryDocker@1 task with push command in a Azure DevOps Pipeline with collectBuildInfo set to true
20200811.6: digest: sha256:8b079337c0016e5d6d630421c425789014fcb6b948ee4b00501f71f93a18db28 size: 3248
[Info] Getting repository 'it-builds' details ...
[Info] Done getting repository details.
[Error] Could not find docker image in Artifactory, expecting image ID:
##[error]Error: Command failed: /azp/agent/_work/_tool/jfrog/1.37.1/x64/jfrog rt dp "<REMOVED_REPO_URL>/azdo/pipeline/it-docker-build-agent:20200811.6" "it-builds" --url="<REMOVED_REPO_URL>" --user=*** --password=***
Finishing: ArtifactoryDocker
To Reproduce
Using the ArtifactoryDocker@1 task with push command in a Azure DevOps Pipeline with collectBuildInfo set to true
Expected behavior
As of last Friday August 7th this successfully worked.
Here is the log from that build, which was the same commit as of today August 11th it now fails:
[Info] Getting repository 'it-builds' details ...
[Info] Done getting repository details.
[Info] Setting properties...

Finishing: ArtifactoryDocker
Screenshots

Versions

JFrog CLI version: 1.37.1
JFrog CLI operating system: Linux - Debian
Artifactory Version: 6.10.1

Additional context
All the pipelines that used the the ArtifactoryDocker@1 task in a Azure DevOps Pipeline with collectBuildInfo set to true

@carterkraft,
Could it be that the docker image is pushed to a different repository than the repository configured in the task? This can happen if the docker URL points to a different repository. The target repository for this URL is configured outside of Azure DevOps, in the reverse proxy in most cases.
You can actually go to the Artifactory UI (or use JFrog CLI's search command) to see where the image was pushed to.
Please let us know what you see there.

@eyalbe4  - Thanks for taking the time to review and reply to my issue.
We only configure the Artifactory Service connection one time in a task and the push is working successfully its when it tries to collect the build info from the same build it just pushed that it fails.
I can see where the image was pushed and it was where I expected and was successful. Disabling the option to collect build info allows it to successfully complete the step.

@carterkraft,
Yes - I understand that the build-info collection part fails, not the push.
My question is this - are you absolutely sure that the image you see in the repo configured in the Artifactory Docker task was indeed pushed by the task that failed to collect the build-info?
Are you sure this is not an older image?
Another question - the following log message you shared:
[Error] Could not find docker image in Artifactory, expecting image ID:
seems to be missing the actual image ID at the end. Can you please check that the end wasn't accidentally trimmed? The error message indicates that the build-info generation failed, because the manifest.json of the pushed image was not found in the configured repo. Here's the code that throws this error -
https://github.com/jfrog/jfrog-cli/blob/master/artifactory/utils/docker/buildinfo.go
Please let me know what you see.

Hi @carterkraft,
Did you get a chance to look into this?
Thanks!

@carterkraft I have same issue while pushing docker image with publish build info as true. Have you figured out any solution or work around fix for this?


resolves #3 add netlify configuration

add netlify configuration file
add package.json for use in netlify build
use yaml references to simplify playbook
configure antora to use local cache

Deploy preview works!
@graphitefriction if this looks good to you, go ahead and merge.


Add deferred updates queue functions to OnyxUpdateManager to manually apply updates (e.g. from push notifications)

@arosiclair @quinthar
Details

This PR adds three new functions to the OnyxUpdateManager which let you manage the updates in the deferred updates queue. It particularly a clean interface to access and control deferred updates.
The DeferredOnyxUpdates module mainly includes the following functions:

enqueue() let's you add updates to the queue. By default, this will automatically trigger processing these items with validateAndApplyDeferredUpdates
process() waits for the current queryPromise (when there are missing onyx updates currently fetched from the server) and then triggers validateAndApplyDeferredUpdates

enqueueAndProcess() combines the upper two functions by first enqueuing and then immediately processing the updates.

clear manually clears the deferred updates queue. By default, this unpauses the SequentialQueue as well.

Fixed Issues

$ https://github.com/Expensify/App/issues/40227
PROPOSAL:
Tests

[x] Verify that no errors appear in the JS console

To ensure the functionality from https://github.com/Expensify/App/pull/39683 is preserverd:

Create a chat report with a peer
Create a policy room between both of you
after those rooms are created, and both of you opened them at least once, comment these calls to make sure we're not reloading the data from the backend instead: https://github.com/Expensify/App/blob/a4d01a87b242eef06af37db965bd135745e342e5/src/libs/actions/Report.ts#L769-L789
Now send messages in both chat rooms, alternating between them, and fast, in a way that you can notice if anything is missing (so both start sending some kind of ordered messages, like sequential numbers)
Make sure that none of the messages were lost in those chats.

Offline tests

Not needed.
QA Steps

[ ] Verify that no errors appear in the JS console

Same as in Tests.
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Looks pretty good on first glance, but could we rename the deferredUpdatesProxy lib to just DeferredUpdates and then move these enqueue, process and clear functions there? That way we can have a pretty clean API (eg: DeferredUpdates.enqueue())

That was my first idea as well, but we also want to be able to trigger validateAndApplyDeferredUpdates which requires accesing the queryPromise.
I think it's more robust if the developer just interacts with the OnyxUpdateManager and doesn't have to think about deferred updates too much. Do you agree?
I can still rename deferredUpdatesProxy to DeferredUpdates, that fine.

Still, i can also extract the queryPromise out of the OnyxUpdateManager (also with a proxy) and move the new functions to DeferredUpdates.

Looks pretty good on first glance, but could we rename the deferredUpdatesProxy lib to just DeferredUpdates and then move these enqueue, process and clear functions there? That way we can have a pretty clean API (eg: DeferredUpdates.enqueue())

@arosiclair nevermind, i just changed the structure as you suggested. We now have a DeferredUpdates module that exports both the deferredUpdates itself as well as the new functions

@arosiclair i adapted the implementation, but it's still WIP. I'll update you tmrw!

@arosiclair this is now done! I moved and adapted the the deferred updates queue to DeferredOnyxUpdates.ts (i think this name is more clear). There's no direct access to the underlying deferredUpdates object anymore.
This module includes your requested functions as well as DeferredOnxyUpdates.enqueueAndProcess(), which will process the queue after pushing new updates immediately. enqueue() will just push them.

Looking good. Can you add some test steps? Also will the unit tests we added before cover these changes?

Yes, the unit and action tests actually already catched some issues while implementing this and they cover (all of) the functionality that are affected by these changes

@arosiclair updated the PR :)

@allroundexperts can you review and do the checklist?

Yep. I'll be done in 30-45 minutes.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@arosiclair I think this can not really be tested on mobile. Is that correct?

@arosiclair I think this can not really be tested on mobile. Is that correct?

Yeah @chrispader's testing steps only seem do-able on web and desktop so I think we can just test those.

Merge freeze is on currently. I'll merge when that's done

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.4.76-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.4.76-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Code generation for function getter/setters

Hey guys, I have a function like year() which works as a getter/setter depending on whether you provide an argument or not.
Now I want to map it to C# getter/setters, so I thought of something like this:
        // http://momentjs.com/docs/#/get-set/month/
        public int Month
        {
            [Template("month()")] get;
            [Template("month({0})")] set;
        }

The getter works fine, but the setter generates code like this:
var mom = moment();
mom.month({0}) = 10;
console.log(mom);

for
var mom = new Moment();
mom.Month = 10;
Console.WriteLine(mom);

Also if I try to do some constructor magic, like this:
var mom = new Moment() { Month = 10 };

I get some weird stuff which doesn't work:
var mom = Bridge.merge(moment(), {
    setMonth: 10
} );
console.log(mom);

interesting, i will review how to make it work

Yes, Template in accessors can be a real problem at this moment. We committed a fix to git. Now you can use the following code to achieve your requirement
public int Month
        {
            [Name("month")] get;
            [Name("month")] set;
        }

Fixed in eb727d - [Name] attribute can be used


502 Bad Gateway response on /pass endpoint

Since today, I'm getting the following, when sending a request to /pass. Before, it was working fine. Authenticating, getting recommendations and liking works.

<title>502 Bad Gateway</title>

502 Bad Gateway

nginx

@mc51 You can use my own open-sourced library written on Java where you can find all basic requests including authorization and registration via SMS: https://github.com/RMatushkin/tinder-api
There isn't any problem like that.


Add check that patch was successful

Trying out waiting for success.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 91b92133a86882ded89a2fd5f5b38711aaf5ad83


Weird bug when two players kill each other at the same time

It shows "You killed" and "Killed by" messages for both players though. But it doesn't send a message of the second kill on the main chat nor print it on death feed.

Monitoring to see if a05f4b26e509db52cfb0ec8c0864e62596442536 fixes it...


Client crash - java.lang.ClassCastException: crazypants.enderzoo.charge.EntityPrimedCharge cannot be cast to net.minecraft.entity.EntityLivingBase

http://pastebin.com/TxHv41a1
Disabling the mod serverside leads to these crashes in the client.

Don't disable the mod serverside only. The client has different entity mappings. To do this serverside you should simply prevent the SPAWNING of the mobs you don't want.


Serum - No Interface Window

Hello,
I followed the instructions to run winetricks gdiplus, however in BitWig when I click the icon to bring up the Serum interface, nothing happens. BitWig seems to think the interface is open, but I'm not seeing anything.
Is there a better method to bring up any possible output from Serum itself? The Airwave Manager shows me Airwave communications mostly.

I updated to the latest Serum demo today to test, the window now pops up however it doesnt render anything.

After patching Wine 20050930 and compiling, no VST's would show in BitWig that were bridged by Airwave, even after clearing the BitWig VST index as well as the meta file.
Switching back to a binary package of Wine 2.17 fixed this, but now Serum still doesn't work.
Any advice would be greatly appreciated.

I am having this issue aswell on Debian Jessie and Stretch
When i experimented on this in Jessie, i tried out different versions of 32 and 64 bit gdi plus dlls
and on some point, the 32 bit serum vst gave me an ui.
There i got stuck on another issue, i couldnt register it, because of severe ui flickering issues after pasting the serial.
apart from that it worked at least, altough it wasnt usable.

Try to add an override for the d2d1 library in winecfg, setting it to disabled made xfer plugins to display there.

Any news on this? Serum does not load in my DAW (Bitwig 3.3.10) but when I try to open the GUI the plugin crashes. I also ran winetricks gdiplus but it results in same issue.

Any news on this? Serum does load in my DAW (Bitwig 3.3.10) but when I try to open the GUI the plugin crashes. I also ran winetricks gdiplus but it results in same issue.


Fix accidental fallthrough in snapshot loader

That said, I'm literally not sure how this code works. Maybe the correct fix is to remove this file instead?

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

lgtm

Maybe the correct fix is to remove this file instead?

Yeah, currently that code isn't used but we have plan to bring it back


Implement Vec

@TimDiekmann some doc tests are failing. Do you want me to remove them?

@TimDiekmann some doc tests are failing. Do you want me to remove them?

I would have suggested to use alloc_wg::Vec in tests, but you already force-pushed this change :+1:

Thanks. There are still some failures.. I'll check after work.

The windows build exits with the exit code -1073740940 (heap corruption) in shrink_to and shrink_to_fit. This probably means, that RawVec::try_shrink_to_fit has a bug. I'll investigate this further when I'm back at home.

As the tests with my PR on your repo work, I'll merge this and apply PR myself. Thanks again :slightly_smiling_face:


Bundle build should use container tool override

Description of the change:
Makefile hardcodes docker for the bundle build, should use the tool override
Motivation for the change:
Be able to build with podman easily
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

Closing as I think this needs the testdata updating first


Feature Request: Indicator to show if HW decoding is being used or not?

Would it be possible to add some kind of HW decoding indicator?

I don't see this as having much usefulness. Almost all device decoders are hardware accelerated (at least covering the most used formats today) and this does't change. As long you are using the same device. Even though you can just lookup specs for that device.

Ok just thought I'd ask since mpv has it but I guess you're not interested. Closing.


ERP plot - selecting channels

Didn't seem to do anything when I selected a few channels. Can you make it emphasize the selected channels in some way?

Yes, it would be great to hear what you guys think of that. How would you like this emphasis to be given?
1- Making the unselected region more transparent, so the selected stand out in the grid
2- redraw the grid with only the selected regions. This has the advantage of putting just a small group of channels in the same visual area (no scrolling needed), but of course you would loose the anatomical-spatial reference

Please check the current fix, it's looking much better already!

Yes, I like this fix with making the unselected channels transparent.  If possible, can you make the unselected channels slightly less transparent? They're just a tad too muted right now

done.
Perhaps we could go taking note of features such as this (transparency of unselected channels) and later have a dialog for user control of them. Since it is potentially everything in the software, we should be careful to keep this list of features strict to what would improve the regular user experience and not create unnecessary steps or distractions. Just an idea, let me know what you think!

That sounds fine to me! Nice to have it be versatile


Add termux support

Termux is Android terminal emulator and Linux environment app, some users are expecting to use rustc on termux (including some chromebook users). This will help fix https://github.com/rust-lang-nursery/rustup.rs/issues/1058.
Even if https://github.com/sfackler/rust-openssl/issues/610 got fixed, termux has its own environment, so it seems reasonable to use termux installed certificates.

According to this comment this may not work? In testing locally though does this work out for you?

Running this program
extern crate openssl_probe;

pub fn main() {
    openssl_probe::init_ssl_cert_env_vars();
    println!("{:?}", ::std::env::var_os("SSL_CERT_FILE"));
}

on my phone prints:
Some("/data/data/com.termux/files/usr/etc/tls/cert.pem")

Which is the correct path. Testing with rustup is a bit more complicated (I would have to set various path dependencies...), but considering this simple example, I think it will work. Note that init_ssl_cert_env_vars is called direct in the rustup code and indirect (via curl easy) in cargo.
Can you clarify why the comment you link suggest that it may not work?

Oh right yeah I'm confident the env vars are set, but is that actually read by Cargo/rustup and does it fix the certificate problems you were seeing?

Ok, after some trouble I was able to build rustup-init with this update and can assert that it worked.
I checked the rustup code and it is using curl crate (the direct call to init_ssl_cert_env_vars is in rustls backend). The curl crate is calling  init_ssl_cert_env_vars. Considering that cargo is also using curl,
I suppose that cargo will work too.
Sorry for trying to hurry...

Oh no worries! Just wanted to make sure we had at least one data point :)
Thanks for checking!

Thanks! You you mind releasing a 0.1.1 version?

Certainly, done!

Could it be something like this?
pub fn find_certs_dirs() -> Vec<PathBuf> {
    // see http://gagravarr.org/writing/openssl-certs/others.shtml
    let prefix = var_os("PREFIX").unwrap_or("");
    [
        "/var/ssl",
        "/usr/share/ssl",
        "/usr/local/ssl",
        "/usr/local/openssl",
        "/usr/local/share",
        "/usr/lib/ssl",
        "/usr/ssl",
        "/etc/openssl",
        "/etc/pki/tls",
        "/etc/ssl",
        "/etc/tls",
    ].iter().map(|s| PathBuf::from(*s)).filter(|p| {
        fs::metadata(format!("{}{}", prefix, p)).is_ok()
    }).collect()
}

so, every system that has a PREFIX like termux does would be covered here

Do you know other systems that use PREFIX env var?

@malbarbo I don't know but it would be cool because autotools also allows --prefix


Implement the team's inventory system manager

The inventory will be accessible for the whole team. To make the system feel more real, it will be weighted. This means that every items has a weight and at a certain point, items will need to be either dropped or sold in order to continue to collect them during the game.


Bad error message

When nvm is instructed to use a version of Node that is not currently installed, it should print a better error message.
$ nvm ls
->      v0.12.0
stable -> 0.12 (-> v0.12.0) (default)

$ nvm use v0.10.0
N/A version is not installed yet

Should be:
v0.0.10 is not installed yet

I'm using nvm v0.23.3 on Mac OS X 10.10.2 Yosemite.

This isn't quite as simple as you suspect - because you can do nvm use foo where foo is an alias, or nvm use 0.10 which means that if none is installed, nvm doesn't know which patch version you mean without contacting the internet (which nvm use shouldn't do).
However, I can definitely make the output a bit more helpful.


update canonical dir

https://github.com/cqfn/eo/tree/master/sandbox/canonical
pom with 0.16.1

pom with 0.16.2

@IngeniariusSoftware try the latest version 0.16.6, it works OK


add blackberry 10 push support

http://developer.blackberry.com/android/apisupport/creating_push-enabled_android_apps.html

Currently we have no plans to support blackberry long term.


Allow mockCreate/mockUpdate to receive a matching function

tl;dr Allow match to accept a function or attribute(s) to determine whether a create or update matched.
The function passed to match is given the requestData and can perform bespoke logic to determine whether a request matched or not. If the function returns true then a match is recorded, otherwise it is not.
We have a use-case where we're updating a complex, nested model called Parent. Parent hasMany Child relationships, each of which has multiple attributes. We're mocking an update to Parent but what we really care about is one change to an attribute of Child, let's say description. Using the existing match function we would need to pass in the entire child structure, which is quite unwieldy. By allowing match to receive a function the responsibility of determining whether a match was made belongs to the test, e.g.,:
      let done = assert.async();
      let customDescription = "special description";
      let parent = make('parent');

      let updateMock = mockUpdate(parent);

      updateMock.match(function(requestData) {
        return requestData.children[0].description === customDescription;
      });
      profile.set('description', customDescription);
      profile.save().then(function(parent) {
        equal(updateMock.timesCalled, 1);
        done();
      });

One thing I don't like about this approach is that the caller needs to be aware of the adaptor type and process the requestData themselves to do the match. I think it's a reasonable compromise to get the flexibility of performing arbitrary matching.
I've given a stab at writing documentation and tests for this functionality. Happy to start a discussion and rework this PR if it seems like a sensible addition.

I guess this is not too bad an idea, and you pointed out the right flaws. But if you really need to get this down deep, there is no choice.
I can't right now think of another way to do this without the function.
And I really like / am shocked that you lay out the tests quite thoroughly and update the documentation. This almost never happens, so I just got a bruise when I fell out of my chair.

Lol! Awesome! :-D
We're huge fans of ember-data-factory-guy!


core/network: Surface peerset's set_priority_group in NetworkService

PeerSetHandle.set_priority_group allows modifying a priority group by
group identifier. With this commit the function can be accessed through
NetworkService.
This is need in order for a validator to connect to as many other
validators as configured without reserving a specific connection slot
for them.
This is needed for #3247, see https://github.com/paritytech/substrate/pull/3247#issuecomment-516351141 for details.

Just a note: add_to_priority_group and remove_from_priority group might be useful as well.

Just a note: add_to_priority_group and remove_from_priority group might be useful as well.

As of right now I don't need those functions for https://github.com/paritytech/substrate/pull/3247. Do you still want me to add them here @arkpar?


Create text_embedding type processor for ingest pipeline processing

Problem statement
Before querying with neural search, all the documents should be ingested in the form of embedded vectors. Leaving the embedding process to the user offline will raise the bar of use. Thus we propose to implement the ingestion pipeline of document embedding. It consists of two parts:

User will have the flexibility to decide which field should be embedded and which need not.
A model_id will be dedicated for each processor and this kind of mapping can be retrieved by the querying phase.

Solution
A new processor type needs to be created with name: text_embedding, this processor has two parameters: model_id and field_map. Different models can produce different embedding results, user can specify a model_id which is already uploaded and loaded, field_map is the configuration user can specify which fields should apply text embedding in the ingestion pipeline. An example below:
PUT _ingest/pipeline/text-embedding-pipeline
{
    "description": "Text embedding pipeline for several fields",
    "processors": [
        {
            "text_embedding": {
                "model_id": "WYjkv4MBHcWxVq8Jtc8U",
                "field_map": {
                    "title": "title_knn",
                    "body_list": "body_list_knn",
                    "favorites": {
                        "game": "game_knn",
                        "movie": "movie_knn"
                    }
                }
            }
        }
    ]
}

@zane-neo can we close this issue?


placeholder files for local ftp heartbeat folder

Changes
Placeholder files for local ftp heartbeat folder.
How to test
Ensure file structure is the same as the root
Who can test
Anyone but @elliott-jenkins

👍


Cannot manually update vuex state in vuex tab

Version
6.0.8
Browser and OS info
Mac OS Chrome lates
Steps to reproduce
Open chrome dev tools
Choose vuex tab
Find any state property and try to edit it
Save edits
What is expected?
state property should update
What is actually happening?
state property stays as before.

Please provide a runnable reproduction with the libraries you use and provide the real version of the devtools you are using. Thanks.

6.08 Any app with vuex and namespaced state enabled
https://demo.vuestorefront.io/


ImageDataGenerator on a folder

Hello,
I have a problem with the code in keras document. In the below code, it just loaded 1 image. if I have 10 images in a folder, how am I going to use this code because load_img function just loading 1 image and I want to load my folder which contains 10 images and apply data generation on all images, Any help?
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
datagen = ImageDataGenerator(
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest')
img = load_img('data/train/cats/cat.0.jpg') # this is a PIL image
x = img_to_array(img)
x = x.reshape((1,) + x.shape)
i = 0
for batch in datagen.flow(x, batch_size=1,
save_to_dir='preview', save_prefix='cat', save_format='jpeg'):
i += 1
if i > 20:
break

Hi!
This issue isn't related to a bug/enhancement/feature request or other accepted types of issue.
To ask questions, please see the following resources :

https://keras.io/
https://keras.io/#support
https://gitter.im/Keras-io/Lobby

Thanks!
If you think I made an error, please re-open this issue.


Add JSONP support

E.g.

expect().body("root.child", equalTo("x")).when("/jsonp?callback=y");

But perhaps it's better/easier to do something like:

expect().jsonp("callback", "y").body("root.child",
equalTo("x")).when().get("/jsonp");

or:

expect().jsonp("callback").body("root.child",
equalTo("x")).when().get("/jsonp");

which should generate a random method-name.

It should also be possible to set it as default:

RestAssured.expectedParser = jsonp("callback", "y");
RestAssured.expectedParser = jsonp("callback");
RestAssured.expectedParser = auto(); // Default

There should also be a JsonpPath that simply extends JsonPath and removes
method call.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 10 Mar 2011 at 2:00

[deleted comment]

If using:

expect().body("root.child", equalTo("x")).when("/jsonp?callback=y");

we can try to detect whether or not the response is JSONP or plain JSON by e.g.
using reg exp.

Original comment by<EMAIL_ADDRESS>on 10 Mar 2011 at 2:03

Perhaps jsonp spec should be in the request spec instead? E.g.

given().
         jsonp("callback").
expect().
         body("root.child", equalTo("x")).
when().
         get("/jsonp");

Original comment by<EMAIL_ADDRESS>on 22 Mar 2011 at 6:15

We could also try to identify jsonp in JsonPath using the reg exp

Original comment by<EMAIL_ADDRESS>on 10 Mar 2011 at 2:50

Perhaps it should be a filter?

Original comment by<EMAIL_ADDRESS>on 22 May 2011 at 8:46


The message section placement is wonky which resulted in inconsistency

If you theme is exactly like this
https://github.com/datsfilipe/better-discord/blob/main/screenshot.png
then there is some inconsistency
https://ibb.co/xH5hG3M
https://ibb.co/42NrbG6
https://ibb.co/3cCyYPJ
The message section (1st picture), the member section (3rd picture) and the server message section (1st and 2 nd picture)

Thank you for the report. It's been a long time since the last update of this theme, maybe something broke in the last discord update. I don't know when it will be updated again as I am very busy.


⚠ Homepage (omg.lol) has degraded performance

In 16467be, Homepage (omg.lol) (https://8bit.lol/) experienced degraded performance:

HTTP code: 503
Response time: 811 ms

Resolved: Homepage (omg.lol) performance has improved in 92cca06 after 21 minutes.


Different Color schemes?

I'd love to be able to change the colors.

I see there's been some work done to enable color schemes, but it's unfinished - right?

It works and can be used, this is for a quick summary of how it goes

on launch you will get a folder ~/.config/Spectacle/themes
user is supposed to duplicate default.ini with another name, mytheme.ini
select mytheme in the "Color" popup
enable Edit mode. plugin will detect edits and they take immediate effect

@unfa current problems should be resolved

color scheme
resizing in carla

also

new multirate algorithms as default, to increase resolution in LF range
minor grid lines

still to-do

not RT-safe to change STFT settings / algorithm


System.Drawing.Common will be unavailable for non-Windows systems

In my attempt to get this tool working on Linux, I get warnings during building like:

DolphinTextureExtraction-tool/lib/AuroraLip/Common/Extensions/BitmapEx.cs(42,111): warning CA1416: This call site is reachable on all platforms. 'Image.PixelFormat' is only supported on: 'windows'. [DolphinTextureExtraction-tool/lib/AuroraLip/AuroraLib.csproj]

These classes are/will be unavailable on non-Windows systems. So maybe switch to something else to get cross-operating system compatibility.
These are only warnings, so it does run but no textures get dumped and I get exceptions such as:
Exception: wzx_naminori_damage/0F5E2000_naminori_damage/000181C0.GSscene Object reference not set to an instance of an object.
DolphinTextureExtraction.tool:   at DolphinTextureExtraction.TextureExtractor.Save(JUTTexture texture, String& subdirectory) in DolphinTextureExtraction-tool/TextureExtraction tool/Data/TextureExtractor.cs:line 308
   at DolphinTextureExtraction.TextureExtractor.Scan(ScanObjekt so) in DolphinTextureExtraction-tool/TextureExtraction tool/Data/TextureExtractor.cs:line 188

https://github.com/Venomalia/DolphinTextureExtraction-tool/blob/55aa39f34bf50069a7fad0bca03764c303eafd4e/TextureExtraction tool/Data/TextureExtractor.cs#L285-L311
I haven't checked what the real exception is (as in what exception is getting thrown that is caught before erroring out again), but I guess it is related to the above.
I did try adding the suggested config value into the .csproj file, but it doesn't appear to work. I still get the same error.
diff --git a/TextureExtraction tool/DolphinTextureExtraction tool.csproj b/TextureExtraction tool/DolphinTextureExtraction tool.csproj
index b92a024..44f40e4 100644
--- a/TextureExtraction tool/DolphinTextureExtraction tool.csproj
+++ b/TextureExtraction tool/DolphinTextureExtraction tool.csproj
@@ -52,4 +52,8 @@
     </None>
   </ItemGroup>

-</Project>
\ No newline at end of file
+  <ItemGroup>
+    <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
+  </ItemGroup>
+
+</Project>
diff --git a/lib/AuroraLip/AuroraLib.csproj b/lib/AuroraLip/AuroraLib.csproj
index 1f22632..1176d8c 100644
--- a/lib/AuroraLip/AuroraLib.csproj
+++ b/lib/AuroraLip/AuroraLib.csproj
@@ -33,5 +33,9 @@
     <ProjectReference Include="..\AFSLib\AFSLib.csproj" />
     <ProjectReference Include="..\LibCPK\LibCPK.csproj" />
   </ItemGroup>
-
-</Project>
\ No newline at end of file
+
+  <ItemGroup>
+    <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
+  </ItemGroup>
+
+</Project>

thanks for the info, i know that System.Drawing.Common only works under windows.
I will soon change this to SixLabors.ImageSharp which also works under other platforms.


Tooling feed updates to support .NET 9

resolves #550
Tooling feed updates to support .NET 9 and removing net5-isolated as it is no longer supported
Diff between 4.84.0 and 4.85.0 - https://gist.github.com/surgupta-msft/081a146957c28b9ac6cbb06470f7bcb6/revisions
Diff between net8 and net9 - https://gist.github.com/surgupta-msft/0f978c67ee04aa2cf0cc9dfd0b27a851/revisions

Few things have been identified to come up in the follow-up PR -

Unhide Net9-isolated
Add endOfLifeDate once the date is available for Net9 GA
Update worker.sdk version with Net9 support once the package is GA
Update coretools links when these changes are released


Add opsmanual notes for elasticsearch check

Adds a link to instructions in the opsmanual for restarting logstash

:+1: feel free to merge


Index initialization Issue

Brief bug description
Running the index initialization give me "Missing or invalid body, please check the documentation" and the index doesn't get created.
Repro steps
In postman I attempt to run the index initialization and pass it the required parameters. The only response I get is "Missing or invalid body, please check the documentation", No errors Netlify.
Expected behavior
What is the correct behavior?
Test environment

Platform/OS: [e.g. .NET Core 2.1, iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
I worked with Kontent.ai support and we couldn't get it resolved.
Screenshots
Add links to screenshots, if possible.

Hi, thank you for reporting the issue. it seems the settings mentioned in the readme are not synchronized with the latest changes in the code. I've created a PR that synchronizes them together with some renaming of the configuration properties. https://github.com/kontent-ai/integration-example-algolia/pull/14 Would you mind checking that the body you send matches the Config type in the init function? To make sure the problem is, indeed, a wrong configuration in the request body. You can find the expected configuration (in the current version, before we merge the PR) here. https://github.com/kontent-ai/integration-example-algolia/blob/dd93e95839747487da256c623e748d841807fc88/src/functions/algolia-init-function.ts#L64-L70

That did the trick. Thanks!


Update aspnetcore-8.0.md

Fixes #30106

@atrauzzi please review

Is there some reason why you're trying to downplay OpenIddict?
We're not downplaying.

I get the sense that there's some political motivation here.

No more conspiracy comments please,  they're incorrect and not helpful.