refactor: use pnpm to watch and build packages

Codecov Report

Merging #284 (d32cc6a) into release-next (4d5ee7d) will increase coverage by 0.03%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           release-next     #284      +/-   ##
================================================
+ Coverage         77.77%   77.80%   +0.03%
================================================
  Files                52       52
  Lines              4661     4673      +12
  Branches            551      552       +1
================================================
+ Hits               3625     3636      +11
- Misses             1031     1032       +1
  Partials              5        5

Impacted Files
Coverage Δ

packages/ice/src/tasks/web/index.ts
100.00% <0.00%> (ø)

packages/ice/src/tasks/web/data-loader.ts
100.00% <0.00%> (ø)

packages/ice/src/service/serverCompiler.ts
95.68% <0.00%> (+0.03%)
:arrow_up:

packages/ice/src/commands/build.ts
83.49% <0.00%> (+0.16%)
:arrow_up:

packages/ice/src/utils/generateHTML.ts
89.74% <0.00%> (+0.26%)
: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 4d5ee7d...d32cc6a. Read the comment docs.


Expose prometheus_tsdb_start_time_seconds metric

Closes https://github.com/prometheus/prometheus/issues/2988

Is the original use case still valid?
@bkupidura did you find a workaround for your use case or you still need this metric?

Hey, im no longer working on this. I will ping right people to give You answer.
@ildarsv @mescanef @dkalashnik

Thanks
If the workaround works well we can close it and revisit if needed.
btw what was the workaround?

@krasi-georgiev small proxy on top of several Prometheuses with data merge.

Hello @dkalashnik @bkupidura :smile:
@gouthamve mentioned that reporting the oldest timestamp in the db is a nice-to-have and I kind of agree, especially if it's cheap and easy.

:+1:

@simonpasquier , @gouthamve so finally are we adding this?

👍


404 on working auth

I keep getting a 404 error from my acme-challenge, even though I get 200 OK from my browser and in other browsers.
time="2016-12-29T19:56:57Z" level=info msg="no cert associated with ingress" context="ingress_tls" name=docker-registry namespace=default
time="2016-12-29T19:56:57Z" level=info msg="requesting certificate for dr.paulmontag.info" context="ingress_tls" name=docker-registry namespace=default
time="2016-12-29T19:56:59Z" level=debug msg="testing reachablity of http://dr.paulmontag.info/.well-known/acme-challenge/_selftest" context=acme domain=dr.paulmontag.info
time="2016-12-29T19:57:00Z" level=debug msg="error while authorizing: reachabily test failed: wrong status code '404'" context=acme domain=dr.paulmontag.info

I am also having this issue

This error was happening for me because my router doesn't support a loopback feature. At least not in the Web UI.
The error error while authorizing: reachabily test failed: wrong status code '404' isn't coming from lets encrypt but actually from the kube-lego application itself. Because my DNS is all set up to point to my ISP supplied public ip address, when I try to access the application from inside my own network the packets go to the router and then get dropped. I wasn't noticing this outside of kubernetes because of some internal DNS I had set up which I won't go into because it isn't really relevant here.
 If it is your home ip address can you access your sites from inside your lan? I might be getting ahead of myself as I am making a lot of assumptions about your setup :)

@d1ngd0 is correct. The 404 is from the perspective of the kube-lego container, not letsencrypt or your web browser.
You need to make sure the DNS is resolved to the correct IP address from the perspective of kube-lego. You could enter the container and run nslookup DOMAIN to figure that out. I noticed GCE sometimes take a long time to update the DNS records. Hope this helps.


Registration component stuck in "Registering" state when sudo mode timeout has failed on schema fetch

Go to the CMS
Go to your profile
Wait for sudo mode to time out (or force it locally)
Click "Add new method"
Select security key

The UI is stuck in Registering state. The API call to fetch webauthn's schema failed, but wasn't handled in the UI at all.
Suggestion: show an error state suggesting you refresh the page and try again.
Split from https://github.com/silverstripe/silverstripe-mfa/issues/187

PR at #33


Dunno if this is allowed but I have a question and no one in your support discord is responding. :)

So I was wondering how the equation 5000+5000*(totallevel/100) works and how to specify the amount of pay increased as you rank up each level. I also wanted to know if its possible to make exp gain harder over time like in vanilla minecraft?

Equations is used to calculate how many income/level/points/exp will grant to your economy bank when you do something in the specified job. It is not recommended to change these values, because these default values are works correctly and shouldn't require any changes. There is another options in generalConfig which manages how often the payout works.


spelling error

line 210:
cosnole.log => console.log

It's not a typo. we do it on purpose as you can see this paragraph above:

Now, while webpack is watching your files, let's remove the error we introduced earlier:

got it, thanks

No worries, and welcome your future contribution to webpack documentation.


Markdown content appears as plain text in searches

Feature Request
In searches, the markdown content of posts are rendered as plain text, which doesn't look good. This behaviour is with Academic's search.
Why not Markdownify the searches also?

This is in alignment with search engines such as Google and other popular CMS like Medium etc. There are a number of reasons why companies like Google present search results in the way that they do.

Okay


correctly handle newly introduced .prefetch.rsc suffixes

fixes #469

lgtm.
Does it make sense to add a e2e test for this too?

yeah that's a good callout 🙂
the thing is that we actually have e2es that should have caught this, for example this one:
https://github.com/cloudflare/next-on-pages/blob/5b4a5b71ffe53858f440425f82849cc003f837ac/pages-e2e/features/simpleAppSsrRoutes/navigation.test.ts#L6
I do think that these should have detected the issue, my best guess is that they're not using the latest version of the vercel cli (which introduced this issue), so I can look into that, but maybe it feels like something that can be done separately?


Defect: Font size changes not persistent for the main page body

reformatted #35
Defect
@suthitthazin

When the text size is changed, the change does not persist to other pages, specifically in the main bodies of the pages (the text in the header and the footer does change). steps to reproduce bug:

Inspect element on the main text body in one of the lab pages, take note of the font size.
Click on either 'Text+' or 'Text-' button.
Take note of the font size again, you'll see it has changed.
Navigate to another page (another page in the same lab will be easier to compare).
Inspect element again and you'll notice the font size is still the initial size and not the changed size.

Acceptance Criteria

[ ] Font size changes are persistent
[ ] Everything works as intended

@suthitthazin

 this is not working correctly as intended (in editPage.js)

Correction would likely be completed in a broader overall footer component/website update. Will continue development with @notcruz at a later date.

To add onto @dm9965 , one reason that the text doesn't update is that it relies on the footer to be rendered. During an exercise, the footer is hidden, so a render doesn't occur. In the reading component, the text is fetched from the server, so the updating of the text occurs during the fetch when the text hasn't been rendered/loaded.
We can repair the issue, but it would require a good amount of modification. I believe it would be better if we wait until a new design is proposed for those tools (+, -, color change). I have an idea for this, so I think we should wait until then.

@dm9965 @notcruz sounds good im going to close this issue for now
thanks for looking into it


Update doc

Automated changes by create-pull-request GitHub action

@maxxfrazer This is a test PR by the bot, I'll close it, sorry about that.


bug: RC Data problem with pharmacy

Bug Definition
Wrong data opens when clicked on pharmacy
-- Please add discord contact information
** discord username: Ceyhun Yıldız#6679
## Bug environment
rc.afetharita.com
Describe how you are producing the bug step by step
problem pharmacy id's with lack of detail as follows
121207
121214
121230
121264
121269
121277
121290
121323
121327
121331
problem pharmacy id's with code information as follows
120103
120111
Expected Behaviour
pharmacy detail
Screen shots

Desktop Information

Operating System: [for example iOS]
Browser [for example, safari]
Version [for example 22]

Mobile Phone Information

Devıce: [for example iPhone6]
Operating System (with the version): [for example iOS8.1]
Version [for example default browser, safari]
Browser Version [for example 22]

Additional Context
Add any other context about the bug here

I am not sure about supporting html injection.

this issue was backend related and fixed now. you can check it again now @sevilayerkan @CyhnYldz

Hi.
problem pharmacy id's with code information as follows
120103
120111
fixed but
problem pharmacy id's with lack of detail as follows
121207
121214
121230
121264
121269
121277
121290
121323
121327
121331
still reproducable. when you click on tem we still have nan response

I am going to take a look at this. Thanks for reporting it.

Not fixed "non" elements are still in data and visable With #991
problem pharmacy id's with lack of detail as follows
121207
121214
121230
121264
121269
121277
121290
121323
121327
121331
still reproducable. when you click on tem we still have nan response

HTML codes came back
problem pharmacy id's with code information as follows
1545879
1545887

Also there is problem with some ahbap data


[ios/objc] InteropTest refactoring update to support flaky repeat runs

Updating the rest of Interop test suite to support using flaky repeat runs via GRPCTestRunWithFlakeRepeats (https://github.com/grpc/grpc/pull/30231).
Change Summary
All interop test cases shared for local (planin txt / ssl) and remote

no test logic changes except that we are now running the test through GRPCTestRunWithFlakeRepeats test block.
test timeout now updated to using GRPCInteropTestTimeoutDefault to enable us to fail fast in scenario of a network hang.
testConcurrentRPCsWithErrors not updated as it is already implemented with retrier

Test & Verify
Verify kokoro bazel objc test are green

https://github.com/grpc/grpc-ios/issues/107
CC @HannahShiSFB  @jtattermusch

all interop tests now passing in sample run (https://source.cloud.google.com/results/invocations/daed17df-e6b6-4fdd-a39c-d79c69805f50/targets/grpc%2Fcore%2Fpull_request%2Fmacos%2Fgrpc_objc_bazel_test/log)

all objc bazel test now green. merging


chore(main): release 1.1.6

:robot: I have created a release beep boop
1.1.6 (2024-07-16)
Bug Fixes

missing , (7948c78)
path relative to repo root? (eef730b)
use a custom rockspec template (a13611a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/benlubas/neorg-se/releases/tag/v1.1.6 :sunflower:


After importing with tab it add }

VS Code Version: 1.86.2
OS Version: Kali Linux (latest on 23.02.2024)

Steps to Reproduce:

import something as shown on the video

https://github.com/microsoft/vscode/assets/39565703/893be2a5-b6c9-4084-b62e-dfb59be0ccf4

/duplicate of #204037

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


iOS: Credentials navigation bar is too short

Compare to the Account Info screen:

This is a perplexing one.  The navigation bar is shown in compact appearance form on iPhone, but not on iPad.  The compact appearance changes to normal appearance on iPhone when rotated to landscape then back to portrait.

I'm pretty sure that this is a UIKit bug, but not 100% sure.  This seems to happen consistently when using a modal to present a modal.
I've implemented a custom navigation controller to force the navigation bar to always be 64px instead of the 56px that it can be when initially shown on an iPhone, modal in modal.  This works around the problem that we are currently experiencing, but might not always be necessary on future versions of iOS.


Implement "feature"

While we're at it, this might be a good place to make sure we can handle all the projections supported by Geomark in a way that's reusable with all the other methods.

This has been sketched in, along with the other api methods with the exception of COPY and CREATE. I suggest we pause on this while we come up with a general strategy for fetching/transforming request data.

Closing this for now


Typing "G" on signs or in chat causes menu to open

Just go in singleplayer world and try to type /gamemode

Looks like you're using the first beta. This was fixed in the second

Looks like you're using the first beta. This was fixed in the second

Awesome

Awesome


579 susan/sampleselection

Description
WIP - This PR implements the UI and logic for sample selection to be used for comparison on the visualization feature(and other features), would be merged when it is ready to be used.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix a feature that knowingly causes existing functionality to not work as expected)

Test and Reproduce
Outline the steps to test or reproduce the PR here.

Impacted Areas in Application
List general components of the application that this PR will affect:
Which pages?

[ ] Login Screen
[ ] Single Upload Page
[ ] Batch Upload Page
[ ] All Projects Page
[ ] Sample Details Page
[ ] Report Page

Specific components

Testing Script:
###Login Page

Successfully login to the application and get taken to the project page

###Single Upload

Using an AWS path that doesn't exist throws an error
Succesfully uploaded files from a folder (use test host)
Uploading a duplicate file throws an error
Pipeline gets initiated successfully

###Batch Upload

Using an AWS path that doesn't exist throws an error
Succesfully uploaded files from a folder (use test host)
Navigate to batch upload settings page after upload
Host selection from previous page still selected
Uploading a duplicate file throws a warning
Pipeline gets initiated successfully

###All Project Page

Switch between projects
Search for a sample
Navigate through different pages of samples
Select Upload new sample button
Select sample to see generated report

###Sample Details Page

Information is consistent from Project Page
Notes are editable and save successfully
Can navigate to report page

###Report Page

Data loads succesfully
Collapse and Uncollapse button works
Clicking on the taxonomy name gives you total reads for that taxon
Category filter works
Genus Search works
Filters work as expected
Disabling Filters works
Filtering by column works

Checklist:

[ ] I have run through the testing script to make sure current functionality is unchanged
[ ] I have done relevant tests that prove my fix is effective or that my feature works
[ ] I have spent time testing out edge cases for my feature
[ ] I have updated the test script or pull request template if necessary
[ ] New and existing unit tests pass locally with my changes

For when I hook this up to the visualizations, I didn't see any ui elements in the code to transition from selecting the samples to the actual visualization?


Fixed spelling error: moree -> more

cc: @BillWagner
Summary
Fixed spelling error: moree -> more

Thanks for fixing this, @jongalloway!


None is not supported in input_shape [bug]

In the new release v2.0.1, None is not supported in input_shape, while None is must-have for a fully-convolutional network. Below is an example
>>> model = Sequential()
model = Sequential()
>>> model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(3, None, None)))
)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/nfs/isicvlnas01/share/anaconda/lib/python2.7/site-packages/keras/models.py", line 422, in add
    layer(x)
  File "/nfs/isicvlnas01/share/anaconda/lib/python2.7/site-packages/keras/engine/topology.py", line 528, in __call__
    self.build(input_shapes[0])
  File "/nfs/isicvlnas01/share/anaconda/lib/python2.7/site-packages/keras/layers/convolutional.py", line 125, in build
    raise ValueError('The channel dimension of the inputs '
ValueError: The channel dimension of the inputs should be defined. Found `None`.
>>> print keras.__version__
print keras.__version__
2.0.1

Your problem is the order of input_shape. You assume channels come first, but whether channels come first or last depends on the configuration in $HOME/.keras/keras.json. See https://keras.io/backend/.
If your image_data_format is channels_last, your input_shape should be (None, None, 3).

Nope. I use theano backend, and the order should be ( 3, None, None ).

Tried your code and works for me on Theano. Double check the ordering actually loaded in keras.
import keras.backend as K
print(K.image_dim_ordering())

'th'

Cheers

Just realized I gave you the old API.
import keras.backend as K
print(K.image_dim_ordering())
print(K.image_data_format())

th
channels_first

Thank you. As you both said, the image_data_format caused my error. The real problem is that I did not notice that my keras.json is need to update for the new version, because image_data_format is not in a 1.x version.


Structured concurrency: Updates from review #1

Updates form first review

Only remaining pending question is:

what do we do with: Task.withCancellationHandler -- should we move it to top level as well?  We'd spell it as withTaskCancellationHandler WDYT? @airspeedswift @jckarter

I would also suggest doing:
group.spawn -> Task.Spawned<T, Failure>

extension TaskGroup {
  Spawned {
    let successfully: Bool
    let handle: Task.Handle<T, Failure>
  }
}

since then it is just a single API to handle both:

did we add?
cancel this specific task
wait for this specific task

I don't think that having spawn return a more elaborate return value is much better than returning Bool—you still have the problem of wanting to ignore the return value most of the time, and it then being easy to forget to pay attention to it when you need. Being able to get a Handle to child tasks also strikes me as an anti-feature, since it creates the "two classes of Handle" problem where some handles implicitly blow up and start trapping if you access them out of scope, and it also enables unstructured use of the handle within the group.


QR code capture on smaller devices with GoPro camera

In lieu of a observation framework GitHub repositry we are raising this issue here as this may have impact on the mezzanine content.
While testing QR code capture across a range of devices, frame rates and resolutions using the mezzanine content we have found issues when capturing with a GoPro from small screen such as a mobile phone, an iPad and a laptop. Would it be possible to re-run the previously shown demo against a mobile phone rather than a TV to help quickly confirm if changing to a better camera will overcome this issue? If it will we can quickly move onto a better camera.
The table below shows a subset of tests that we have run and indicates that the percentage of QR codes that we were able to decode.
  |<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>-- | -- | -- | -- | -- | -- | --
TV | 100% | 100% | 100% |   | 100% | 100%
Laptop (dark room  with careful light adjustment and settings) | 59.00% | 51.10% | 54.94% | 100.00% | 99.80% | 99.60%
iPad(dark room with careful light adjustment and settings) |   |   |   | 0% |   |
Phone(dark room with careful light adjustment and settings) |   |   |   | 0% | 0% |

Here are the results from playing 30Hz mezzanine streams on an Android tablet with VLC with the camera being a Sony RX100M2 recording at 50Hz. Streams 00000 to 00012 correspond to mezzannine streams A1 to L1 respectively.

00000.MTS – 100% detected/played
00001.MTS – 3 frames not captured well by the camera + 1 dropped by the player
00002.MTS – 100% detected/played
00003.MTS – 100% detected/played
00004.MTS – 3 frames not captured well by the camera + 1 dropped by the player
00005.MTS – 3 frames not captured well by the camera + 1 dropped by the player + 2 first frames not played
00006.MTS – 1 frame not captured well by the camera
00007.MTS – 1 frame not captured well by the camera
00008.MTS – 2 frames not captured well by the camera + 4 first frames not played
00009.MTS – no content recorded
00010.MTS – 1 frame not captured well by the camera + 3 first frames not played
00011.MTS – 1 frame not detected by the script
00012.MTS –  1 frame not played

(from @nicholas-fr )
Overall, only 1 detection issue with the script.
And a few detection issues as the frames were not quite captured clearly enough by the camera, possibly as it was recorded in 50fps.
Here’s an example. Other instances were generally slightly worse than this (more faded).


refactor dm3/dm4 || jpg inputs

currently there's two groups of files within the 2D workflow. The dm files, and the others.
This causes many problems and ugliness. Want: single list of files.

completed, tested and running in QA / dev


build: reduce renovate spam

Allow renovate to automatically merge certain dependency updates (patch and minor bumps to dev dependencies; pinning dependencies, and lock file maintenance) without even creating a PR. This should reduce many of the notifications.
Renovate will check that all CI jobs pass before attempting to merge. I've added a new CI job that will fail build/test/lint/typecheck as normal, but will also fail if the built scripts would be changed in any way. This ensures that we don't let Renovate automatically merge updates to dev dependencies that cause changes in production (e.g. babel). In case of failures, Renovate will open a real PR instead.
We'll still get real PRs in the following cases:

Major bumps to dev dependencies (on weekends)
Any update to prod dependencies (on weekends)
Any dev patch/minor which causes a change in the userscripts or otherwise fails CI (could happen during the week)

The reason I didn't go with grouped updates is because of the issues we've already faced with node-fetch and because the whole group is one big commit, meaning that if anything goes wrong, we'd have to revert all updates only to re-apply them later on again. Grouping is a good way to reduce spam, but allowing renovate to automerge when it is safe to do so just by merging branches without creating PRs will reduce it even more.

Well I'm not sure it'll work, but we'll find out soon enough :)

It worked, sort of. Renovate basically immediately created the branches and commits for the two pending updates, without creating a PR. CI ran on both branches and renovate now states that the updates are "awaiting status checks" (which in this case really means that it's awaiting the next run of renovate on this repository). It'll take another few iterations since it'll have to rebase a couple of times, but it should work. The only potential problem could be that pushes to main require certain status checks to be completed, but it's running those status checks anyway.
However.. it's running those checks through a different workflow, so it might still fail.
Also, for some reason CI is skipping the check to see whether userscripts are being changed, so that has to be fixed too.

It worked! Took some debugging though. But no more spam!


[PDI-15898]   Salesforce Input Step "Get Fields" button returns wrong…

… field names when using custom SOQL query

Do not duplicate fields
Fixed to the same behavior as Axis - Salesforce SOAP Api sends IDs always in the response, even if we don't request it in SOQL query and the id's value is null in this case. So, do not add this Id to the fields list
Unit tests

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f plugins/salesforce/build.xml clean-all resolve jacoco && ant -f plugins/salesforce/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  plugins/salesforce/src/org/pentaho/di/ui/trans/steps/salesforceinput/SalesforceInputDialog.java
  plugins/salesforce/test-src/org/pentaho/di/ui/trans/steps/salesforceinput/SalesforceInputDialogTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.trans.steps.salesforce.SalesforceStepDialog

Complexity Change:  + 28.57%
Instruction Change:  + 9.76%
Line Change:  + 11.76%
Method Change:  + 66.67%

org.pentaho.di.ui.trans.steps.salesforceinput.SalesforceInputDialog

Branch Change:  + 10.00%
Complexity Change:  + 9.09%
Instruction Change:  + 2.37%
Line Change:  + 3.06%
Method Change:  + 19.23%

@mbatchelor @bmorrise @e-cuellar  can you please take a look?
thanks.


Completely wrong implementation of From in impl_array_newtype

    NO, NO, NO, NO, NO!!!! This is completely wrong implementation of `From`. Should've been `TryFrom` or `From<[$ty; $len]>`

Originally posted by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1293#discussion_r1001724546

This would be a dramatic reduction in ergonomics, because it forces people to .unwrap() slices that they know full well have the correct length.

cc https://github.com/rust-bitcoin/rust-bitcoin/pull/1223 for an example of what this looks like. (Which, ok, if this this the direction the Rust ecosystem is going in, I won't fight it. But there are dramatically more .expects now with the stdlib API than there were with mine.)

Correctness > ergonmics IMO. You find it obvious that the size is correct but someone else somewhere misses it and gets DoS vector. I suggested to implement From for arrays which may help at least in some cases.
But maybe I shouldn't even argue about this since panicking breaks the contract of From:

Note: This trait must not fail. The From trait is intended for perfect conversions. If the conversion can fail or is not perfect, use TryFrom.

Also if try_into().expect() is too annoying I wouldn't be opposed to a method like unwrap_from_slice that is documented to panic on invalid length. It's mainly that from MUST not.

there are dramatically more .expects now with the stdlib API

This may be an indicator that we do something else wrong and we should think twice about that.

there are dramatically more .expects now with the stdlib API

This may be an indicator that we do something else wrong and we should think twice about that.
@Kixunil

I didn't think of that, the stdlib API usage code I wrote is horrible. I'll add investigating if it can be done more cleanly to my todo list.

We're allowed to break the contract if the user breaks it first. Giving an incorrectly sized slice is a breach of contract.

This may be an indicator that we do something else wrong and we should think twice about that.

No, it's an indication that Rust's support for slices with obvious and known-at-compile-time sizes is severely lacking, and we have to compensate with panics that we hope will be optimized away.

Giving an incorrectly sized slice is a breach of contract.

It is not, From doesn't require any property of the value that is not mandated by the type of the value.

it's an indication that Rust's support for slices with obvious and known-at-compile-time sizes is severely lacking

That is also sometimes the case. I tried playing with slice patterns but concluded it's currently unusable for our use case. However panicking must be clear at the caller site, not hidden inside something that's generally expected not to panic.


Split VersionRangeResolveIntegrationTest

Previously the whole class includes 300+ iterations and sometimes runs >8 min. Now we split it into 3 classes.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build cancelled.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

OK, I've already triggered a build for you.


Login - Keyboard doesn't popup after going back to login screen on Android app

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

Action Performed:

Input any email on Login screen
Tap Continue
Tap Go back
Tap email and try to change email

Expected Result:
Keyboard pops up and user can change email
Actual Result:
Keyboard doesn't pop up, email is not focused.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/236636192-057056d4-50b1-462c-bb55-50cd41c42562.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

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

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

Ya it looks like the "Phone or email" field doesn't get auto-focused, which is probably why the keyboard doesn't open 🤔

Caused by https://github.com/Expensify/App/pull/17878, confirmed by reverting locally

Verified that this was fixed in 1.3.11-4, which as of now has finished deploying on all platforms except iOS.
https://user-images.githubusercontent.com/47436092/236961389-2a2425b3-f56a-41eb-8ab3-538ed3dcec8d.mp4


Blurred BG disappears when app enter background

1- A formsheet with native blurred BG is shown
2- The application enters background (e.g. home button pressed)
3- The application becomes active again
4- The native blurred background disappears

1+

+1

+1

As temporary fix I was able to solve with these lines in my AppDelegate

(void)applicationWillEnterForeground:(UIApplication *)application {
if ([MZFormSheetController formSheetControllersStack].count>0){
[[MZFormSheetController sharedBackgroundWindow] setHidden:YES];
[MZFormSheetBackgroundWindow showBackgroundWindowAnimated:NO];
}
}

Please note that showBackgroundWindowAnimated method is private, so you need make it public somewhere (I've put these lines in AppDelegate.m)
@interface MZFormSheetBackgroundWindow(Hack)
+(void) showBackgroundWindowAnimated:(BOOL)animated;
@end

Fixed

The issue is not resolved yet:
1- A formsheet with native blurred BG is shown
2- The application enters background (e.g. home button pressed)
3- The application becomes active again
4- The application enters background (e.g. home button pressed)
5- The application becomes active again
6- The native blurred background disappears

Fixed


chore: Remove updateAndReturn and start to rely on updateById

Description
PR to remove updateAndReturn and instead start relying on updateById repository method. Both of these method is doing the similar op, hence the cleanup. Also on pg branch updateAndReturn needs to be fixed if we want to keep supporting both the methods hence the cleanup approach is taken.
Automation
/ok-to-test tags=""
:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[x] No

Summary by CodeRabbit

Refactor

Replaced updateAndReturn method with updateById for updating tenant configuration.

Bug Fixes

Improved the way tenant configurations are updated to enhance reliability and maintainability.

Closing this as we fixed the issue on pg branch. We will take up separate refactor for reducing the dependency on updateById method which updates the DB object based on the resource instead of UpdateObject.


Auto-hiding the sidebar

I am trying to configure RTD in such a way that the sidebar/sitemap is automatically hidden when a page is loaded, regardless of the page width (if you make your browser very narrow this happens anyways). Is there a theme option to make this happen?

To answer, I don't believe we have an option for this, but it's definitely
something we would consider adding.
On Wed, May 27, 2015 at 3:30 PM, Greg Kiar<EMAIL_ADDRESS>wrote:

I am trying to configure RTD in such a way that the sidebar/sitemap is
automatically hidden when a page is loaded, regardless of the page width
(if you make your browser very narrow this happens anyways). Is there a
theme option to make this happen?
—
Reply to this email directly or view it on GitHub
https://github.com/snide/sphinx_rtd_theme/issues/201.

--
Eric Holscher
Maker of the internet residing in Portland, Oregon
http://ericholscher.com

There is not an option for this behavior. You could override this with some custom css and javascript though. I'd be -0 on providing this as part of the desktop display of the theme.

Duplicate of https://github.com/rtfd/sphinx_rtd_theme/issues/336


Computer icon functionality

what do?

@danielsmc I've got the computer and printer icons rigged up. If you could whip up some JS to play sounds ala the alert dialog, I can supply MP3s for CD, Floppy, and Zip drives.


Deprecate modern browser detection.

The bullt-in browser detection was never that good, as is really hard to keep up with new updates. A better approach would be having something like browserlist and its last 2 major versions kinda thing.
If you still want to detect whether a browser is modern or not, create your own helper method to abstract the rules. If this is something the community really want, I recommend creating a gem (e.g. browser-modern that can be better maintained as a separate project.
Here's an example of helper method:
# Expects an Browser instance,
# like in `Browser.new(user_agent, accept_language: language)`.
def modern_browser?(browser)
  [
    browser.chrome? && browser.version.to_i >= 65,
    browser.safari? && browser.version.to_i >= 10,
    browser.firefox? && browser.version.to_i >= 52,
    browser.ie? && browser.version.to_i >= 11 && !browser.compatibility_view?,
    browser.edge? && browser.version.to_i >= 15,
    browser.opera? && browser.version.to_i >= 50,
    browser.facebook?
      && browser.safari_webapp_mode?
      && browser.webkit_full_version.to_i >= 602
  ].any?
end

The methods Browser.modern_rules and Browser::Base#modern? will be removed on the next major release, or by June 1st 2020, whichever comes first.

Seems fair. Our use of #modern? was always in the inverse and as a heuristic to inform our support team, not a mechanical switch for site behaviour.


2024-10-25_01-35-01_master-next_python3-boto3

Automatically created.

Backport failed for kirkstone-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin kirkstone-next
git worktree add -d .worktree/backport-10195-to-kirkstone-next origin/kirkstone-next
cd .worktree/backport-10195-to-kirkstone-next
git switch --create backport-10195-to-kirkstone-next
git cherry-pick -x bc0900b1bef770e03ab1c582260962adbecbaf28

Backport failed for scarthgap-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin scarthgap-next
git worktree add -d .worktree/backport-10195-to-scarthgap-next origin/scarthgap-next
cd .worktree/backport-10195-to-scarthgap-next
git switch --create backport-10195-to-scarthgap-next
git cherry-pick -x bc0900b1bef770e03ab1c582260962adbecbaf28

Backport failed for styhead-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin styhead-next
git worktree add -d .worktree/backport-10195-to-styhead-next origin/styhead-next
cd .worktree/backport-10195-to-styhead-next
git switch --create backport-10195-to-styhead-next
git cherry-pick -x bc0900b1bef770e03ab1c582260962adbecbaf28


Create a new release?

@hcarty Would you mind to create a new release, based on the latest master version?
Currently, all release tarballs including 0.10.0 can't be built with dune, but luckily the current master version is already upgraded to be used with dune. Having that as a release tarball would simplify packaging.

Hi @vog! I’m not actively using or maintaining these bindings any longer. If you are interested in continuing the project I’m happy to hand it over! Otherwise an update of any kind is unlikely.

Thanks for the offer! I'd indeed be interested taking over maintenance, as we are using ocaml-gdal in our company.

That sounds like a good solution. Thank you for continuing development of the bindings! I'll transfer the repo over to the new organization.

It should be transferred now! @vog once you've confirmed you have the access you need, please feel free to close this issue.
Thanks again!

I can confirm the access. Thanks for your trust. I think I'll stick to the original purpose of this issue and will close it as soon as I have successfully created a new release. I also intend to update it on OPAM as well as to create a Nix package for it.


Fix build warnings from bare trait objects

The warning is "trait objects without an explicit dyn are deprecated" and is easily fixed: https://doc.rust-lang.org/edition-guide/rust-2018/trait-system/dyn-trait-for-trait-objects.html

Thank you.


fix code rendering

Make the code render as Python.

Thank you for spotting this and submitting a fix!!


ldap can not sync user

release：1.215.0
in the built-in Organization, add ldap server

but ldap can not sync user
i can see uses,but can not sync

user table only has admin user

@tangwei0928 Hi,Casdoor will first load the ladp user into the memory. At this time, you can choose to manually synchronize to the database. After the specified time, the data will be automatically synchronized to the database. At this time, the check box is not allowed to be selected.
Please check whether the database name and table name in your app.conf are correct. By default, casdoor uses the casdoor database and user table.
I hope it can help you.

In addition, please ensure that each user has a different uid, and casdoor distinguishes different users through the uid

Still not,ladp users cannot be synchronized with built-in organization

After the specified time, the ldap data can not be automatically synchronized to the database

After the specified time, the ldap data can not be automatically synchronized to the database

Please ensure that your ladp user meets the following conditions：
User distinguishment: Casdoor's synchronization only supports those ldap users which are subclass of posixAccount(to be precise, casdoor uses (objectClass=posixAccount) to query ldap users). Casdoor uses uid to exclusively identify a user, thus please make sure every ldap user has a different uid.
detail：https://casdoor.org/zh/docs/ldap/overview

Closed as resolved


etcdctl: backup command removes data under /_etcd

Similar to the recent fix in v2.0.3 to prevent etcd-migrate from deleting /_etcd, apparently passing the same data set through etcdctl backup first causes the /_etcd key to either be removed or not created.
The etcdctl backup flow is definitely implicated, because etcd-migrate was recently fixed to not do this. When creating a single-node cluster from the etcd-migrated data incorrectly, the /_etcd key is present, containing all user data stored there. Once step 3 is added, the /_etcd key disappears.
Steps to replicate

Take a v0.4.6 snapshot.
From v2.0.3, run etcd-migrate --data-dir=snapshot --name=<name>.
Run etcdctl backup --data-dir=snapshot --backup-dir backup.
Start etcd against the backup directory and --force-new-cluster.

Expected behavior

User data under /_etcd is retained.

Observed behavior

The entire /_etcd directory does not exist, including any user data that was underneath.

I cannot reproduce this problem:
terminal 1:
$ git checkout tags/v0.4.6
$ ./build
$ ./bin/etcd --snapshot-count=10

terminal 2:
$ curl http://<IP_ADDRESS>:4001/v2/keys/_etcd/foo -d value=bar -XPUT
{"action":"set","node":{"key":"/_etcd/foo","value":"bar","modifiedIndex":3,"createdIndex":3}}

terminal 1:
^C
$ git checkout master
$ ./build
$ ./bin/etcd-migrate --data-dir=CoreOS.libcore.so.etcd -name=CoreOS.libcore.so
$ ./bin/etcdctl backup --data-dir=CoreOS.libcore.so.etcd --backup-dir backup.etcd
$ ./bin/etcd --data-dir=backup.etcd -force-new-cluster

terminal 2:
$ curl http://<IP_ADDRESS>:4001/v2/keys/_etcd/foo
{"action":"get","node":{"key":"/_etcd/foo","value":"bar","modifiedIndex":3,"createdIndex":3}}

Could you check this?

Nor can I, now, though I did twice last night. I'm not sure what changed, but this can be closed.


docs(#289): update path references to displays images

Summary
Updated the path references to the PNGs in the overview.md and certificate-issuing-overview.md
Release Note

Only documentation changes.
Documentation

Open the overview.md and certificate-issuing-overview.md files in Github or in the preview mode locally to see the images.

This PR isn't required since the end goal is to publish it to the website rather than MD in this repo.


Add proposal: "Overridable Members in Extensions"

This received minor positive feedback and no negative feedback on swift-evolution. It also has ABI implications on Linux (see implementation plan).

Where can I find the implementation plan?

Good point, the "Detailed Design" section is a little weak. I'll try to fill it out soon.

The core team discussed this today, and the design/implementation effort here is larger than can be reasonably expected to happen in Swift 3. Please re-submit the PR when we start talking about what comes after Swift 3.


Fix or explain tests/data/cache

Having pulled the latest changes from master, and running the tests without remote-data, the repo contains 63 new, uncommitted files in test/data/cache (as distinct from pandasdmx/tests/data). The 63 files in tests/data/cache add up to 256 MB.
What's going on here?

As the directory name indicates, this is a 'cache' for 'test' 'data'.
When doing the --remote-data tests, the network access can be a slow step, so the (already existing) requests-cache feature is used within the test suite to cache the return values. This saved a lot of time in developing the full IM implementation, and also let me inspect the cached version of the server's response to see the different variants of SDMX-ML messages.
Some other points/implications:

The 'tests/' directory is moved to 'pandasdmx/tests/', the standard location. This means that .gitignore now excludes 'pandasdmx/tests/data/cache' (the current location), but doesn't mention 'tests/data/cache/' (the old location). So you're seeing the cache created while running the old tests.
Because it's a cache, it can be safely deleted at any time.
Because it's not in the repository, there is no cache when the Travis CI builds begin, and so the daily 'cron' build always fetches fresh data from the remote source.
Because this is only within the test suite, no cache is created for normal usage in user code unless the user asks for it.

I hope this clarifies!

If reading the code was not sufficient to reveal this, we can add comments/docstrings within the test suite to make it clear.
Please close the issue if the question is answered.

To follow up:

Shouldn't the Cache live in the new Location, i.e. pandasdmx/Tests/data/Cache rather than Tests/data/Cache?
gitignore should be adapted to ignore the Cache wherever it sits.

Shouldn't the Cache live in the new Location, i.e. pandasdmx/Tests/data/Cache rather than Tests/data/Cache?

Yes, it does. The key part of my last comment was the phrase: "So you're seeing the cache created while running the old tests."
The path that is used (now and in the future) is relative to the current tests location: https://github.com/dr-leo/pandaSDMX/blob/c578985ac97ab358c3866de0763e2db6b580c327/pandasdmx/tests/test_sources.py#L105-L111
I realize I made a typo above, so the directory is 'pandasdmx/tests/data/.cache', with the leading dot…

gitignore should be adapted to ignore the Cache wherever it sits.

…so it is ignored by this line in .gitignore: https://github.com/dr-leo/pandaSDMX/blob/c578985ac97ab358c3866de0763e2db6b580c327/.gitignore#L4
The top-level 'tests' directory no longer exists, nothing uses it, and nothing will be created there. You can safely delete it entirely and it will not be recreated.

I forgot to Mention that I run the test Suite issuing one of the
following commands:

pytest
pytest --remote-data

Based on your last bullet Point, the Cache should not have been
created on my box in the first place.
I even don't know off Hand how to instruct the test Suite to Cache
remote Responses. So there might be another reason for populating the
Cache.
Rethinking package layout, I agree it is better to store the Cache at
top Level rather than within the test Suite. But I think there should
be a single dir, not three nested Levels. At least this should be
documented for 1.0.0.
On 06/04/2020, Paul Natsuo Kishimoto<EMAIL_ADDRESS>wrote:

Shouldn't the Cache live in the new Location, i.e.
pandasdmx/Tests/data/Cache rather than Tests/data/Cache?

Yes, it does. The key part of my last comment was the phrase: "So you're
seeing the cache created while running the old tests."

The path that is used (now and in the future) is relative to the current
tests location:
https://github.com/dr-leo/pandaSDMX/blob/c578985ac97ab358c3866de0763e2db6b580c327/pandasdmx/tests/test_sources.py#L105-L111

I realize I made a typo above, so the directory is
'pandasdmx/tests/data/.cache', with the leading dot…

gitignore should be adapted to ignore the Cache wherever it sits.

…so it is ignored by this line in .gitignore:
https://github.com/dr-leo/pandaSDMX/blob/c578985ac97ab358c3866de0763e2db6b580c327/.gitignore#L4

The top-level 'tests' directory no longer exists, nothing uses it, and
nothing will be created there. You can safely delete it entirely and it will
not be recreated.

--

You are receiving this because you authored the thread.

Reply to this email directly or view it on GitHub:

https://github.com/dr-leo/pandaSDMX/issues/152#issuecomment-609655660

Based on your last bullet Point, the Cache should not have been created on my box in the first place.

That's not what I meant by:

Because this is only within the test suite, no cache is created for normal usage in user code unless the user asks for it.

To reiterate and explain in more detail:

Running the data source tests (with --remote-data) always creates a cache. The code I linked to at https://github.com/dr-leo/pandaSDMX/issues/152#issuecomment-609655660 is always run for these tests, because it is part of a fixture used by these tests. So it was created when you ran the tests previously.

For an ordinary user of pandaSDMX, who only installs the package to use it and does not choose to run the tests ("normal usage in user code"), no cache is created. The user must:

install requests-cache, and
explicitly give the arguments when creating their Request object.

In this case, they can put the cache wherever they want, or wherever requests-cache defaults. pandaSDMX never overrode or pre-empted this, so there's no change in behaviour.

Per (1), we don't have developer guidelines or documentation yet, but I'd be happy to add some after 1.0 is release. I've aimed to make the code readable for anyone who has the pytest documentation.

Got it.
Assuming that requests-cache stores files automatically in Tests/data/Cache rather than pandasdmx/Tests/data/Cache, I would still add the Location to gitignore.
However, that assumption seems not very plausible.
Never mind. I'll Change gitignore and commit to master. If you Need a PR, feel free.


Java language support

This is a great start, thanks for your patience.

This is a great start, thanks for your patience.


Add node.js support - Instrumentation and code object discovery for endpoint

According to the package.json spec:

If you don't plan to publish your package, the name and version fields are optional.

That means that we can't rely on there being a name property for web apps, microservices, and other types of projects. Without the name, we can't reliably differentiate different packages in the run time environment or in certain dev environments (such as monorepos).
For now, the instrumentation will require the name property to be set. This will be documented in the README. In the future, we might want to consider alternatives, such as an optional .digma.json file with a name property.
It's important to note that the name has to be statically defined in a file that can be found deterministically in both dev and run time environments at the root of the project. We can't assume that the directory containing the code in the dev environment will be the same as the directory from which the code is executed at run time.


Support execution of AutoML Vision models

This PR changes the execution logic in the converter in order to enable execution of models produced by Cloud AutoML Vision.

Push the errors for unknown dtypes and unknown operations at run-time, instead of graph parse-time, since the subgraph that we want to execute (as defined by the (inputs, outputs) pair) may not need those operations at all. In this case, it doesn't need DecodeJpeg since we are providing already decompressed normalized image into the execute() method. It also doesn't need uint8 dtype to be supported by TF.js.
Add model analysis utilities that can compute the minimal set of nodes needed to compute an output.
To make the converter pass, instead of erroring, skip serialization of string weights. Filed https://github.com/tensorflow/tfjs/issues/1598 to track that.
Fix a bug when parsing numeric attributes that are 0 or empty string ('').
Since now we are analyzing the sub-graph before execution, improve error messaging:

Warn when the user calls executeAsync() but the execution subgraph didn't contain any dynamic ops.
Error when the user called execute(), but we ran into a dynamic op along the way. Also offer a suggestion for an alternative input so the dynamic ops are excluded.
Error when the inputs are not sufficient to compute this particular output, and mention which exact inputs are missing.

Accept --skip_op_check (no need for =True suffix) as a valid flag to be consistent with other binary flags such as --split_weights_by_layer.

Few notes about the AutoML Vision graph:

The graph has 9 placeholder ops, which our heuristic identifies as inputs, but the metagraph info gives a different input. This will be addressed in a future PR.
The graph also has several dead-end ops which our existing heuristic identifies as outputs. The correct output node ("scores") is provided in the meta-graph info, so we should use that instead. In fact the "scores" node doesn't get identified as an output by our existing heuristic because it is not a leaf node (it goes into other auxiliary nodes). This will be addressed in a future PR.

With this PR in place, the converter will successfully convert an AutoML model when the --skip_op_check is provided, and the following subgraph is executed in js:
const img = ... // 1x224x224x3
let scores = model.execute({'map/TensorArrayStack/TensorArrayGatherV3': img}, 'scores');

This change is

Brought back the Enter op with isConstant check and also brought back the private processStack so the PR diffs is cleaner.
I didn't bring back the parallel stack execution change since I didn't see any speed different in the demo/control_flow, in order to get safer and avoid the runtime error when executing the control flow pieces of the AutoML graph.

I brought back the parallel stack execution since I can't reproduce the bug I was seeing after bringing back the Enter/isConstant check.


java frontend does not allow parallel execution

The following lines run the fuzz introspector frontend for java:
https://github.com/ossf/fuzz-introspector/blob/07dcb185e20b583d5c96b90031980c81f7bb7e60/frontends/java/run.sh#L131-L135
In the case where a project has a lot of fuzzers it can take a bit of time to process all of the fuzzers, and it would be great to have some form of parallel execution in the above loop.
We could use a similar approach as the coverage runner in oss-fuzz:
https://github.com/google/oss-fuzz/blob/d253560ffd5611b136b81b183a72715f22a990a8/infra/base-images/base-runner/coverage#L367-L372

@arthurscchan could you take a look at this?

As pointed out by @arthurscchan we should update things here https://github.com/ossf/fuzz-introspector/blob/main/frontends/java/oss-fuzz-main.py#L109

Am closing this. SOOT has some issues with having multiple processes analysing a .jar file it seems. Performance gains were found elsewhere.


[Documentation] Amplifying refreshFn usage

When creating a new connection on JSForce, a parameter can be passed along to the connection options that reflects logic that refreshes a connection's access token when expiring.
In the case of using a JWT server-to-server OAuth flow, the existence of a refresh token is nullified as it cannot be used, thus it cannot be passed on to the connection instance for auto-refreshing from the library itself. Therefore it is obligatory to refresh the access token every now and then via the same flow.
There is little to none documentation about how the refreshFn function works, I've investigated on how the inner works for this function are inside the library so I thought I'd give a little more insight from my behalf on how I solved this for our organization facing this issue where our session would die out after the access token expired, causing a bad implementation of this function to cause issues similar #356.
JWT OAuth Flow
Salesforce allows the usage of signed JWTs for authorizing users into an organization. In contrast of actual OAuth flows for users (such as username:password flows or clientId:clientSecret) this flow makes use of x509 certificate signed tokens to authorize access, while keeping scope permissions on the app's side. Documentation for this can be found here.
An integration for this type of authorization would be as follows (Typescript):
import { sign } from 'jsonwebtoken';

const payload = {
  iss: '3MVGxxxxxxxxxxxxxxxxx',
  aud: 'https://login.salesforce.com/',
  sub<EMAIL_ADDRESS>  // 1 month expiry
  exp: Math.floor(Date.now() / 1000) * 30 * 24 * 60 * 60,
};

const token = sign(
  payload,
  // Decode the private key from base64.
  Buffer.from('privateKeyInBase64', 'base64').toString('utf-8'),
  { algorithm: 'RS256' },
);

const { access_token, instance_url } = await authenticateWithJwt(
  token,
  domain,
);

With a signed JWT following Salesforce's official documentation on the flow, one can send this token for Salesforce to authorize the request and return an access token.
This is a manual implementation for this call:
/**
 * Performs an OAuth 2.0 flow with Salesforce to authenticate the application using JWT.
 *
 * @param {string} token The signed JWT token to authenticate with.
 * @param {string} domain The domain to use (production or sandbox URLs)
 *
 * @return {Promise<SalesforceAuthResponse>} The response from the OAuth token API.
 */
async authenticateWithJwt(
  token: string,
  domain: string,
): Promise<SalesforceAuthResponse> {
  try {
    const { data } = await axios<SalesforceAuthResponse>({
      method: 'POST',
      url: `${domain}/services/oauth2/token`,
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
      },
      data: stringify({
        grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
        assertion: token,
      }),
    });

    return data;
  } catch (e) {
    this.logger.error(
      `Failed to authenticate with JWT! ${
        e?.response?.data ? JSON.stringify(e.response.data) : e
      }`,
    );

    throw e;
  }
}

domain is either the generic production or sandbox environment on Salesforce (https://login.salesforce.com for production or https://test.salesforce.com for sandbox). After a JWT is sent to Salesforce and authorized, a response from the API should be as seen in their documentation. If need be, access to JWT OAuth flow is detailed on top of the issue.
JSForce Implementation
Once the access_token and instance_url is obtained from Salesforce, assigning it to the connection is as basic as passing it as a parameter as follows:
import { Connection } from 'jsforce';

const connection = new Connection({
  instanceUrl: instance_url,
  accessToken: access_token,
});

This is fine for a short period of calls that need to be done on Salesforce, say a request scoped class is consuming this then it would authorize itself on each call. However, there may be use cases in which one would require for the connection to persist for as long the application is running, in our case for updates and service inter-connection.
The refreshFn Function
In this case, to refresh the session JSForce has a function parameter called refreshFn that exposes this functionality and allows one to override logic for token refreshing. It's functionality is hidden within the actual workings of the library, hence I wish to use this issue as an opportunity to amplify how it works and how to use it.
Within the Connection declarations, one can find how this parameter operates.
https://github.com/jsforce/jsforce/blob/e011fc5c616e68d0c4a765fb938de8def9cd8ce1/lib/connection.js#L155-L163
It checks for the existance of a custom function being passed on and declares it for internal usage to override it. If it is present, it is passed on to the custom wrapper for HTTP calls onto Salesforce for refreshing when needed. This is what the SessionRefreshDelegate method does:
https://github.com/jsforce/jsforce/blob/e011fc5c616e68d0c4a765fb938de8def9cd8ce1/lib/http-api.js#L261-L293
It delegates token refreshing logic to whatever is defined inside the passed on function by reference, and interprets the result based on what the callback gives back onto its call. To put this into perspective, one would require to define asynchronous logic to ask for new tokens and resolve the callback with the resultant access token and emit the successful refresh.
Once a refresh event is emmited, the connection is stored again with its new parameters onto the same instance, thus providing an accesible refreshed connection from all consuming parts.
https://github.com/jsforce/jsforce/blob/e011fc5c616e68d0c4a765fb938de8def9cd8ce1/lib/cli/cli.js#L143-L146
https://github.com/jsforce/jsforce/blob/e011fc5c616e68d0c4a765fb938de8def9cd8ce1/lib/cli/cli.js#L82-L97
An Implementation
To implement a persistent refreshing using this logic, an example implementation would be as follows:

A defining function that follows the specification for the refresh function
Refreshing logic to abide by Salesforce's required JWT OAuth flow
Resolution on callback for the Connection instance to update

Following the signing process described above, the refreshing function would look like this:
const refreshFn = (
  connection: Connection,
  callback: (err: Error, accessToken: string, res?: any) => void,
): any => {
  const refresh = async () => {
    // Ask for the access token
    try {
      // Re-sign a JWT token.
      const payload = {
        iss: clientId,
        aud: domain,
        sub: userName,
        // Expire in 6 months.
        exp: Math.floor(Date.now() / 1000) + 6 * 30 * 24 * 60 * 60,
      };

      const token = sign(
        payload,
        // Decode the private key from base64.
        Buffer.from(config.privateKey, 'base64').toString('utf-8'),
        { algorithm: 'RS256' },
      );

      // Fetch a new token.
      const { access_token } = await this.authenticateWithJwt(
        token,
        domain,
      );

      // Send this back to the connection instance.
      callback(null, access_token, access_token);
    } catch (e) {
      throw e;
    }
  };

  refresh();
};

Thus having the final Connection declaration passed on to any instance that requires it would be:
const connection = new Connection({
  instanceUrl: instance_url,
  accessToken: access_token,
  refreshFn,
});

related: https://github.com/jsforce/jsforce/issues/1213
We'll keep both issues opened to make sure details are covered in the documentation update.

new session refresh section in docs:
https://jsforce.github.io/document/#session-refresh-handler


Update logitech-myharmony to <IP_ADDRESS>

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] If the sha256 changed but the version didn’t,
provide public confirmation by the developer: {{link}}

@vitorgalvao I've just noticed that "merge commit" is enabled and seems to be the default option for caskroom/drivers but the other repos have it disabled.
I merged #77 and #78 before I noticed and used "squash and merge" with this PR.

@commitay Disabled merge commits. As for the default, that’s user specific. Whatever option you used last will be the active one next time.


Significant remote file system improvements

Reimplemented inode store in separate module chansrv_xfs.[hc]
Allowed atimes and mtimes to be written to Windows side
Mapped directory/file user write bit to (inverted) Windows FILE_ATTRIBUTE_READONLY bit
Mapped file user execute bit to Windows FILE_ATTRIBUTE_SYSTEM bit
Implemented improved security for remotely mounted drives (see man sesman.ini)
Implemented USB device removal, allowing hot-plug/remove of memory sticks
Fixed pagefile.sys (etc) breaking Ubuntu file browser
Fixed write offset bug
Allowed renaming of open files
Improved reported error codes
Fixed various memory leaks
Removed hardcoded buffer sizes where appropriate
Addressed valgrind/memcheck errors related to struct fuse_file_info pointers.

This improves the remote filesystem support to a point where it can even be used to support an XRDP build, although it is necessary to disable PAM support for this, as instfiles/pam.d/mkpamrules creates a soft-link which isn't supported. I used the following commands on an Ubuntu 18.04 LTS system with the XRDP 0.9.11 release tarball:-
cd ~/thinclient_drives/C\:/Users/mjb/Documents/
tar xf ~/xrdp-0.9.11.tar.gz
cd xrdp-0.9.11
./configure --enable-pixman --enable-fuse --disable-pam
make

There are a lot of code changes here. I've tried to simplify the code where possible to make it easier to follow. A lot of private stuff has been moved out of devredir.h into other places. primarily the new includes ms-erref.h, ms-fscc.h, ms-rdpefs.h and ms-smb2.h. The separate inode store in chansrv_xfs.c is significantly faster than the previous inode store, and removes a lot of complications from the code paths in chansrv_fuse.c.

Brilliant!  You really make lots of contributions on drive redirection. I trust your QA. Let's ship it to the next v0.9.12 release.

Thanks for vote of confidence!
I've got a question for you. I've created four new includes ms-erref.h, ms-fscc.h, ms-rdpefs.h and ms-smb2.h in the chansrv directory containing definitions from the relevant MS docs. I did this to remove unnecessary definitions from devredir.h.
These includes could be merged with common/xrdp_constants.h, or alternatively some of the constants in common/xrdp_constants.h could be moved out to new files common/ms-rdpbcgr.h and common/ms-rdpegdi.h to slim it down a bit. It's just a bit of tidying up.
Let me know which you prefer and I'll put a separate PR together after Xmas.

The latter plan sounds tidy and clear which constants come from which MS document for me.
+1 to the latter.


Utilize the jackson property definition to determine additional information

Currently the isRequired property from the jackson property is ignored. There are additional properties that might be ignored as well.
Thanks to @tjuchniewicz for reporting issue #1289.

@JsonProperty and @JsonRootName aren't supported.


fix: not null constraint failed

When a player with null auth joins the room, the process exits and an SQLite error NOT NULL constraint failed: players.auth is thrown because the auth key is set as NOT NULL in the database. The included if statements fixes the issue.

thanks mert, but in what scenario the auth is null? haven't encountered that yet (room is running 24/7 in Argentina currently)

I was testing haxball.js 2.2.0 with this project. Someone joined room with a null auth, which caused the process to crash with a NOT NULL constraint failed: players.auth error because of your NOT NULL condition in SQLite database, which is quite right to have that condition. Simply changing your player_auth_key to something random in localStorage will make your auth null in every room you join. This could be a security vulnerability. Maybe @basro needs to address it, or everyone coding Haxball Headless rooms (including /headless page) will have to check for null auth's for verification. That is not something new, but problematic.

Good to know, thanks @mertushka


Include parameter facets in command log data

Related to #4952
Also, start logging facets when this is likely to provide value--e.g. log size when not default, nullable when different from nullability of type, etc.

:shipit:

Can't build anymore on Linux or OSX :-/.  https://bugzilla.xamarin.com/show_bug.cgi?id=29167


Adding Inital Client Files (Frontend Using Vite + React + Tailwind )

@bishalde As this project doesn't have any initial client side files I Would Like to add all Initial Client Side files to project .

@bishalde I want to contribute to this project. Please Assign this issue to me.

@bishalde please tell how to start and please released the issues to start working on it with the GSSOC badge

I would like to solve this issue, by  adding client files  (Vite + React + Tailwind) and by installing other packages.
Please assign this to me.


CI: Add additional project approver

Add @grahamwhaley as an additional project approver.
Fixes #43.
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

Sorry about the additional whitespace change, but I don't know how to configure my editor to be broken to not fix that issue ;)

It looks like semaphore is failing as the semaphore config has already been updated for #42, but that PR hasn't landed yet.

blame the editor eh? :-)
that semaphore thing - that is nuts. I presume we suspect some sort of caching. Guess we wait for #42 to land and retry/rebase... I'll go have a peek at that PR.
other than that...
lgtm

lgtm

seems like this will need a rebase to make semaphore happy

@chavafg - done.

gak - this looks like a crio breakage on semaphore :-(

Ref: https://github.com/clearcontainers/tests/pull/128.


chore: update example app to latest RN version 0.76.2

Related to #331
Updates example application to use latest version of react native.
Adds desugaring libraries for example app to support older Java runtimes than 17.

[ ] Tests pass
[ ] Appropriate changes to documentation are included in the PR

Pls disregard my comment, I hadn't seen the other PR.

CI build for android has some issues, I'll fix those before merging this.


Fix for JSONDecodeError while preprocessing conceptnet

The code 'obj = json.loads(fs[-1])' was giving json.decoder.JSONDecodeError while executing the command 'python3.5 src/preprocess.py conceptnet'. Minor fix to get things working.

Thanks for your contribution.
I forget to commit a local change, the fields in ConceptNet are separated by tabs instead of spaces. Already fixed in my latest commit https://github.com/intfloat/commonsense-rc/commit/1630257400c7d103aeabe29a3c014e488059a50a.


Error in fork repo pr ci

I try to fork pai repo and add #5182 pr, but the jenkins ci seems not run. @yiyione

It seems passed finally, i just made a misdeclaration.


parser error

DATA(asdf) = VALUE zfoo(
  FOR ls_sdf IN  lt_sdf WHERE ( classtype = '001' AND classnum = 'SOMETHING' )
  ( ls_sdf ) ).

fixed in https://github.com/larshp/abaplint/commit/9f63882a038603be6c279d7787eaa615eaf1fff2


Merge to main

What this PR accomplishes
Closes https://github.com/peggyjs/peggy/issues/310.
Demo deploy of site: https://camchenry.github.io/peggy/index.html
This PR adds a static site generator (https://www.11ty.dev/) to supplement the existing manually-edited HTML files. This should allow easier editing of the files in the future: adding templates, reusing common navigation elements, concatenating JS/CSS at build-time, and so on.
What approach I took and why
For the static site generator, I chose to use 11ty for a few reasons:

Not dependent on React, Vue, or any specific JavaScript framework
Supports a variety of standard content formats (HTML, Markdown, etc.) which should allow the Peggy project to migrate to another tool in the future more easily
Not much configuration required

Notably, this PR does not refactor the existing site at all, in order to make the migration simpler and ensure that the site does not regress in behavior.
Added GitHub Pages Action to deploy
To make the docs deployment more convenient, based on the workflow outlined in https://github.com/peggyjs/peggy/issues/310#issuecomment-1176777045, I created a GitHub Action which will deploy to GitHub Pages on-demand (will not deploy automatically). This workflow automatically checks out the latest docs in main, builds the static site in docs/_site, deploys it to the docs branch, which should then be automatically deployed to Pages by GitHub.
To run it, go to the Actions page and then select the workflow and click "Run workflow":

Sorry, this PR isn't ready yet! Accidentally opened it too soon 😅 will re-open it when it's ready.

@hildjj In light of our discussion, I updated the GitHub pages workflow so that it asks for a branch to deploy before running. Currently, the only choice is stable.

Then, the action will checkout this branch, build the documentation, publish to docs, then get published to GitHub Pages, and appear on peggyjs.org.

@camcherry, I like this approach.  I'll create a stable branch from the last doc change that is published.  Then I'll switch GH Pages to point to the docs directory on stable.  Then I'll clean up the docs branch.  When we're ready to release, we'll merge main onto stable, then do a release using the workflow, then re-point GH pages to / on the docs branch.  Make sense?

I've created the stable branch and moved publishing to it.  Before release, I'll clean up the docs by removing the branch (local, origin, and upstream), then:
git checkout --orphan docs
git rm -rf .

Awesome work! Need to reflect a workflow in the development docs in order to not forget it

Need to reflect a workflow in the development docs in order to not forget it

Great idea. I'll start some operational docs in the wiki tomorrow.


Solo12 integration

NOTE: This is wip and the PR is marked as draft for now.

I also suggest to rename the file names and library from solo to solo8

We can start reviewing this PR.

Sorry I need to close it and open another PR under my name.


Unable to connect to the mysql

I am unable to connect to the server once the cluster started
[root@docker ~]# docker ps -l
CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS                    PORTS                                                        NAMES
9e3a5697d2e2        colinmollenhour/mariadb-galera-swarm:latest   "start.sh node tas..."   22 minutes ago      Up 21 minutes (healthy)   3306/tcp, 4444/tcp, 4567-4568/tcp, 8080-8081/tcp, 4567/udp   galera.2.g7scv4i7rwh24day4ayh5n6n1
[root@docker ~]# mysql -h <IP_ADDRESS> -P 3306 -root -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '<IP_ADDRESS>' (111)
[root@docker ~]#
[root@docker ~]# docker info
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 26
Server Version: 17.03.0-ce
Storage Driver: devicemapper
Pool Name: docker-253:0-201594391-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 6.491 GB
Data Space Total: 107.4 GB
Data Space Available: 39.14 GB
Metadata Space Used: 11.81 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.136 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use --storage-opt dm.thinpooldev to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.135-RHEL7 (2016-11-16)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: active
NodeID: 3qhoawxkwp7wumb551kvukiiw
Is Manager: true
ClusterID: 9wdq9bz9bd2r2cir2k66tllb1
Managers: 2
Nodes: 5
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: <IP_ADDRESS>
Manager Addresses:
<IP_ADDRESS>:2377
<IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.797 GiB
Name: docker.manager.01
ID: BM4X:XGZR:6YA5:WPVA:OKOB:ON76:3KSL:GMGI:ROPV:D2TB:VWCC:BJKB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Http Proxy: http://<IP_ADDRESS>:80
No Proxy: localhost,<IP_ADDRESS>,dockerhub.gemalto.com
Username: asadyousufi
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Experimental: false
Insecure Registries:
<IP_ADDRESS>/8
Live Restore Enabled: false
[root@docker ~]#

You need to either expose the port to another interface or try connect to the docker container IP instead of <IP_ADDRESS>.


Allow to configure the which slash is used when copying a path

I often configure JSON files and then what to paste them into the launch.json file. However, on Windows back slashes are used and iI have to search and replace the back slash with forwards slash in order to still have a valid JSON file. So it would be nice if it would be possible to configure the slash used when copying a path.
I saw, that now for some time this feature exists for relative paths. So I looked at the code and it seems that only a few code changes would be needed in order to enable the feature I need.

I also like this feature, sometimes I have to search and replace \ to / after execute copy path and paste somewhere.
Maybe add a similar feature like explorer.copyPathSeparator as to explorer.copyRelativePathSeparator would be nice. I walk through the code, modify resourcesToClipboard maybe a draft solution.
https://github.com/microsoft/vscode/blob/db6bcdf309cc1565c502a54b73c33a63bdabfbd8/src/vs/workbench/contrib/files/browser/fileCommands.ts#L236-L251
---
+++
@@ -3,11 +3,15 @@
 		const lineDelimiter = isWindows ? '\r\n' : '\n';

 		let separator: '/' | '\\' | undefined = undefined;
+		let copyPathSeparator: '/' | '\\' | undefined = undefined;
 		if (relative) {
-			const relativeSeparator = configurationService.getValue('explorer.copyRelativePathSeparator');
-			if (relativeSeparator === '/' || relativeSeparator === '\\') {
-				separator = relativeSeparator;
-			}
+			copyPathSeparator = configurationService.getValue('explorer.copyRelativePathSeparator');
+		}
+		else {
+			copyPathSeparator = configurationService.getValue('explorer.copyPathSeparator');
+		}
+		if (copyPathSeparator === '/' || copyPathSeparator === '\\') {
+			separator = copyPathSeparator;
 		}

 		const text = resources.map(resource => labelService.getUriLabel(resource, { relative, noPrefix: true, separator })).join(lineDelimiter);

see also https://github.com/microsoft/vscode/pull/101197, https://github.com/microsoft/vscode/issues/120270.

I made a pr to support this, see https://github.com/microsoft/vscode/pull/184884.

maybe we should add "." as well?
https://github.com/microsoft/vscode/issues/204342


doc: add thread safety warning for uv_replace_allocator

I noticed that libuv may allocate memory in sub-threads (e.g., uv_fs_read, uv_fs_realpath...)
but some allocators are not thread-safe, or some are thread-local, I think we need to point out it in the doc.

Landed in 06b2f13b, thanks!


PDF Viewer in Site

Describe the feature you'd like
Hi Dan, would it be possible to include a function that allows you to insert a PDF viewer from an attached PDFs into the page via button?
The html code would be theoretical
<object data="{URL}/{AttachmentFileCount}?open=true&embedded=true" type="application/pdf" width="700" height="527">
Describe the benefits this would bring to existing BookStack users
Live PDF Preview
Can the goal of this request already be achieved via other means?
Yes over HTML Tag

Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
1 to 5 years
Additional context
No response

Thanks for the request @reddexx but I'm going to close it off as I feel the fundemental request is already covered by #1270 and potentially #705.
For now, to save manual insert, Below is an example "Custom HTML Head" script which would add a page icon after the editor link toolbar icon, for inserting a PDF. You may want to add accompanying styles and/or tweak the <object data line to your requirement.
<script>

  // Use BookStack editor event to add custom "Insert PDF" button into main toolbar
  window.addEventListener('editor-tinymce::pre-init', event => {
      const mceConfig = event.detail.config;
      mceConfig.toolbar = mceConfig.toolbar.replace('link', 'link insertpdf')
  });

  // Use BookStack editor event to define the custom "Insert PDF" button.
  window.addEventListener('editor-tinymce::setup', event => {
    const editor = event.detail.editor;

    // Add PDF insert button
    editor.ui.registry.addButton('insertpdf', {
      tooltip: 'Insert PDF',
      icon: 'document-properties',
      onAction() {
        editor.windowManager.open({
          title: 'Insert PDF',
          body: {
            type: 'panel',
            items: [
              {type: 'textarea', name: 'pdfurl', label: 'PDF URL'}
            ]
          },
          onSubmit: function(e) {
            // Insert content when the window form is submitted
            editor.insertContent('<object data="' + e.getData().pdfurl + '"></object>');
            e.close();
          },
          buttons: [
            {
              type: 'submit',
              text: 'Insert PDF'
            }
          ]
        });
      }
    });

  });

</script>

Note, the above content is not an official nor supported part of BookStack, and may break upon future updates.

it´s Working, thanks

I've added the code, now the button exists and it seems fine, but when I attach a PDF, put its link inside the related form, save and try to view the newly created page, there is no PDF preview and just a download pops up and starts downloading the PDF file...
What should I do? Does it mean a package should be installed on the server or so?

Only think I would change in the snippet above is to add the custom query parameters to embed the pdf properly, like so.
 editor.insertContent('<object data="' + e.getData().pdfurl + '"?open=true&embedded=true" type="application/pdf" width="700" height="527"></object>');


Issue with install on ubuntu 18.04 desktop

By default, 18.04 ubuntu doesnt come with net-tools (and thus no ifconfig), this causes databox start to fail with:
Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.
ERROR: Network databox-system-net declared as external, but could not be found. Please create the network manually using `docker network create databox-system-net` and try again.
"docker inspect" requires at least 1 argument.
See 'docker inspect --help'.

Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...] [flags]

Return low-level information on Docker objects
undefined:1

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at main (/cwd/src/createResolvConf.js:5:24)
    at Object.<anonymous> (/cwd/src/createResolvConf.js:22:1)
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
    at startup (internal/bootstrap/node.js:240:19)
Pulling app-server (databoxsystems/app-server:)...
latest: Pulling from databoxsystems/app-server
605ce1bd3f31: Pull complete
454cb03c28f3: Pull complete
d842fa9e2653: Pull complete
dc19af70ff10: Pull complete
0d0c83bbd6d3: Pull complete
cdcc23dd3deb: Pull complete
3b1a2b1a45c9: Pull complete
Digest: sha256:4639e8b7ebedd21e76f66d30f8b1be05af8971f201331630418040f5ae195c30
Status: Downloaded newer image for databoxsystems/app-server:latest
Creating databox_app-server_1 ... done
this node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again
[2018-07-04 11:47:09 databox-start]: ERROR: Problem with docker stack deploy

installing net-tools fixed this but the error message doesn't reflect the actual problem and is therefore useless.

This will be fixed in the next version as it no longer relies on ifconfig


Force psutil version to 5.6.3 for python2

The latest (5.6.4) is broken on python2:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting psutil
  Using cached https://files.pythonhosted.org/packages/47/ea/d3b6d6fd0b4a6c12984df652525f394e68c8678d2b05075219144eb3a1cf/psutil-5.6.4.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: /localdata/anthonyb/workspace/external/tf_python_python2/bin/python2 /localdata/anthonyb/workspace/external/tf_python_python2/local/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpbqQ5kk
         cwd: /tmp/pip-install-Rk4IAs/psutil
    Complete output (2 lines):
    running dist_info
    error: 'egg_base' must be a directory name (got )

Looks like the Android Demo App failure is unrelated to that change:
ERROR: /tmpfs/tmp/bazel/external/com_google_protobuf/BUILD:295:1: C++ compilation of rule '@com_google_protobuf//:protoc_lib' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 40 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
gcc: error: unrecognized command line option '-std=c++14'
Target //tensorflow/core/common_runtime/eager:execute failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: /tmpfs/src/github/tensorflow/tensorflow/core/grappler/optimizers/BUILD:254:1 C++ compilation of rule '@com_google_protobuf//:protoc_lib' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 40 argument(s) skipped)

Dropping pull request: already fixed by 67d196ccac934b173e7d773269184d141321bec6


Give '.min.css' and '.min.css.map' file extension for files compiled with --output-style compressed --source-map true

How would I be able to give a '.min.css' and '.min.css.map' file extension to the css files compiled with options --output-style compressed and --source-map true respectively? Preferably from the command line? Is this something that is possible? I currently have a npm command line script that will minify the css and create a source map, but I would like to give the minified css file a '.min.css' file extension and the source map file a '.min.css.map' file extension.
node-sass app/scss/ -o app/css/ --output-style compressed --source-map true
I'm able to do it using a script using render(), but its only limited to one file. What if I have multiple sass files in a directory that I want to compile? Does this mean I have to call render() for each of my sass files? Is there a way to pass a directory to render callback to compile every sass file in the given directory?
var sass = require('node-sass');
var fs = require('fs');

sass.render({
    file: 'app/scss/style.scss',
    outFile: 'app/css/style.min.css',
    sourceMap: true,
    outputStyle: 'compressed'
}, function(error, result) {
        if (error) {
            console.log('error message: ' + error.message);
            console.log('error line number: ' + error.line);
            console.log('error column number: ' + error.column);
            console.log('error status code: ' + error.status);
            console.log('error filename: ' + error.file);
        }
        else {
            fs.writeFile('app/css/style.min.css', result.css, function(err) {
                if (err) {
                    return console.log('error writing css');
                }
                console.log('success writing css');
            });
            fs.writeFile('app/css/style.min.css.map', result.map, function(err) {
                if (err) {
                    return console.log('error writing source map');
                }
                console.log('success writing source map');
            });
        }
});

Is this something that is possible

No. We do not plan to add this feature. The CLI is already too complicated. You can do this easily with most shells and a simple script.

Is there a way to pass a directory to render callback

No. You can call render in a loop. That's how grunt-sass and gulp-sass work.


ARROW-2761: [Python] Add support for set operations in hive partition filtering

Thank you @rgruener for implementing this!


Get Gauge up to spec

Fixes #22
Checklist

[x] The provided tests still run.
[x] I've created new tests where needed.
[x] I've updated the documentation if necessary.
[x] setToCurrentTime() -> Set gauge to current unixtime in seconds
[x] trackInprogress() -> A way to track in-progress requests in some piece of code/function
[x] time() -> A way to time a piece of code and set the gauge to its duration in seconds

See: https://prometheus.io/docs/instrumenting/writing_clientlibs/#gauge

Reviewing :-)


[Bug] Some properties do not work correctly

It seems like some of the cit properties are not working correctly as they should.
Using latest CITResewn version.
"tile" as a replacement for "texture" gives an error: "Skipped CIT: Cannot resolve path for model/texture"
"regex" does not seem to work at all sadly. ( Used something as simple as "nbt.display.Name=iregex:(Test)" or "nbt.display.Name=regex:Test" which work just fine in Optifine )

The tile thing is not documented anywhere both in optifine and in mcpatcher. But it is an alias for texture for some reason so I added it(b3dd941) because it wont hurt anyone.
The regex thing was just me not removing the iregex: fully from the pattern(2f45ca5).
Fixed in v0.6.1.

Just want to add, please do not use tile. I added it just to add support for old packs but if you're making anything new you should use texture instead.

Wow, that was fast :O
I know its a mess with the Optifine docs and the tile textures were just some old ones i never changed until now cause they never made problems ^^" Glad it works now.
Thank you very much for the lightning fast response and fixes, ill test everything as soon as i find the time.

It works! No errors anymore and regex also works as intended. 👍
But... It looks like its not possible to define a custom model and a texture inside the same .properties file.
Example:
items=wooden_sword
nbt.display.Name=iregex:(Staff)
model=optifine/cit/test/staff.json
texture=optifine/cit/test/staff.png

The model has no own texture but is an edited version of the default "handheld.json" to look like the player holds the item vertically.
All items using this method are invisible, so i think the texture isnt even loaded.
Using a model that has a texture itself works just fine. But you cannot overwrite the texture maybe because of the same problem.
This is the staff.json i use:
{
    "parent": "item/generated",
    "display": {
        "thirdperson_righthand": {
            "rotation": [ 0, -90, 55 ],
            "translation": [ 0, 4.0, 0.5 ],
            "scale": [ 0.85, 0.85, 0.85 ]
        },
        "thirdperson_lefthand": {
            "rotation": [ 0, 90, -55 ],
            "translation": [ 0, 4.0, 0.5 ],
            "scale": [ 0.85, 0.85, 0.85 ]
        },
        "firstperson_righthand": {
            "rotation": [ 0, -90, 25 ],
            "translation": [ 1.13, 3.2, 1.13 ],
            "scale": [ 0.68, 0.68, 0.68 ]
        },
        "firstperson_lefthand": {
            "rotation": [ 0, 90, -25 ],
            "translation": [ 1.13, 3.2, 1.13 ],
            "scale": [ 0.68, 0.68, 0.68 ]
        }
    }
}

I'm marking that one with "working as intended", there are both some technical problems with adding the texture to the model in that manner as well as the design problem where the philosophy here is that if someone can define a model, they know how to define textures in said model. The texture tag is meant for people who do not want to mess with jsons at all.
You can also define relative paths in models that are loaded by cit, for example:
  "textures": {
    "layer0": "./staff"
  }

will load the staff texture you have next to the staff json.

This would be the way to go yes, but doing this for 200+ weapons, shields and other items means 200+ more .jsons to generate on top of the .properties files ^^"
I know its a "nice to have" feature and not a bug, but it would still be very helpful.

There are either no jsons or there are.
If there are jsons, the jsons can define their own textures like vanilla models do normally.
If there arent jsons, specifying just texture is enough for the properties to create a new model internally out of the textures.
Essentially, a pack wouldnt need 200 extra jsons if it didnt already have them.

Right now and without a given texture inside the model i am able to use this same model for every item that needs it, requiring only one model for x staffs.
As soon as i define a texture inside the model i need one model for each item, so x models or maybe x+1 if i use parenting to do it correct.

Hmm.. haven't thought about that..
Is this a thing that works in optifine's implementation?

Its a little tricky way to save a lot of work making a bunch of models that you wont really need ^^"
And yea it works just fine with Optifine

Ok, I'll look into it. I've opened #33, you might want to enable notifications there.

Thank you very much, i will 💯

Could you please send over the resourcepack with the one model, multiple texture properties thing for me to test with?

MultiModelExample.zip
There you go ^^
Some shields and weapons using this method.


EVP_Cipher API return value for AAD calls is unclear from documentation

Using OpenSSL 1.1.1 or 3.x, using EVP_Cipher with an AEAD cipher such as AES-GCM or Chacha20-Poly1305, it is possible to provide AAD by calling with a NULL out parameter before providing plaintext/ciphertext.
These AEAD ciphers have the EVP_CIPH_FLAG_CUSTOM_CIPHER flag set.
The documentation for 1.1.1 to present says the following about the return value:

EVP_Cipher() returns the amount of encrypted / decrypted bytes, or -1 on failure if the flag EVP_CIPH_FLAG_CUSTOM_CIPHER is set for the cipher.

Strictly AAD is not encrypted or decrypted, so it is unclear whether the value returned should be:
inl (i.e. the number of AAD bytes ingested), or
0 (i.e. the number of bytes written to out)
From a cursory look at the OpenSSL implementation, it would appear that the former has been what is returned from libcrypto today for AES-GCM and Chacha20-Poly1305, but I have not done an exhaustive search.
If the existing OpenSSL implementations are the intended behavior it should be clear in the documentation, and I would suggest that the documentation should read something like:

EVP_Cipher() returns the number of bytes processed (i.e. encrypted / decrypted / authenticated), or -1 on failure if the flag EVP_CIPH_FLAG_CUSTOM_CIPHER is set for the cipher.

If alternatively it is just not supported to use EVP_Cipher with an AEAD cipher, this should be explicitly documented.

@samuel-lee-msft would you like to submit a PR with your suggestion? I think it is correct.

Sure, I'll make a PR
I'm not sure how documentation fixes are applied to previous versions, but I can make a PR against master in the first instance and we can cherry-pick it wherever it makes sense

Looking at this a bit closer when creating the PR, I realized that for AES wrap functions, the value returned is the number of bytes written to out (i.e. with padding added on encryption and padding removed on decryption), so I thought it was clearer to split out the cases of passing AAD specifically from encryption/decryption.
I also believe the same behaviour for AAD applies to outl for (En|De)cryptUpdate, so I called that out in the AEAD section.
Really I think that for AAD calls the return value should be 0; but I tried to make the documentation reflect what I understand is the reality of the OpenSSL implementation today.

Really I think that for AAD calls the return value should be 0; but I tried to make the documentation reflect what I understand is the reality of the OpenSSL implementation today.

It would not be a good idea to change it as existing callers can depend on the current behavior. IMO it does not really matter, in terms of correctness of the API, whether 0 or inlen is returned.


Multiple items on each

I need to display 3 items per slides, any help?

This is not yet supported. This is a duplicate of #1.


Sankey: emphasis on all links when node is hovered

Currently, link highlights when hovered. It would be great if all node's links highlight when node is hovered.
Current:

Highlighted links when Business & Productivity node is hovered:

hi @jarben, Thank you for the suggestion, I will add this feature as soon as possible.

Awesome thanks @deqingli for looking at it!

Hi @jarben,  I have added this feature, which will be released after 4.1.0, sorry for waiting so long.
best regards,
Deqing

That great new @deqingli , thanks for looking at it!

Is there any demo about this feature, my current echarts version is 4.1.0 yet I cannot see this effect, when I hover on node, only the node highlights. @deqingli

hi @SuperAL, I have added the focusNodeAdjacency parameter in sankey series,  you can set the parameter with value allEdges,  inEdges and outEdges, you can try it. If you have any question you can reopen this issue.


Allow --noEmit to override incremental: true from tsconfig.json

Search Terms
noEmit incremental override type-check
Suggestion
If --noEmit is specified on the command line, ignore the incremental: true setting from tsconfig.json.
Use Cases
I want to have a type-check npm script that runs tsc --noEmit, only for type checking. Whether incremental was set to true in tsconfig.json, shouldn't prevent that, because this isn't a build.
Examples
Currently, this leads to

Option 'noEmit' cannot be specified with option 'incremental'

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

@sheetalkamat thoughts?

While working on #38853 i did consider this and i think it would be ok to write tsbuildInfo file when --noEmit is specified. But we should handle difference between running
tsc --noEmit and tsc where tsbuild info file remains same, and hence had decided to file separate PR for this.