Add Undo doc and reorganize docs under docs folder

Codecov Report

Merging #92 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #92   +/-   ##
=======================================
  Coverage   87.87%   87.87%
=======================================
  Files          19       19
  Lines        1237     1237
=======================================
  Hits         1087     1087
  Misses         99       99
  Partials       51       51

Flag
Coverage Δ

#dot
87.87% <ø> (ø)
:arrow_up:

#dot_data
65.78% <ø> (ø)
:arrow_up:

#dot_sync
84.19% <ø> (ø)
:arrow_up:

#dot_undo
100% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

ot.go
92.55% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Implement find holidays

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

19 of 20 (95.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+95.0%) to 95.0%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

holidays-api/holiday/holidays.go
19
20
95.0%

Totals

Change from base Build<PHONE_NUMBER>:
95.0%

Covered Lines:
19

Relevant Lines:
20

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

68 of 74 (91.89%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+91.9%) to 91.892%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

holidays-api/holiday/holidays.go
68
74
91.89%

Totals

Change from base Build<PHONE_NUMBER>:
91.9%

Covered Lines:
68

Relevant Lines:
74

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

68 of 74 (91.89%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+91.9%) to 91.892%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

holidays-api/holiday/holidays.go
68
74
91.89%

Totals

Change from base Build<PHONE_NUMBER>:
91.9%

Covered Lines:
68

Relevant Lines:
74

💛  - Coveralls


How to set the timeout

How to set the timeout

There currently is no way to change the default URLSession timeout property.
It should be trivial to add something like:
Request {
    ...
    Timeout(30, for: .request)
    Timeout(60, for: .resource)
}

Then we can use the URLSessionConfiguration to change this internally. I'll work on this.

Please try out the dev branch. I've added timeout in #27


Check our handling of duplicate peers

Currently, it looks like we won’t track duplicate peer connections, we should look into this to see if we need better handling when 2 peers both try to initiate connections to each other. See: https://github.com/PegaSysEng/artemis/blob/465d68c2d74959c2f7030e97ad7dc753730525f6/networking/p2p/src/main/java/tech/pegasys/artemis/networking/p2p/jvmlibp2p/PeerManager.java#L122-L133

write a test for this


Auto hide sections with no data

Case

FEATURE REQUEST

Issue
Auto-hide sections with no data/Empty data
Info

Operating Systm:  WINDOWS
Node-Version: 8.9.4

Yes a v-if would solve this. Plus, I think that iterating with a v-for on an empty array should not show any data (to check).
Thus I suspect that the concerned sections may not have neither a v-fornor a v-if statement.


Support docker-machine-driver-vmware and use machine ip for route

Add support for the new vmware driver for docker-machine https://github.com/machine-drivers/docker-machine-driver-vmware which supports vmware fusion 11.
Also fix the route detection for the docker-machine/nfs host ip address to improve security of the nfs export. This change makes it so the boot2docker vm only tries to access the nfs mount over the vmnet nat interface and have the nfs host only export the /Users directory to the docker machine in question instead of anyone having access to the host ip.
This also fixes an issue in a corporate environment where IPs can change based on connecting/disconnecting to/from a vpn.

FYI, I created a brew tap w/ these fixes for the time being until this PR gets merged. Thank you guys for your hard work on this.


accessing singleDatePicker through shallow rendering

<SingleDatePicker
date={this.state.createdAt}
onDateChange={this.onDateChange}
focused={this.state.calendarFocused}
onFocusChange={this.onFocusChange}
numberOfMonths={1}
isOutsideRange={() => false}/>
this is my component
and I want to access SingleDatePicker in my jest test file like
wrapper.find('singleDatePicker')
its not showning up.
But there are other inputs are also present in the form which are showing up by this line i.e
wrapper.find('input')

@bilal68 using a string is a bit less robust than just importing the component in your test because it compares against the display name. If you do
import { SingleDatePicker } from 'react-dates';

it('', () => {
  const wrapper = ...;
  expect(wrapper.find(SingleDatePicker)).to.have.lengthOf(1);
});

that should work.
I think technically the display name of the component is now withStyles(SingleDatePicker).


SAL/TVS Fixes

lib/Common/Codex/Utf8Helper.h:

UTF8Codex has outdated SAL annotations, but without fixing them we can let SAL know that the pointers are just passed through for the Narrow <-> Wide string conversions.

lib/Common/Common/NumberUtilities_strtod.cpp:

SAL false positive mitigations left us with some more breaks to do with loop invariants.
Removing our forced analysis asserts and assumes fixes the analysis!
Re-enabled a disabled SAL warning.
Updated SAL to SAL2.

@curtisman

Small update to disable a warning that only occurs in Jenkins prefast.

@dotnet-bot test this please


updated mps (3.3.2)

Thank you for the contribution. It was merged directly as a5b07141275e1bcd9e233bbdd5c66228b1f7e6be to keep commit history cleaner. Your contribution is still credited to you.


Import Data -> Upload files modal popup currently broken

Describe the bug
importing data by clicking "Upload files" does not work. However import still works you can drag files, still working.
To Reproduce
Steps to reproduce the behavior:

Open a project
Click on Import button (top right corner)
Once 'Import data' page loads click "Upload Files"
nothing happens

Expected behavior
After clicking "Upload Files" a file chooser modal should pop up allowing a user to select files to upload
Screenshots

Environment (please complete the following information):

OS: [e.g. iOS]
Label Studio Version [e.g. 0.8.0]

Additional context
Issue exists on current master and develop branches

closing, restarting my browser resolved this issue for me


Feature: Timeout, Retry, and Queue

I'm writing my thoughts down here, because I do not have the time right now to dedicate to adding this, however hopefully someone in the community might be able to. I'm closing #66, #69, #73 in favor of this single issue.
cc @kasbah @akmjenkins @davidgovea
Retry
We should not retry on all 500 status error codes as every other fetch retry package does - instead we should retry only based off of it isRetryAllowed(err) returns true by using is-retry-allowed OR if the response had a 429, 502, 503, or 504 status code.
We should also only retry on GET, PUT, HEAD, DELETE, OPTIONS, or TRACE methods.  Our approach should also respect the Retry-After response header (see https://github.com/sindresorhus/got/blob/6eaa81ba8db87340bbdbd79ef91594803f37b854/source/normalize-arguments.ts#L231-L241 for inspiration.
In general our approach will be very similar to got and ky (e.g. https://github.com/sindresorhus/ky).
It should be up to the application layer to retry if a successful server response status code occurs, and it should not be fetch nor frisbee responsibility to retry based off a server response (which is why we will not use packages like fetch-retry-or-die, make-fetch-happen, nor fetch-retry (because all of these implementations retry on 5xx status codes and none of them respect the actual error code).  If a server responds, it's considered to be successful.
Finally, if someone aborts a Frisbee fetch request using AbortController, then the retries should be aborted as well and it should not retry from an AbortError.  This should happen automatically out of the box, but I wanted to write it down.  The best way to detect abort errors is probably the same as we do with tests, via err.name === 'AbortError' (see https://github.com/niftylettuce/frisbee/blob/master/test/node.test.js#L334).
I think that we can use the p-retry package and allow a global retry option via new Frisbee({ retry: { ... } }), and for individual API methods such as frisbee.get('/', { retry: { ... } }) as well.  If an individual API method specifies a retry object, then p-retry should use that, otherwise if a global option was passed it will use it.  There are several other packages that are very similar (most of which use node-retry as well), however I trust @sindresorhus and his dedication to open source maintenance and quality, therefore I would use p-retry above all.
We should also respect the Retry-After header per https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After for 429 status codes.
Timeout
A timeout event should cause a retry, therefore we need to make sure the error we throw on a timeout (namely its code) returns true from isRetryAllowed(err).  To properly design this, we should either use an existing AbortController passed, or create a new AbortController for each request.  If the timeout is triggered, then it would signal an abort with an error created via const error = new Error('ETIMEDOUT'); error.code = 'ETIMEDOUT'; (similar to how request does it here https://github.com/request/request/blob/df346d8531ac4b8c360df301f228d5767d0e374e/request.js#L848-L849).  By using AbortController, we can ensure that the fetch attempted is actually aborted, and will not be completed/return a response after the timeout error occurs.
Unfortunately we cannot use any existing fetch timeout packages because all of them polyfill or have odd implementations of detecting which fetch implementation to use, therefore we have to write this ourselves.
We can most likely use p-timeout for this.

Also, per #92 we should allow a custom callback function to be called on retries, which would allow JWT refresh tokens to be updated for example.

My fetch-retry approach was to leave it entirely up to the user (no opinions based on server response codes). It could be passed into a base frisbee instance or individual requests. The API was pretty straightforward:
{
    retries: number of times to retry,
    retryOn: [array of status codes],
    retryFn?: async function to execute between each retry
    retryTimeout?: ms to wait in between retries (sensible default - like 1000ms, ignored if retryFn is supplied)
}

The only tricky parts were those you pointed out - don't retry if the AbortController.signal.aborted === true
The retryFn was especially helpful because it allows the user to do absolutely anything they want (like refresh JWT) in between retries.
Would an API like this work?

I like the simplicity of that - but I think that you could eliminate retryOn and have that logic be up to the user in retryFn.  Then we could make a default retryFn that checks against  isRetryAllowed was true OR if status code was 429, 502, 503, or 504, AND ALSO checks against the Retry-After header if it existed.

Great to see the activity around here! :) I don't mind that #86 was closed in favour of this, but does the above issue description include relevant details to handle that scenario? (Retrying a request after refreshing JWT access token.)

Yeah @antgel, you would be able to refresh JWT token in retryFn.
@akmjenkins I'll gladly award you the bounty if you can open a PR for this https://github.com/niftylettuce/bug-bounties/issues/5

Oops, I missed it, it was in https://github.com/niftylettuce/frisbee/issues/92#issuecomment-498365495. :)

We should also use https://github.com/sindresorhus/p-queue to create a queue of requests that can be processed.

Just FYI I already implemented timeout and retry locally.  Just need to push it up.  I definitely need some help with tests.

I pushed my work in progress by the way at https://github.com/niftylettuce/frisbee/commit/38d225256f87a1ede5ae616b576da166206dd8a4 if anyone wants to help out with it.
I would love help writing tests for it.  Timeouts/retries all need tested.

What's left:

[ ] Write tests for timeout
[ ] Write tests for retry
[ ] Try to get 100% code coverage
[ ] Any instance of polyfill.io need to have proper listing of polyfills (e.g. https://github.com/niftylettuce/frisbee/commit/38d225256f87a1ede5ae616b576da166206dd8a4#diff-eacf331f0ffc35d4b482f1d15a887d3bR15 is empty right now)
[ ] Ensure timeout, retry, retryStatusCodes, retryMethods, retryAfterStatusCodes, handleRetry are documented
[ ] There is a queue option I added but it's not being used, so either remove that or add support for queue (e.g. via https://github.com/sindresorhus/p-queue)

Sorry guys do you want try xior
Already support plugins:

cache
throttle
error retry

More plugins coming:

mock
error cache

Check here https://github.com/suhaotian/xior/pull/8


ishtar backend fiels

this is the last work by backend team, please review.

impossible to review,it is huge ,


Specification I/O

As a Developer, I want to load the specification and reference image from a database.
So I can use it for Board Orientation and localize LEDs.
Criteria:

[x] Possibility to load and store Files into Database

[x]  store image file

[x] store JSON File

[ ] Load Files by identifier

/cib

instead of an identifier it is now possible to select the json file using the file chooser


docs: fix mistakes here and there

Hi @Mosaab-Emam , thanks a lot for catching these mistakes and fixing them! I'm merging it now.

I'm always happy to help.
I'm still going through the docs, so just in case that I catch more mistakes, can I continue to commit to this branch or should I create a new one? Sorry I'm not familiar.

I'm always happy to help.
I'm still going through the docs, so just in case that I catch more mistakes, can I continue to commit to this branch or should I create a new one? Sorry I'm not familiar.

I've already merged and deleted the branch 😂
The easiest way is probably to create a new branch each time and make a PR. Thanks you!

It' still exists on my end.
Whatevers... I'll figure it out if necessary


Support latest gpt 4

Support gpt-4-1106-preview and json mode

Hey @villesau, thanks for adding this but it doesn't seem to work. I think it worked first time, but later on I get the same error as https://github.com/freeedcom/ai-codereviewer/issues/56
Run<EMAIL_ADDRESS>
Error: SyntaxError: Unexpected token ` in JSON at position 0
    at JSON.parse (<anonymous>)
    at /home/runner/work/_actions/freeedcom/ai-codereviewer/v2.7.0/webpack:/open-ai-reviewer/lib/main.js:151:1
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/work/_actions/freeedcom/ai-codereviewer/v2.7.0/webpack:/open-ai-reviewer/lib/main.js:28:1)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
Error: SyntaxError: Unexpected token ` in JSON at position 0
    at JSON.parse (<anonymous>)
    at /home/runner/work/_actions/freeedcom/ai-codereviewer/v2.7.0/webpack:/open-ai-reviewer/lib/main.js:151:1
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/work/_actions/freeedcom/ai-codereviewer/v2.7.0/webpack:/open-ai-reviewer/lib/main.js:28:1)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
Error: SyntaxError: Unexpected token ` in JSON at position 0
    at JSON.parse (<anonymous>)
    at /home/runner/work/_actions/freeedcom/ai-codereviewer/v2.7.0/webpack:/open-ai-reviewer/lib/main.js:151:1
    at Generator.next (<anonymous>)

@lukehollenback I also tried your branch #57, still the same error
Run lukehollenback/ai-codereviewer@issue-56_json-mode-on-more-models

Error: SyntaxError: Unexpected token ` in JSON at position 0
    at JSON.parse (<anonymous>)
    at /home/runner/work/_actions/lukehollenback/ai-codereviewer/issue-56_json-mode-on-more-models/webpack:/open-ai-reviewer/lib/main.js:151:1
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/work/_actions/lukehollenback/ai-codereviewer/issue-56_json-mode-on-more-models/webpack:/open-ai-reviewer/lib/main.js:28:1)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

If you add this prompt after provide json following format it will send json string without any prefix and json parse wont fail. (You can test it locally)

Provide json response with reviews array and do not add any prefix or suffix just send reviews array.


fix racy events test

ping @LK4D4 @icecrime @estesp @duglin whoever gets here first it fixes the events test with jenkins see https://github.com/docker/docker/pull/10998#discussion_r25313316

LGTM

LGTM


Added Blog Section

Summary
In this PR we added a blog section to where we add blog posts by our community members.
Fixes #2
List of changes proposed in this PR (pull-request)

Add a section for blog posts (this blog was connected to the quarto blog).
Add the English and Arabic versions of the blog section.
Add this to the nav bar.

Result
English Blog Section

Arabic Blog Section

What should a reviewer concentrate their feedback on?

[ ] Everything looks ok?

This looks fantastic @AsmaKacem1!

Welldone @AsmaKacem1 👏
let me know if you need help completing the News section

Thanks a lot @sandygudie  for your feedback,
There will be some changes to the site now, but when I will start working on the news section, if I need help it's my pleasure to work together


Support reading I/O information

Signed-off-by: ice1000<EMAIL_ADDRESS>

I added export for some existing functions.


Documentation: add more notes on running unit tests with prerequisites

Add some extra clarifications to running unit tests with prerequisites.
A good thing using the make command is it also handles removing
the kv-store server container.
Signed-off-by: Rui Gu<EMAIL_ADDRESS>Fixes: #6139

This change is

test-me-please

Coverage decreased (-0.003%) to 30.532% when pulling 749d4ea2b572b874e4919212848eb531c77ebf40 on ruigulala:6139 into 3c28e5725ab7c9e05ef2f9f1d4ba80e24c0a1298 on cilium:master.

test-docs-please


deployment failed when assigning blueprint

Hi team, I created a blueprint following the documentation and tried assigning it without any modification(only put default arguments... org name "Aiden"). However... it failed with this error below. Did I miss something or is this due to recent policy change?
There were error(s) encountered during the deployment:
The resource group 'Aiden-Application-rg' failed to deploy due to the following error: Resource 'Aiden-Application-rg' was disallowed by policy. Policy identifiers:

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

ID: 903b0bd9-e17e-0af6-c98b-83391c554f52
Version Independent ID: ce56a371-505f-ff9c-d576-7b2bb4ed192b
Content: Deploy CAF Migration landing zone blueprint sample - Azure Blueprints
Content Source: articles/governance/blueprints/samples/caf-migrate-landing-zone/deploy.md
Service: blueprints
GitHub Login: @timwarner-msft
Microsoft Alias: timwarner

@hanchoi Thanks for reaching out. From the error provided, I could see that there exists an azure policy within your subscription where it allows deployment of resource groups in certain locations which are defined within policy.
To fix your issue, check the allowed locations within the policy named as "Allowed locations for resource groups" and deploy the blueprint again.

Hi Swathi, thanks a lot for the comment. I double checked it and it seems that my previous assigned policy conflicted ! I removed them all and tried with luck ;) thanks a lot for the comment

@hanchoi Glad to know it helped. As there are no further documentation changes, we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.


Deploy v7.2.15

Time Tracking: MA-31
This is complete when:

[x] v7.2.15 regression testing QA completed
[ ] v7.2.15 regression testing PROD completed
[ ] v7.2.15 is awaiting App Store review
[ ] v7.2.15 has been approved by Apple for store release
[ ] v7.2.15 Android - Phased rollout underway
[ ] v7.2.15 Android - Rollout completed
[ ] v7.2.15 iOS - Phased rollout underway
[ ] v7.2.15 iOS - Rollout completed

v7.2.15 PROD-TEST Round 2 for Topic message testing has failed on Android. Investigating root cause.

PROD-TEST Round 2
Push debugging

On hold for production code freeze: 12/14/2020 -> 01/04/2021


Option to include notebook_output in response when using Get-DatabricksJobRun

In some cases when a notebook returns a value through dbutils.notebook.exit() I want to be able retrieve that through Get-DatabricksJobRun. however currently it returns only the metadata element of the json.
https://github.com/DataThirstLtd/azure.databricks.cicd.tools/blob/1e9141cf5ac714abbb963f8145e9b6d852056605/Public/Get-DatabricksJobRun.ps1#L48
Have created a PR that includes a switch to the function to include the entire json object. #88

Closed as of pr #88


Configuration points for Promise

We need to add a configuration point for using alternative Promise libraries. We also need to allow developers to pass a Promise constructor to each method that might create a Promise internally. forEach once such example.

[ ] add configuration point for Promises
[ ] add optional Promise constructor parameter to forEach

Relates to #114

We could use dependency injection :)

@jeffbcross perhaps we could enable dependency injection... But I'm happy to read your suggestion

I'm not really advocating for DI here, this is just a problem that DI solves easily (overriding bindings).

@blesh do you have real-world use cases to drive this design? There are a couple of cases that come to my mind:

toPromise fails because there's no global Promise as expected. <- could be easily fixed by using a polyfill that adds Promise to global/window: https://github.com/jakearchibald/es6-promise#auto-polyfill
User wants the promise returned from toPromise to be a promise they like, like bluebird. <- Doesn't bluebird provide a way of casting an A+ promise to a bluebird promise?

Are there other cases I'm missing, or are there reasons why my suggestions don't satisfy those use cases?

@jeffbcross yes, we do because of what already exists in RxJS. Not only that, but if someone wants to use something other than the standard promise, eg Bluebird, we can specify the object there.  PouchDB and others do this as well.

Thanks @mattpodwysocki, I'm looking for real-world use cases to help me understand the issue. What makes the existing options painful for users? What are the most common reasons for using toPromise in the first place? Interoperability with other libs? Familiarity?

@jeffbcross
There are a few use cases for using toPromise:

await myObservable.toPromise() ... although I think @zenparsing wants to change the last() operator to just be a method that returns a promise in the ES7 Observable, rather than an operation.
someFunctionThatExpectsAPromise(myObservable.toPromise())
Things that expect you to return a promise, like Ember's Route.prototype.model or Angular's routing resolve configuration, where it expects you to return a promise.

@blesh those are use cases for toPromise, which I already intuitively understand. I'm just missing context on why it's painful for users to polyfill or manually cast the promise returned by toPromise to a different compliant promise of their choice. I.e. what's an example of a type of application that would have toPromise in a hot, high-frequency code path, where the overhead of re-casting would have significant penalty. Or an application that has 100 instances of toPromise in the code base where the boilerplate of all the lines of code required to re-cast the promise to something else is out of control. To clarify, I'm not challenging the validity of the issue, just trying to understand since I have a lot less background on RxJS than other contributors (but I've spent a lot of time dealing with similar problems in angular).

I think it's more an issue of a preferred Promise library to use. Bluebird over native for performance reasons, for example.

Digging into this, the only prudent course for now is a first step, which is global configuration.
After that, we can move to an optional functional/factory style configuration, because I think we can support both. But to get this feature in in a minimal way, I'm going to opt for just global configuration so we can get Alpha out the door.


Add citation info in LanguageTable

A contributors.csv and either citation info in the LanguageTable or in a separate contributions.csv would be important. A column citation with propertyUrl dc:bibliographicCitation should do.

see https://github.com/lexibank/wold/blob/master/cldf/README.md#table-vocabulariescsv


Add Euclidean algorithm in Ruby

Noticed a little hole in our defenses coverage, and I like Ruby, so have another non-Factor PR.

One more thing, could you write the test numbers in a factorized form to maximize readability? Ex: 48 => 4 * 12


chore: use eslint flat config and add oxlint

🔗 Linked issue
closes N/A
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[X] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Updates our pretty outdated linting setup to make it more modern:

Switch to Eslint flat config and use @antfu/eslint-config as a base
Add OxLint to catch additional errors

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

@phoenix-ru I have noticed that the playground tests fail pretty quickly when updating the dependencies of the root package.json. This was also one of the reasons why I installed vitepress inside another package.json inside the /docs directory.
In this PR I wanted to update our linter and installing oxlint already broke the tests. The error messages thrown by the tests are pretty crypic to me. Do you have any ideas on how we can make the tests rely less on the root package.json and be isolated to their own workspaces? I assume the issue comes from new dependency linkages that may use other versions of sub-dependencies then they do. However, as you are the experts on the tests, I wanted to pass this onto you, in case you has specific limitation / concerns about this 🤗

Waiting on #818


feat: Adds docs for to_boolean, to_number, to_string filters

Description

Adds docs for to_boolean, to_number, to_string filters

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.67.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update README.md to reflect naming

Issue #, if available: N/A
Description of changes: Updating service name to AWS HealthImaging
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I recommend to also update the repository name accordingly.


Uses CosmosDB in E2E test in AKS.

Description
Uses CosmosDB in E2E test in AKS.
Issue reference

Please reference the issue this PR will close: #3647
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[ ] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

GH should run tests based on PR.

I validated locally with the testapp E2E test. The other tests should not be impacted by this. For actors, this state store is already mapped with actorsStateStore=true.


add batch types as List[torch.Tensor] and Dict[key: torch.Tensor]

Hi!
Firstly I have to say thanks for great library. It is very useful and helps me on my researches but when I tried to create some custom batches like {'tokens': torch.Tensor, 'head_symbols': torch.Tensor, 'tail_symbols': torch.Tensor} I had error, so I tried to fix it.

I'm sorry, i don't understand. How does
{'tokens': torch.Tensor, 'head_symbols': torch.Tensor, 'tail_symbols': torch.Tensor}

not work?
In addition, any updates here have to work with DDP, DP and CPU

@c00k1ez also, make sure to chat about this with me first in github issues so we can agree on the fix before doing a PR :)

I can't approve this PR until I think about this for a bit. I also need to see your example code of what you're trying to do and the error you got.

@williamFalcon ok, I will make Issue when go to work station. Maybe I was wrong :)

@c00k1ez https://gitter.im/PyTorch-Lightning/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge


"File is missing" message on all folders

On Monday I updated my Crashplan Docker container to the latest version (8.6.0). Today I went to restore a file and found that all of my folders on my NAS under Volume 1 are showing the message "File is missing." I tried to clear the cache as well as deleting and recreating the container. Neither of these corrected the issue.
Has anyone else seen this occur? Any suggestions how I can fix this?

This looks like a permission issue: can your files be read by the user you configured with the USER_ID and GROUP_ID environment variables ?

Adding into this posting, I too noticed since the last Syno update - Crashplan Pro docker no longer backed up.  Says connecting so I cleared the cache - but after that went thru its sync motions, still no good.    Under manage files - I see the folders but no contents so this appears like some permissions got wiped in this last update.    I am using user_id & group_id of 0.

I had both the user_id and group_id set to 0, same as rjameson3. This always worked in the past. I just changed them to match up with my administrator account currently in use and restarted the container. Keeping my fingers crossed that this resolves the issue. Will post back once I know for sure.

Changing the user_id and group_id does NOT seem to have resolved the issue. The user associated with the user_id and group_id now in use does indeed have access to the files requiring backup. Any other ideas for things I should check or look for?

Can you share the config of your container ?  Is all your data expected to be /storage  in the container ?

Here was my orig run line for this container:
sudo docker run -d --name=crashplan-pro -e USER_ID=0 -e GROUP_ID=0 -p 5800:5800 -v /volume1/docker/appdata/crashplan-pro:/config:rw -v /volume1/:/volume1:rw jlesage/crashplan-pro

Can you share the config of your container ? Is all your data expected to be under /storage in the container ?

Here's is the command I used to create the container:
sudo docker create
--name=crashplan-pro
--dns=<IP_ADDRESS>
-p XXXXX:5800
-v /volume1/docker/appdata/crashplan-pro:/config:rw
-v /volume1:/volume1:rw
-e TZ=America/Pacific
-e USER_ID=XXXX
-e GROUP_ID=XXX
-e SECURE_CONNECTION=1
-e CRASHPLAN_SRV_MAX_MEM=4096M
jlesage/crashplan-pro

Configuring USER_ID and GROUP_ID to 0 means that you run CrashPlan as root, which is not recommended from a security standpoint.
It's better to check who owns the files you want to backup and adjust USER_ID and GROUP_ID so that CrashPlan can have read access to those files.
https://github.com/jlesage/docker-crashplan-pro#usergroup-ids


Maps - Website

The website for this repo has been added as markdown.

URLS have Space and Capital letters for example. While running locally. Make it all small letters. Instead of space use _ or -

http://localhost:8000/Assembly Constituencies/


chapi: synchronize exec calls to iscsiadm/multipathd, misc fixes

Problem:

simultaneous calls to iscsiadm/multipathd were causing them to fail with timeout etc.
getPartitions() was failing with error "not a block device" if called soon after device creation
logging cleanup

Implementation:

synchronize calls to iscsiadm/multipathd
retry on failure to get partitions as multipath device setup takes few seconds
logging cleanup

Testing: tested with 50 pods on Ubuntu 16.04 and CentOS 7.6. rate of multipathd/iscsid failures have drastically reduced.
Review:gcostea, rkumar
Signed-off-by: Shiva Krishna, Merla<EMAIL_ADDRESS>

lsblk Error logs before the fix:
Nov 15 10:19:11 hiqa-tc2 kubelet: E1115 10:19:11.453808   16951 nestedpendingoperations.go:270] Operation for "\"kubernetes.io/csi/csi.hpe.com^066fd508181846903100000000000000000000eeec\"" failed. No retries permitted until 2019-11-15 10:21:13.453764756 -0800 PST m=+2779.227206421 (durationBeforeRetry 2m2s). Error: "MountVolume.MountDevice failed for volume \"pvc-9ebdf64c-3d43-48fe-a352-60d7e76fb6f6\" (UniqueName: \"kubernetes.io/csi/csi.hpe.com^066fd508181846903100000000000000000000eeec\") pod \"deployment-using-pvc-regular-2045-67ffdcd446-ttcw7\" (UID: \"81574d9a-5bc4-4c1f-97ac-8fa5d7ccb312\") : rpc error: code = Internal desc = Failed to stage volume 066fd508181846903100000000000000000000eeec, err: Failed to mount device /dev/mapper/mpathnt, Error creating filesystem xfs on device with serialNumber 25a9d9b24a2b7a9be6c9ce90029989377, Failed to verify if partitions exists on device /dev/mapper/mpathnt, unable to execute lsblk command, err=command lsblk failed with rc=32 err=lsblk: /dev/mapper/mpathnt: not a block device\n"

multipathd error logs before the fix:
time="2019-11-13T23:14:31Z" level=warning msg="failed to get multipathd [show maps format %w %d %n %s], out error -1 receiving packet\n" file="multipath.go:90"
time="2019-11-13T23:14:31Z" level=trace msg="failed to get multipathd [show maps format %w %d %n %s], out error -1 receiving packet\n" file="multipath.go:109"
time="2019-11-13T23:14:31Z" level=trace msg="<<<<< tearDownMultipathDevice" file="multipath.go:110"
time="2019-11-13T23:14:31Z" level=trace msg="process with pid: 144 finished successfully" file="cmd.go:62"
time="2019-11-13T23:14:31Z" level=trace msg="error -1 receiving packet\n" file="cmd.go:66"
time="2019-11-13T23:14:31Z" level=warning msg="failed to get multipathd [show maps format %w %d %n %s], out error -1 receiving packet\n" file="multipath.go:90"
time="2019-11-13T23:14:31Z" level=trace msg="failed to get multipathd [show maps format %w %d %n %s], out error -1 receiving packet\n" file="multipath.go:109"
time="2019-11-13T23:14:31Z" level=trace msg="<<<<< tearDownMultipathDevice" file="multipath.go:110"
time="2019-11-13T23:14:31Z" level=trace msg="process with pid: 146 finished successfully" file="cmd.go:62"
time="2019-11-13T23:14:31Z" level=trace msg="error -1 receiving packet\n" file="cmd.go:66"
time="2019-11-13T23:14:31Z" level=warning msg="failed to get multipathd [show maps format %w %d %n %s], out error -1 receiving packet\n" file="multipath.go:90"
time="2019-11-13T23:14:31Z" level=trace msg="failed to get multipathd [show maps format %w %d %n %s], out error -1 receiving packet\n" file="multipath.go:109"
time="2019-11-13T23:14:31Z" level=trace msg="<<<<< tearDownMultipathDevice" file="multipath.go:110"
time="2019-11-13T23:14:32Z" level=trace msg=">>>>> tearDownMultipathDevice called for 2f659eeb1ba6bac566c9ce90029989377" file="multipath.go:105"
time="2019-11-13T23:14:32Z" level=trace msg="MultipathdShowMaps for 2f659eeb1ba6bac566c9ce90029989377" file="multipath.go:36"
time="2019-11-13T23:14:32Z" level=trace msg="ExecCommandOutputWithTimeout called with multipathd[show maps format %w %d %n %s] 60" file="cmd.go:35"
time="2019-11-13T23:14:32Z" level=trace msg=">>>>> tearDownMultipathDevice called for 25571e918600009cc6c9ce90029989377" file="multipath.go:105"
time="2019-11-13T23:14:32Z" level=trace msg="MultipathdShowMaps for 25571e918600009cc6c9ce90029989377" file="multipath.go:36"
time="2019-11-13T23:14:32Z" level=trace msg="ExecCommandOutputWithTimeout called with multipathd[show maps format %w %d %n %s] 60" file="cmd.go:35"```


fix path to EventEmitter to make compatible with RN48

Fixes #68

Manually applying this patch fixes this for me as well.

Maybe we should have a fallback for older versions as not everyone lives on the bleeding edge. Would love to get this merged though.


custom labels and up timeseries

Bug Report
What did you do?
Added a metric_relabel_config to take values out of my instance name corresponding to the relative location and though it into a "rack" and "server" tag. When I queries the up timeseries, there is no such label on the series (on any sampling series provided by Prometheus). Not sure if this is intended behavior.  Note ona ny other collected metrics, these labels appear.
What did you expect to see?
The presence of the label on the up timeseries so that I could issue up({rack="some-rack"}) and get a report on how many machines within a rack we're up (or down). This also provides an ease for alerting if a rack goes down later on
What did you see instead? Under which circumstances?
The series up does not contain the custom labels as expected.
Environment

System information:
Centos 6.6

Prometheus version:
2.3.2

Alertmanager version:
0.15.1

Please share your configuration.

@simonpasquier That's not exactly possible. I can provide you a configuration that is "like" what I'm using in the codebase.

@nfrush sure

Same issue here:
Prometheus version: 2.5.0
Config:
- job_name: node_exporter
metric_relabel_configs:
- source_labels: ['instance']
  action: replace
  regex: '([^:]+):\d+'
  replacement: $1
  target_label: 'instance'
scrape_interval: 10s
static_configs:
- targets: ['server-1:2100']
  labels: {location: 'xx', type: 'xx', endpoint: 'xx'}
- targets: ['server-2:2100']
  labels: {location: 'xx', type: 'xx', endpoint: 'xx'}

Result

This is working as expected, metric_relabel_configs only applies to scraped metrics. You want relabel_configs.


nco: 5.2.3 -> 5.2.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/nco/nco/releases.
meta.description for nco is: NetCDF Operator toolkit
meta.homepage for nco is: https://nco.sourceforge.net/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.2.4 with grep in /nix/store/55xwx3nvz3rj168wgv09dn5xn9pml6c4-nco-5.2.4
found 5.2.4 in filename of file in /nix/store/55xwx3nvz3rj168wgv09dn5xn9pml6c4-nco-5.2.4

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
nco

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/b5b5eb9d94ddac2d9656e69176303ca24eb87b40#nco

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

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

1 package built:

nco

Maintainer pings
cc @bzizou for testing.

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

1 package built:

nco


Update Utils.php

Sometimes in my shop I get invalid total to pay value, which is caused by direct (int) conversion - using round fn before it, fixes "off by one" values.

I think that round() should be also used in above (int)$amount.


[StringUtils::indexOfAnyBut] redesign due to inconsistent/faulty behaviour regarding UTF-16 surrogates

depends/stacked on #1326 (tests only)
Both signatures of StringUtils::indexOfAnyBut currently behave
inconsistently in matching UTF-16 supplementary characters and single
UTF-16 surrogate characters (i.e. paired and unpaired surrogates), since
they differ unnecessarily in their algorithmic implementations, use
their own incomplete and faulty interpretation of UTF-16 and don't take
full advantage of the standard library.
The example cases below show that they may yield contradictory results
or correct results for the wrong reasons.
This proposal gives a unified algorithmic implementation of both
signatures that

a) is much easier to grasp due to a clear mathematical set approach and
safe iteration and doesn't become entangled in index arithmetic;
stresses the set semantics of the 2nd argument
b) fully relies on the standard library for defined UTF-16
handling/interpretation;
paired surrogates are merged into one codepoint, unpaired surrogates
are left as they are
c) scales much better with input sizes and result index position
d) can benefit from current and future improvements in the standard
library and JVM
(streams implementation, parallelization, JIT optimization, JEP 218,  ???…)

The algorithm boils down to:
find index i of first char in cs such that
(cs.codePointAt(i) ∈ {x ∈ codepoints(cs) ∣ x ∉ codepoints(searchChars) })
(cs.codePointAt(i) ∉ { x ∈ codepoints(searchChars) })
Examples:
<H>: high-surrogate character
<L>: low-surrogate character
(<H><L>): valid supplementary character
signature 1: StringUtils::indexOfAnyBut(final CharSequence seq, final CharSequence searchChars)
signature 2: StringUtils::indexOfAnyBut(final CharSequence cs, final char... searchChars)
Case 1: matching of unpaired high-surrogate

seq/cs
searchChars
expected/new
sig.1
sig.2

1.1
<H>aaaa
<H>abcd
!found
!found
!found

sig.1: 'a' is somewhere  in searchChars
sig.2: 'a' happens to follow  <H> in searchChars

1.2
<H>baaa
<H>abcd
!found
!found
0

sig.1: 'b' is somewhere  in searchChars

1.3
<H>aaaa
(<H><L>)abcd
0
!found
0

sig.1: 'a' is somewhere  in searchChars

1.4
aaaa<H>
(<H><L>)abcd
4
!found
!found

Case 2: matching of unpaired low-surrogate

seq/cs
searchChars
expected/new
sig.1
sig.2

2.1
<L>aaaa
(<H><L>)abcd
0
!found
!found

sig.1+2 don't interpret suppl. character

2.2
aaaa<L>
 (<H><L>)abcd
4
!found
!found

sig.1+2 don't interpret suppl. character

Case 3: matching of supplementary character

seq/cs
searchChars
expected/new
sig.1
sig.2

3.1
(<H><L>)aaaa
<L>ab<H>cd
0
!found
0

sig.1: <L> is somewhere  in searchChars

3.2
(<H><L>)aaaa
abcd
0
1
0

sig.1 always points to low-surrogate  of (fully) unmatched  suppl. character

3.3
(<H><L>)aaaa
abcd<H>
0
0
1

3.4
(<H><L>)aaaa
abcd<L>
0
!found
0

sig.1: <H> skipped by algorithm

I have rebased onto master and have followed your comments.

This one needs a second pair of eyes... @ppkarwasz @chtompki @struberg ?
One big difference is that the current implementation does not allocate any extra memory. I wonder what happens to performance of existing apps that call these methods on large strings.

I have rebased onto master and have followed your comments.

Hi @IBue
It looks like you forgot to run mvn (by itself) before pushing, see the checkstyle error in StringUtils.

note on performance:
boxing is the main responsible for increase in memory footprint here, that is +3GB for a 100M input sequence,
but the current implementation takes already a 10² order of magnitude more runtime than the proposed one for a 10M input sequence (minutes!) and a result index at half of the input size.

@IBue,

note on performance: boxing is the main responsible for increase in memory footprint here, that is +3GB for a 100M input sequence, but the current implementation takes already a 10² order of magnitude more runtime than the proposed one for a 10M input sequence (minutes!) and a result index at half of the input size.

Can you tell us more on the usage you have for this method? That will tell us a lot on how it should be optimized.
A common usage for this method could be extracting contiguous series of digits from a long string. With series of 10-20 digits it doesn't really make sense to go parallel, but if you want to validate a 100M input to make sure it only contains digits, you can sacrifice more memory.
Note: The indexOfAnyBut method can have multiple implementations and switched between them based on the input size.

@IBue
Please reply to @ppkarwasz's question:

Can you tell us more on the usage you have for this method? That will tell us a lot on how it should be optimized.

I have transformed the ListIterator loop into the proposed simplified index-based one.
Does anyone know if the index has to be protected against overflow?

Can you tell us more on the usage you have for this method? That will tell us a lot on how it should be optimized.

Actually, I don't have productive usage for this (yet). I stumbled upon the problem in the context of UTF-16 and learning some Java.

@garydgregory,

Another issue here is that for every single step in the for loop, the PR does a sequential search in a collection. Is it worth doing a binary search instead (at the cost for sorting the array)? Like this:

Currently it is a lookup in a Set (not a generic collection):
https://github.com/apache/commons-lang/blob/e0e3f0890c9164fcc9e76334aadd870dd4c8ef2a/src/main/java/org/apache/commons/lang3/StringUtils.java#L2877-L2887


Vuex like store

Proposal
Hey, so the feature i would like to have more Vuex store like for the state management. I know you are working on the redux flutter feature but i think there is some draw back when using flutter.
I would like to have multiple store with the option to have inherited modules and having. This will help build it like state, getters, action and mutations.

Adding the link to the state , getters mutations,  actions

The Github issue tracker is for bugs and features requests for the Flutter SDK. Help and support questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community .

Ho ok thx


Why do gas measurements fluctuate slightly

Sometimes test_print_gas changes gas.json.  Some numbers change by 100 or 200.  This issue keeps track of

identifying two commits that show this phenomenon
and figuring out why the numbers change

First, we have to make sure that the same commit produces the same gas measurement.


Use cmake is error.

When I compile the source code use cmake and c++17, I got the error
my cmake code is

INCLUDE_DIRECTORIES(
    ${PROJECT_SOURCE_DIR}/lib/microprofile
)

LINK_DIRECTORIES(
    ${PROJECT_SOURCE_DIR}/lib/microprofile
)
set(SOURCES

    ${PROJECT_SOURCE_DIR}/lib/microprofile/microprofile.cpp
    ${PROJECT_SOURCE_DIR}/main.cc

)

main code is

#define MICROPROFILE_MAX_FRAME_HISTORY (2<<10)
#define MICROPROFILE_IMPL
#include "microprofile.h"

int main(){
    MICROPROFILE_SCOPEI("my test","timername",MP_YELLOW);
    {
    print somthing();
    }
}

CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileTickToMsMultiplierGpu':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:1128: undefined reference to `MicroProfileTicksPerSecondGpu'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileShutdown':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:1513: undefined reference to `MicroProfileGpuShutdown'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileGpuEnterInternal':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:2645: undefined reference to `MicroProfileGpuInsertTimeStamp'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileGpuLeaveInternal':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:2666: undefined reference to `MicroProfileGpuInsertTimeStamp'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileFlip_CB':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:2916: undefined reference to `MicroProfileGpuFlip'
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:2961: undefined reference to `MicroProfileGpuGetTimeStamp'
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:2963: undefined reference to `MicroProfileTicksPerSecondGpu'
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:3076: undefined reference to `MicroProfileGpuGetTimeStamp'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileCalcAllTimers(float*, float*, float*, float*, float*, float*, float*, float*, float*, unsigned int)':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:3545: undefined reference to `MicroProfileTicksPerSecondGpu'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileGetTime':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:3598: undefined reference to `MicroProfileTicksPerSecondGpu'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileDumpCsv(void (*)(void*, unsigned long, char const*), void*)':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:3958: undefined reference to `MicroProfileTicksPerSecondGpu'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileDumpHtml(void (*)(void*, unsigned long, char const*), void*, unsigned long, char const*, unsigned long)':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:4087: undefined reference to `MicroProfileTicksPerSecondGpu'
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:4393: undefined reference to `MicroProfileTicksPerSecondGpu'
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:4395: undefined reference to `MicroProfileGetGpuTickReference'
CMakeFiles/main.dir/lib/microprofile/microprofile.cpp.o: In function `MicroProfileWebSocketSendFrame(int)':
/home/xinlnix/project/software/jichuang2021/jichuang2021/lib/microprofile/microprofile.cpp:6622: undefined reference to `MicroProfileTicksPerSecondGpu'
collect2: error: ld returned 1 exit status

Hi!
You're missing the gpu entry points. you either need to define them, use one or the builtins, or define MICROPROFILE_GPU_TIMERS to 0.
It should probably default to 0

Where can I get the quickstart reference. I'd likely to use it , but there always some environment error occurs.

Hi.
The cmake was provided by someone else - I didn't use it, and don't have a test for it.
The "official" way to use it is:
on osx/linux:
goto a demo folder, type make, and it should build. Try demo_simple, as a few of them will require you to build dependencies first.
on windows:
open the .sln file and build it


Fix an incorrect auto-correct for Layout/HashAlignment

Fixes https://github.com/testdouble/standard/issues/306.
This PR fixes an incorrect auto-correct for Layout/HashAlignment when setting EnforcedStyle: with_fixed_indentation of Layout/ArgumentAlignment and using misaligned keyword arguments.

Before submitting the PR make sure the following are checked:

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

Thanks!


backup job doesn't start cause:  Not starting job because prior execution is running and concurrency policy is Forbid

Hi,
I have a simple cluster: 1 master and 2 replicas.
I have added to the deployment of my cluster backup configuration:
backup:
schedule: "0 */1 * * *"
pvcName: my-backup-pvc
volumeMount: /var/lib/backup
But, It doesn't work well, because if I try to describe my cronjob I get this message:
Normal  JobAlreadyActive  112s (x5 over 121m)  cronjob-controller  Not starting job because prior execution is running and concurrency policy is Forbid
And inside the backup cronjob pod I have the following log:
[root@worker-sgpd postgis]# kubectl logs -f backup-mypostgres-27851640-tlqcx
15/12/2022 14:54:37 - Starting DB backup of Kubegres resource mypostgres into file: /var/lib/backup/mypostgres-backup-15_12_2022_14_54_37.gz
15/12/2022 14:54:37 - Running: pg_dumpall -h mypostgres-replica -U postgres -c | gzip > /var/lib/backup/mypostgres-backup-15_12_2022_14_54_37.gz
pg_dumpall: error: connection to server at "mypostgres-replica" (<IP_ADDRESS>), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
connection to server at "mypostgres-replica" (<IP_ADDRESS>), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
If I use a Postgres client like this:
kubectl run postgresql-dev-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:14.1.0-debian-10-r80 --env="PGPASSWORD=admin" -- bash
and inside the container I can connect to my postgres:
psql --host mypostgres -U postgres -d postgres -p 5432
postgres-# \conninfo
You are connected to database "postgres" as user "postgres" on host "mypostgres" (address "<IP_ADDRESS>") at port "5432".
I don't know why I can connect inside a pod to my Postgres, but the connection from cronjob failed.
Another strange thing, If I delete the corresponding pod of my backup cron job. The first backup work and the second fails to cause connection timeout.
Can you help me?
Regards
Antonio

You can kubectl get cronjob to get the cronjob and then
kubectl create job --from=cronjob/{you cronjob} mybackup
kubeclt get pod to watch the pod and debug it with kubectl exec
It seems that you are backing up from replica and testing the connection to primary is working.


Option: place replies in the folder of the message being replied to

This is a standard option many email clients, such as Thunderbird and Roundcube. It would be very convenient to have this option in K9 as well.  Thanks for considering it.

Also would like this feature.

Duplicate of #2266


[WIP] Details panel redesign

This PR is to redesign the details panel that appears when clicking on a node.  Fixes #382, fixes #301.

[x] Links to relatives below main title
[x] Health section with big last value and sparklines
[x] Show-more option for grouped Health items
[x] Tables for child nodes with metrics
[x] Limit tables and lists to 5 entries with show more/less button
[x] make links work (need unified node IDs)
[x] sort table by metric
[x] try alternative transitions when showing new details after link click
[x] paul: fix ids so we can link between topologies (and get metrics/metadata reliably)
[x] paul: remove "self" from "parents" table
[x] add connections summary section (pushed to https://github.com/weaveworks/scope/issues/680)
[x] paul: clean up backend code
[x] paul: update backend tests
[x] don't link unconnected processes in child table
[x] try it with k8s
[x] fix container-host-container bug
[ ] stop containers with no image name displaying <none>:<none> as a parent (also containers with no name displaying as <none>)
[x] fix bug with containers (w/o an image, maybe?) showing up in hosts view

Looks awesome!
A few comments on the UX (not looked at code yet):

If you select weavescope -> scope process -> weavescope container, the details panel for it should come to the front again (it doesn't do anything right now)
Also, the windows stack to the bottom right, so weill eventually fall off screen no?  How about stack to the bottom left?
I want to be able to see a node in the context of the relevant topology - ie I want to be able to click a host, and move to the hosts view with that host selected.
Host loadavg look good, I like the expando thing.
The little triangel is cropped when sorting by memory usage:  - I'd just drop the word usage (and from cpu).

Things that are missing / broken:

When I select a host, I expect to see a table of all processes and containers.  Similarly I should be able to see a container image in the list of 'tags' for a container
We've lost the connections table.   I liked the connections table.
The whole selected node fan/circle is broken.
Pipes / terminals don't work anymore.
I'd like some of the key-values under the sparklines to be hidden, and have a 'show more there;'

This is looking really good guys - a massive improvements.  Good work.  Can I have a pony too?

Some feedback on go code (high level, not line by line):

Pls don't commit app/scope-app
In the probe, instead of adding ID to the Node.Metadata, we could make a field for it (RenderableNode has it, so I'd move it from RenderableNode to Node).  Constructors would also need updating, and Topology.AddNode could just take one argument.
I like render/metadata.go. Perhaps the detailed node rendering deservers its own package now?
I'm not convinced by the use of Rank to decide what order to merge nodes in.  Merge should be commutative.  Why was this needed again?
I think we should promote the various 'parent' foreign keys out of Node.Metadata into a Node.Parent field, of type []struct{topology, nodeid string}, with set-like merge semantics.  Doing this will allow us to efficiently gather all the parents recursively, and potentially simplify all the foreign key joins in the rendering code, and might even solve the commutative merge problem.
please make changes to tools/test in tools.git

Responses inline:

Pls don't commit app/scope-app

d'oh!

In the probe, instead of adding ID to the Node.Metadata, we could make a field for it (RenderableNode has it, so I'd move it from RenderableNode to Node). Constructors would also need updating, and Topology.AddNode could just take one argument.

Sounds nicer, will have a look into how much shared code there is

I like render/metadata.go. Perhaps the detailed node rendering deservers its own package now?

Agree!

I'm not convinced by the use of Rank to decide what order to merge nodes in. Merge should be commutative. Why was this needed again?

Without the Rank change, merge of Node.Metadata is not commutative, which specifically results in the wrong value for Node.Metadata["topology"] (among others, I'm sure). We could possibly pull Topology and ID into fields, giving them better merge semantics.

I think we should promote the various 'parent' foreign keys out of Node.Metadata into a Node.Parent field, of type []struct{topology, nodeid string}, with set-like merge semantics. Doing this will allow us to efficiently gather all the parents recursively, and potentially simplify all the foreign key joins in the rendering code, and might even solve the commutative merge problem.

A better structure for parents sounds nice. Unfortunately, gathering parents recursively is no good. For a container, it would grab all the parents of the container image which will include all hosts running that image.

please make changes to tools/test in tools.git

ack

f2f discussion with @tomwilkie brought up that we should maybe try to set parents on the Node, not on RenderableNode, then aggregate them when merging. Doing it on the Probe would be nice, but not possible in all cases (k8s).
Also, that possibly Node.Metadata[probe.Topology] is not really used, so may be possible to swap it into a field, and add a "up-levelling" function in the MapX2Y funcs where we explicitly change it and the ID.

Some more feedback (its looking awesome, but...)

clicking on a node in the detail panel thats already open in the stack of details panels doesn't work or do anything
we used to see the pid of the selected process in the details panel in the title of the table.
containers should have their images as a parent / tag
container state is missing, as is IP (I think)
container psuedo nodes are showing jibberish in the details panel (looks like process details panel)
containers-by-hostname nodes should list the containers grouped under that

Theresmore, but it'll have to wait

More feedback:

for nodes in the applications-by-name view, applications in the table can't be clicked.
(for a future PR?) it would be nice if the docker labels fields were a table for container nodes
nodes in containers-by-hostname have a container as a parent (should be a child).  Also need to ensure they can have multiple hosts and images as parents.
I'd like to see a container images table for nodes in the hosts view, with a column for #containers.  Maybe another PR?

Going to look at code now.

we used to see the pid of the selected process in the details panel in the title of the table.

@tomwilkie you can see the parent PID on hover, good enough? Is that the same as "PID" in that context (if so, maybe we drop the "Parent")?

I get container-image <none>:<none> appearing sometimes? (see screenshot)
Encountered two children with the same key after clicking show more in Host > Containers, and Host > Container Images (screenshot)
Host > Container list has lots of room, doesn't need ellipsising so early. (screenshot)
Text-size/text-color is just readable. Upping the base font from 13px to 14px is easier on my eyes (though breaks the layout). 13px does look more aesthetic.. 14px "feels easier".
CPU always has its sorting arrow, that mimics the primary sorting arrow (e.g. If you click PID a couple of times, both its sorting arrow and that of CPU Usage changes).
Clicking away from the stack (on the canvas) I expected the entire stack to be dismissed rather than just the top card. (Though I still like esc to pop just the top card...)
As the stack gets higher it gets fuzzier (??) (see screenshot). I was at 110% zoom, still strange though!
Sometimes I can click on an app (it has a link), other times I cannot, though maybe they are different apps with the same name (?). Makes the UI feel a bit broken sometimes though =/. What controls whether you can click on an app?
Edge case: If you are being silly and make a stack of 8 cards, it starts DoSing the server, the top card sometimes has to wait for other requests to complete before loading, making it feel a smidge laggy. Perhaps only poll top card.

Stuff thats already been mentioned:

Host > Container > Host doesn't work (Not sure what cycle behaviour should be though, summon card to top?) (Tom).
Terminal/attach not working (Tom)

Screenshot:

Also PID sorting seems to be doing it alphabetically, which is a bit strange.

Sometimes I can click on an app (it has a link), other times I cannot, though maybe they are different apps with the same name (?). Makes the UI feel a bit broken sometimes though =/. What controls whether you can click on an app?

Whether it is a link or not is determined by the process having connections. Processes without any connections don't show up in the process view, so there's not really anything to link to. We could link them to a process details panel, but hide the link to "go to topology" (or just show the process topology with a details panel for a non-existing node).

Done reading the code! Looks good

@paulbellamy I think we might need to profile the app, as I've seen it maxing out the CPU whilst running this PR, which I don't think it used to do.

@paulbellamy this will need to be squashed too.  I suggest just going for two changesets, one for the go/backend code, and another for the client/javascript code.

Some more feedback on the UX:

[ ] I'd drop the term 'Usage' from the column headers, as it doesn't fit:

Looking really good Paul!
Comments on the code

[ ] The changes to app/api_topologies.go for k8s view could go straight into master, as a separate change.
[ ] I think report.MakeContainerImageNodeID shouldn't take a host ID, which hopefully will mean we don't have to plumb it everywhere.
[ ] I think we should use constants for the keys in Node.Parents
[ ] ltst is a sucky name for a template
[ ] with the way we're now showing load avaerage, I think we can remove the special casing of max, and bring it in line with all the other metrics.
[ ] I still think metrics should be templated like the metadata, but we can leave that to another PR.
[ ] detailed.Node should embed a NodeSummary, and use MakeNodeSummary to build it.
[ ] the comment "// parents is a total a hack..." isn't really true anymore.
[ ] the defer.. at the top of parents doesn't add anything - why not inline it?
[ ] I still want to see WithID go away...
[ ] I think we need to make NodeSet properly immutable.  Also, doesn't it belong in render?

So good luck figuring out whats using cpu:
cpu.pdf

ltst is a sucky name for a template

I agree, but it is 4 characters, which makes all the templates vertically-aligned. Could refactor it to a struct (instead of a fn), so the "type" goes at the end.

I still want to see WithID go away...

Started on this, but you have to change all the MakeNode and MakeNodeWiths, got about 726 lines in, and stashed it.

I think the numbers for host cpu usage are wrong: my cpu is close to 100%, and scope it reporting...

I hypothesize that it may be this bug: https://github.com/weaveworks/scope/issues/815
We merge all the processes and containers into the host (to get the children), but that brings the metrics with it, and since some of those keys happen to overlap, they all get merged in, and a random number is chosen.

Could refactor it to a struct (instead of a fn), so the "type" goes at the end.

Roger, please file a ticket against 0.13 and we'll do that then.

Started on this, but you have to change all the MakeNode and MakeNodeWiths, got about 726 lines in, and stashed it.

Ditto, we can fix in 0.13

I hypothesise that it may be this bug: #815

Okay we need to fix this before the merge - I think dropping the metrics when we create new "Derived" nodes in the rendering will be enough for now.  I'll take a look today.

[ ] Uncontained (in the containers view), is rendering the metadata/metrics from one of the processes, not just a list of processes.

We've LGTMed and agreed in chat to merge this, then continue working, as rebasing is becoming painful.


Maven compiler plugin 3.8.0

Motivation:
latest version of the plugin
Modification:
pom.xml
Result:
n/a

@sullis I am not against upgrading but wondering if there was a reason for it ?

@netty-bot test this please

@netty-bot test this please.


Packages for test and benchmark executables on all supported OSes using CPack.

The conflicts are very minor. Should be pretty easy to resolve. LGTM.


Atom, freezes, hangs, when large 1 line of code (minified) file is opened.

Prerequisites

[yes] Can you reproduce the problem in safe mode?
[yes] Are you running the latest version of Atom?
[no] Did you check the debugging guide?
[no] Did you check the FAQs on Discuss?
[yes] Are you reporting to the correct repository?
[yes] Did you perform a cursory search to see if your bug or enhancement is already reported?

For more information on how to write a good bug report or enhancement request, see the CONTRIBUTING guide.
Description
Atom, freezes, hangs, when large 1 line of code (minified) file is opened. Could be similar to #10769.
Steps to Reproduce

Just open any large 1 line minified file (js, css, json etc.). Using Mac, all latest updates and the latest version of Atom. This issue was reproducible for many versions in the past and till now. PC has the same issue.

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
You can get this information from executing atom --version and apm --version at the command line.

Hi @nashokin, thanks for reporting!  This is already being tracked in #979, so feel free to subscribe there for updates.  Thanks for taking the time to look for similar issues, but don't worry that you didn't find #979 - there's so many issues that you sometimes get swamped :sweat_smile:.
(Also, instead of writing [yes] or [no], you can instead place an x in the brackets to make it render as a checkbox like so: [x])

[x] Checked!
[ ] Not checked (no x)

#979 is closed - just saying...

@AlexNodex that's because it was recently fixed and the issue is from a year ago!

But it's. It fixed. A minified JavaScript file of 100k still breaks my latest atom, by breaks I mean freezes it
Sent from my iPhone

On 23 Feb 2017, at 17:33, Zireael07<EMAIL_ADDRESS>wrote:
@AlexNodex that's because it was recently fixed and the issue is from a year ago!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@AlexNodex: The fix was merged, but there was no update to Atom containing it yet.

Ah ok sorry, I assumed as it's a 1 year old bug that it was merged upstream and included in recent updates !
Guess I'll just have to wait then !!
Sent from my iPhone

On 23 Feb 2017, at 17:58, Zireael07<EMAIL_ADDRESS>wrote:
@AlexNodex: The fix was merged, but there was no update to Atom containing it yet.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Proposal: Add build support on a random node

Fix #455
Related to #602
docker build -t myimage
docker run -e affinity:image==myimage myimage

Coverage decreased (-0.11%) to 38.88% when pulling 6961b54824754eaa9edd1d25e631ee5f215abcd3 on vieux:add_build into caa5fd0351917ff59b01da70236ea083679023f2 on docker:master.

Coverage decreased (-0.11%) to 38.88% when pulling 64217f39944b693455a6a71d9fc8643d37199f16 on vieux:add_build into caa5fd0351917ff59b01da70236ea083679023f2 on docker:master.

I think that build mostly will be used to create containers, not pushing it somewhere. Thats why it doesn't make sense to create it on overloaded nodes, where containers can't be started.

@garagatyi yes, you can still do
docker build -t user/myimage
docker push user/myimage
docker run user/myimage ...

following @aluzzardi idea, "random" nos uses the filters and strategy selected. build will likely select the best node that match your needs.

Coverage increased (+0.29%) to 39.28% when pulling 8aa978717ffeb87169f81f091c5555aede77a6ba on vieux:add_build into caa5fd0351917ff59b01da70236ea083679023f2 on docker:master.

LGTM

@garagatyi: How about now?

@aluzzardi way better than random :D

@vieux: If possible, would it be too much of a hassle to add an integration test?
Eventually, before 0.3, it would be awesome to have an integration test for every single API endpoint so we can confidently say "we are 100% compatible with the Docker API".
Creating them as we add API endpoints will be less of a pain later :)

@vieux thanks for the improvement
@aluzzardi LGTM now

ping @aluzzardi

@vieux I thought you were adding integration tests for this one before the review?

Also, there's one commit that doesn't seem to pass tests (6961b54) - could you squash it with something else?
Ideally every single commit should build / pass tests. It will make our lives much easier should we need to git bisect someday.

Coverage decreased (-0.08%) to 39.52% when pulling d98f15af5b59c3b07d9130a68ac467e82c72759e on vieux:add_build into 369c856a2400a4f537d4319507bae6385c077e1d on docker:master.

@aluzzardi PTAL

Coverage decreased (-0.44%) to 39.16% when pulling f75afb5260c21e3fe15dbbc82308805d0702aa77 on vieux:add_build into 369c856a2400a4f537d4319507bae6385c077e1d on docker:master.

Coverage decreased (-0.44%) to 39.16% when pulling e6b5638862932df5923888a7bdcbd0a5c6e85bba on vieux:add_build into 369c856a2400a4f537d4319507bae6385c077e1d on docker:master.

Any way to know whether the image was built "manually"?
I'm wondering if run could work without the need of affinity - otherwise, we won't be "compatible" with the docker API since docker build && docker run will fail (CI system for example).

rebased

@aluzzardi as we discussed it should be fixed in docker itself, I'll open another issue.

Coverage decreased (-0.23%) to 46.58% when pulling 05b01c7b434621f0f9cde2ebb35f8d5c050470f5 on vieux:add_build into 4db132e20e0c75fcf7af4d1679d116c25f70d7c9 on docker:master.

Coverage decreased (-0.23%) to 46.58% when pulling 05b01c7b434621f0f9cde2ebb35f8d5c050470f5 on vieux:add_build into 4db132e20e0c75fcf7af4d1679d116c25f70d7c9 on docker:master.

Yep, looks good!
Last item: Could you please create an issue to refactor build?
Ideally we would add a cluster.Build function (along with Engine.Build and support in dockerclient), in the same way it was done for load: https://github.com/docker/swarm/pull/609


"Writing Chaincode" section in README

This section (link) doesn't actually contain any instructions or pointers as to how to write chaincode.

We should be linking to the "How to Write Chaincode" page.

@kchristidis are you offering to write that up, or point to examples that could be emulated?

@christo4ferris As far as I can tell there is a good enough write-up out there but it belongs to a different repo. I can create PR linking to it if need be.

Can we link from hyperledger to ibm-blockchain, per open source procedures? @nickgaski was working on related content for Bluemix.

@mastersingh24 and I have discussed transferring some of the ibm-blockchain examples to Hyperledger. I am also working on a containerized approach to developing chaincode that might integrate these examples.


[EventRequest] Codeunit 416 - After OnRun

We have some custom code in the OnRun function and need a new event publisher that runs after a service document is released.  The event publisher should be in the following location.
IF "Document Type" = "Document Type"::Order THEN
  WhseServiceRelease.Release(Rec);

// New event request >>
OnAfterReleaseServiceDoc(Rec);
// New event request <<

Signature:
OnAfterReleaseServiceDoc(VAR ServiceHeader: Record 5900)

Event already exists.


Confusion in build process with JS components versus jQuery plugins

When I used the build process, I checked off the JS components I wanted to use in the first section and when I got to the next section "jQuery plugins", I left it unchecked as my thought process was "Oh maybe they're going to jQuery-ify them, well I don't need that." I realized after when I found no js folder that JS components just meant the CSS for those components, and jQuery plugins meant the Javascript.
Maybe it'd be less confusing if the first section had "scroll down to select the JS" and auto-checked the necessary ones, and if the second section was renamed "JavaScript plugins" with a notice that they require jQuery or Ender or whatnot.
Or maybe everyone else in the world uses jQuery so it's not an issue. :)

Yep i totally agree - we need to do some syncing of checkboxes in that thing...


fix output message and delete hello command

change output message from hello to "extension "vscode-casbin" is now active!"
delete unuseful hello command

@ZhengLin-Li fix:

see: https://casdoor.org/docs/contributing#semantic-prs


Short Term Milestones [1-3 mo]

Closing since the team decided to use GH milestones to track such issues instead.


[CMT-952-1321] translate(newsletter): YN61 - EL

Description
This pull request is the Greek translation of the NL 61.
Type of change

Please delete options that are not relevant and check the box.

[ ] Add a new article/page
[ ] Fix a Typo
[X] Add a new translation
[ ] Other

Resources

Any screenshots, links or relevant resources to explain better the changes.

@stathismazarakos please take a look as well. thanks :)

This was already merged https://github.com/yearn/yearn-comms/pull/1320

@giosereth and @stathismazarakos make sure y'all coordinate so you dont translate the same stuff or someone translates then someone tl checks it.

Thanks! yeah we set up a communication channel to avoid this situation again in the future!


Extreme large vocabulary

I recently met a problem that the training algorithm becomes much slower when the vocabulary size gets extreme large. There is a warning from tensorflow saying that "Converting sparse IndexedSlices to a dense Tensor with 145017088 elements. This may consume a large amount of memory."
I guess Tensorflow is using a dense gradient update on the embedding matrix.  Does anyone have any ideas on that?
Thanks

I meet the same problem, have you solved it? Thank you!


Pass req to context enrichers

Describe the feature request
https://github.com/Unleash/unleash-proxy/pull/87 introduced the notion of ContextEnrichers, which take the context of feature toggle evaluation modify it in some meaningful way. The use case of https://github.com/Unleash/unleash-proxy/pull/87 is built around using fields that are already part of the context from the start.
To support more use cases, it would be helpful to pass the full request to context enrichers, so further custom information can be pulled from it into the context.
Background
Taking only fields from the existing context to enrich it is really limiting. This is especially true if you run the unleash-proxy embedded in a node application that already preprocesses the request a bit. Imagine running an application with authentication and having session information at hand (at req.user).
You would want to provide the user information as part of the context to use it in strategies. Without having access to the request, this is not possible. A workaround could only be knowing which requests unleash-proxy handles and how the context is transferred in each of them (req.query, req.body), and adding the fields there via a custom middleware, completely sidestepping the context enrichers in an honestly rather fragile way.
Solution suggestions
Enhance the ContextEnrichter interface to consume a Request. Pass the current req to the enrichContext function, so it can provide it to the context enricher chain.
This depends partly on https://github.com/Unleash/unleash-proxy/pull/109, which makes sure enrichContext is actually called consistently across use endpoints

Hey @LukasHeimann, yeah I think this makes a lot of sense, I'm very open to this idea. We probably won't make a plan to look into this this quarter but we're very open to pull requests if you or someone else has some ideas here.
I'll poke the author of the linked PR and see if we can get that merged

Hi @sighphyre and @ivarconr,
is there any update on https://github.com/Unleash/unleash-proxy/pull/109? It just went stale again...

#109 if fixed and included in v0.15.
I still think it is relevant to consider how context enriches could have access to the request object, to make use of this to enrich the context.

That's great! I'll see when I find time to provide a PR for this. If someone else wants to have a go at this in the meantime, I'd be happy as well.

I was thinking; maybe we should not provide the entire req object, which is tied to express, but instead relevant parts such as headers, the user IP address and other relevant parts?

In my particular case, I use the proxy as a middleware only, and there are non-standard things attached to the request that I'd need to know to enrich the context


[ROS1] Topic whitelist is not bidirectional

Description
We are evaluating using foxglove_bridge for forwarding data from a ROS1 stack that serves as a "gateway" for communicating with our robot to remote clients running Foxglove Studio.
One feature that is especially important to us is the topic whitelist, since we want the ability to selectively control how much data gets sent from the gateway stack to the clients. However, we also want to limit the publishing capabilities from client to gateway. This is necessary because we have custom buttons in our Foxglove Studio layout that send commands to the robot (abort mission, change configuration, etc.) and we'd like to have a "read-only" mode for our UI that makes these buttons non-functional. We thought we could accomplish this via the topic whitelist by simply black-listing the topics that contain the control output from these button presses. However, in testing the bridge we found that the whitelist is not bi-directional, so publishing requests from client to the websocket server are un-guarded and make it through regardless of any specified topic blacklists.
We made a patch for this issue that makes the whitelist bi-directional and are currently testing it (initial results indicate that it does work for blacklisting the publishes from our button presses). Is there a design reason that the whitelist is not currently configured to be bi-directional? If not, we'd be happy to open a PR to upstream the patch.

Version: latest source
Platform: ROS1 Melodic, Ubuntu 18.04, ARM device

Hi, thanks for starting the discussion. I have a couple follow-up questions based on your writeup:

Do you need to disable client publishing of specific topics, or just all topics? Would it be sufficient to provide a server configuration that completely disables client publishing?
Since Foxglove Studio does not have any notion of read-only topics in the app, how do you plan to implement the "read-only mode" in your UI? Will your buttons appear disabled, or will they just do nothing when clicked?

Hi, thanks for the quick response!

For our current use case, I think a server configuration that disables all client publishing would be sufficient. Since we just want a means of remotely visualizing data in Foxglove Studio without giving the ability to command the robot to take action, I can't imagine us wanting the client to publish on any topics. For future use cases, though, I could see a potential for wanting the client to be able to publish on some, but not all, topics (e.g. gating allowed commands by user level).
This is still up for discussion in our group, but for a basic first pass the thought is to have the buttons just do nothing when clicked, since that requires no code changes. We might decide to change that as we go forward.

We made a patch for this issue that makes the whitelist bi-directional and are currently testing it (initial results indicate that it does work for blacklisting the publishes from our button presses). Is there a design reason that the whitelist is not currently configured to be bi-directional? If not, we'd be happy to open a PR to upstream the patch.

I should have read the last sentence earlier, before implementing it myself. Anyway, @sseeberger96 , would be great if you could take a look at #181.
I will also submit a PR that allows to prevent clients from publishing to topics or calling services

Will keep this issue open until #181 got merged

Sorry for the delayed response here @achim-k, but we tested the latest updates on our system recently and the features added in #181 worked perfectly for us! Thanks so much for the support!


update openssl

docker run --rm -it  kylemanna/openvpn:latest openssl version
OpenSSL 1.0.2m  2 Nov 2017
docker run --rm -it  kylemanna/openvpn:dev openssl version
OpenSSL 1.0.2k  26 Jan 2017
for some reason, dev is quite old compared to latest

Dev is for me to test, what are you trying to do with dev and why?

Usually I use dev labels from Docker hub locally with the expectation that they will be using the latest upstream base images
For instance, alpine 3.7 is out and it's breaking a few images, and as such I usually test my Docker file against what the maintainer might have a dev label.
I understand that is not your workflow, and that is OK.
Thank you for understanding.
Thank you so much for your amazing project.


mvcc: use buffer bytes to encode consistent index

go test -v -run=xxx -benchmem -bench BenchmarkStoreTxnPut

Before
BenchmarkStoreTxnPut-8	  200000	     11221 ns/op	    1476 B/op	      13 allocs/op

After
BenchmarkStoreTxnPut-8	  200000	     10619 ns/op	    1463 B/op	      12 allocs/op

If it's not worth this, just remove the TODO?

/cc @xiang90 @heyitsanthony

I think it would be faster to have this temp buffer as a field in the store struct instead of going through a sync.Pool since saveIndex is already serialized on s.mu.Lock

ok will try those.  thanks.

Just changed it to use bytes buffers inside store, as @heyitsanthony suggested, and it's simpler and still saving us a few bytes:
BEFORE:  200000	     11221 ns/op	    1476 B/op	      13 allocs/op
AFTER :  200000	     10442 ns/op	    1464 B/op	      12 allocs/op

PTAL.
Thanks.

lgtm

go test -v -run=xxx -benchmem -bench=BenchmarkStore
# BEFORE
BenchmarkStorePut-8   	  200000	     10749 ns/op	    1472 B/op	      13 allocs/op
BenchmarkStoreTxnPut-8	  200000	     10795 ns/op	    1471 B/op	      13 allocs/op

# AFTER
BenchmarkStorePut-8   	  200000	     11036 ns/op	    1467 B/op	      12 allocs/op
BenchmarkStoreTxnPut-8	  200000	     10326 ns/op	    1462 B/op	      12 allocs/op

Merging in greens.
Thanks!


Function arrows are spaced oddly

Function arrows seem somewhat randomly placed.
one with a missing space before
one with a whole line to itself
Spawned from #10

I believe I may have just fixed this with dada9f0db2fe60cbc77e9bfc43854187d059ca2f. Could you try from the master branch please? :)

Thank you

Not ready to be closed, the spacing around 0-arity function arrows is OK now, but the arrows are still broken into the next lines or parts of the body are put after it.

Thank you :)


autoUpdater does not emit an error if quitAndInstall is called without an update to apply

autoUpdater's docs say that quitAndInstall should only be called after 'update-downloaded' has been emitted, and if it is called before that is emitted, the app will quit but not reopen.
For both these reasons, autoUpdater should emit an error if quitAndInstall is called without an update to apply.

Tested by #3838. I would fix this, but I'm not sure if the fix needs to go in Electron or Squirrel.

Before someone cares to fix this, I think you can just check whether update-downloaded is fired before calling quitAndInstall.

Oh for sure. I just think that the auto-updater itself should enforce that restriction since seeing an error is better UX than seeing the app quit and it not come back.
(One simple though perhaps not-totally-correct way to fix this would be to have the auto-updater itself listen for 'update-downloaded' and only allow quitAndInstall to be called thereafter—is that what you were suggesting?)


ARTEMIS-129 License header should be a normal comment

To reproduce this commit, apply the following replace regex rule:
search regex: /\*\*\n \* Licensed
replace: /\*\n \* Licensed

Only .java and the following files should be modified:
artemis-selector/src/main/javacc/HyphenatedParser.jj
artemis-selector/src/main/javacc/StrictParser.jj
artemis-website/src/main/resources/styles/impact/css/pygmentize.css
artemis-website/src/main/resources/styles/impact/css/site.css

Nice one! thanks
I will wait the PR build to finish first before we can merge this

Please, review it with some regexes and greps.
On Tue, Jun 2, 2015 at 11:42 PM clebertsuconic<EMAIL_ADDRESS>wrote:

Nice one! thanks
I will wait the PR build to finish first before we can merge this
—
Reply to this email directly or view it on GitHub
https://github.com/apache/activemq-artemis/pull/11#issuecomment-108166705
.

I will amend your commit with a comment:
s/Only .java and the following files should be modified/These files had to be modified manually

Feel free to do so!


update snap package

update snapcraft wrapper to use core22 as the current lts and all of the build & deploy deps for snap
relates to #27014

Should we upgrade to node 20? @techknowlogick I noticed you reverted to node 18, any reason?

@silverwind yeah, the snap builder doesn't like 20 (for our project at least). I've found that I have to keep it a few versions behind. It's hard to debug because it only pulls the config from the main branch, and it builds fine locally just not in the remote runner.
Maybe we switch from the remote runner to Actions, but from past attempts that's tricky building for multi-arch snaps.


Fixed issue #8851

Issue Reference
Fixed issue #8851

@shivendra-webkul Please resolve the conflicts which are appearing in the PR.

@ashishkumar-webkul  Conflicts resolved please check.

@shivendra-webkul It is working fine. Here


Create plugin-disable-bitbucket-multibranch-status

Description
Add permissions for new disable-bitbucket-multibranch-status plugin.
Git repo: https://github.com/jenkinsci/disable-bitbucket-multibranch-status-plugin
Hosting issue: https://github.com/jenkinsci/disable-bitbucket-multibranch-status-plugin
Submitter checklist for changing permissions
Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[x] Add link to resolved HOSTING issue in description above

For a new permissions file only

[x] Make sure the file is created in permissions/ directory
[x] artifactId (pom.xml) is used for name (permissions YAML file).
[x] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[x] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

n/a Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

IIRC @stephenc has undocumented strong opinions on the naming convention to use for this kind of plugin.

The naming scheme is documented in the contribution.md in scm-api.
I’ll review this request on monday

:-1: needs to be renamed

And on first look, this is duplicating existing functionality in another plugin (but I may be confusing GitHub extension plugin with butbucket, in which case the naming should mirror the GitHub extension plugin naming)

https://github.com/bluesliverx/disable-github-multibranch-status-plugin Needs a rename too

https://github.com/jenkinsci/github-scm-trait-notification-context-plugin is following the recommendations... I think there is a disable notification plugin already for one of them that is also following the recommendations

Recommendations are in https://github.com/jenkinsci/scm-api-plugin/blob/master/docs/implementation.adoc#naming-your-plugin
@bniwredyc Please adapt your plugin (and subsequently this PR) if you want to follow this recommendation. I can do the GitHub repository and component renames.
Also CC @slide who's reviewing hosting requests.

@stephenc hi, this plugin should be called bitbucket-scm-trait-disable-notifications right?

that would be aligned with the naming rules. Check there isn’t one already also

Labelling as needs-fix since there's an ongoing rename operation. Thanks @bniwredyc !

Build failed; the context from the latest run is:
Expand to view
	at groovy.json.JsonBuilder.toString(JsonBuilder.java:347)
	at groovy.json.JsonBuilder.toPrettyString(JsonBuilder.java:361)
	at groovy.json.JsonBuilder$toPrettyString$0.call(Unknown Source)
	at io.jenkins.infra.repository_permissions_updater.ArtifactoryPermissionsUpdater$_generateApiPayloads_closure1.doCall(ArtifactoryPermissionsUpdater.groovy:193)
	at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
	at groovy.lang.Closure.call(Closure.java:414)
	at groovy.lang.Closure.call(Closure.java:430)
	at org.codehaus.groovy.runtime.ResourceGroovyMethods.eachFile(ResourceGroovyMethods.java:1070)
	at org.codehaus.groovy.runtime.ResourceGroovyMethods.eachFile(ResourceGroovyMethods.java:1088)
	at org.codehaus.groovy.runtime.dgm$936.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at io.jenkins.infra.repository_permissions_updater.ArtifactoryPermissionsUpdater.generateApiPayloads(ArtifactoryPermissionsUpdater.groovy:134)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)
	at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:214)
	at io.jenkins.infra.repository_permissions_updater.ArtifactoryPermissionsUpdater.main(ArtifactoryPermissionsUpdater.groovy:317)
[Pipeline] stage (Archive)
Using the ‘stage’ step without a block argument is deprecated
Entering stage Archive
Proceeding
[Pipeline] archiveArtifacts
Archiving artifacts
[Pipeline] archiveArtifacts
Archiving artifacts
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline

GitHub has been notified of this commit’s build result

ERROR: script returned exit code 1
Finished: FAILURE

Powered by the Comment Logger

@bniwredyc do you plan to address comments here?
Given this PR is open and in this state since February, I will close it next time I come around here, in a few days or so, if nobody answers/objects in the meantime.

Hi everyone, I actually don't understand why 2 plugins with similar functionality should be called absolutely different.
I'm talking about disable-github-multibranch-status and disable-bitbucket-multibranch-status
disable-github-multibranch-status is published and mine is not.
I don't believe that somebody will rename disable-github-multibranch-status.
In the end I can't release plugin that is useful for some people (see comments https://issues.jenkins-ci.org/browse/HOSTING-458).
Even if I rename the plugin that will be even worse because plugins that do the same thing for github and bitbucket will be called
disable-github-multibranch-status
and
bitbucket-scm-trait-disable-notifications
I find it al least confusing :(
I propose to publish this plugin as is.

We can do nothing for plugins that escaped the naming rules (other than deprecating the old name) so the one with the wrong name is stuck that way.
Please rename this to align with the published naming conventions that we are trying to enforce.


rocksdb has no branch tags/v4.1

In README.md, this command will not work
git checkout tags/v4.1

The correct way should be
git checkout v4.1

Merged via PR #1023