[New architecture] Replace @oguzhnatly/react-native-image-manipulator with expo-image-manipulator [v2]

Details

It replaces the libraries. The first PR https://github.com/Expensify/App/pull/36019 got reverted https://github.com/Expensify/App/pull/38024 because of crash https://github.com/Expensify/App/issues/37963.
Fixed Issues

$ https://github.com/Expensify/App/issues/35984
PROPOSAL: N/A
Tests

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

Log in to the Expensify account
Go to Account Settings
Press avatar to edit the profile image
Select Upload photo
Pick any photo
Adjust the size and location of the picked image
Press save
Profile Image should be updated
Test it on the release build (more info: https://github.com/Expensify/App/issues/37963)

Offline tests

N/A
QA Steps

[ ] Verify that no errors appear in the JS console
[ ] Do the tests from above

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/104823336/933c0710-1ce6-4076-a958-743d3327bbf1

Android: mWeb Chrome

https://github.com/Expensify/App/assets/104823336/951048d9-f042-406c-a5d5-b719d43e5569

iOS: Native
https://github.com/Expensify/App/assets/104823336/a35e8d27-0387-47d5-b037-53db6d65ddb1

iOS: mWeb Safari
https://github.com/Expensify/App/assets/104823336/fe3bf1ce-f523-4e3a-96de-b09f6a609724

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/104823336/df43cf99-6029-4af1-a684-935cba66bc0a

MacOS: Desktop
https://github.com/Expensify/App/assets/104823336/09a08e15-555e-409a-9570-5022e220146e

Thanks for raising the PR. @roryabraham Can you please create adhoc builds for this one? So that we can test it on a physical device?

The code changes are fine. @roryabraham The latest change commit involves updating the cropOrRotateImage. Can you please retrigger the build so that I can test against the latest changes.
Meanwhile I'll test on the simulators for sure.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome
https://github.com/Expensify/App/assets/3069065/efd58335-9d7c-44f0-a66d-74c0ac45187d

iOS: Native
https://github.com/Expensify/App/assets/3069065/5da76645-adbd-4bb0-a4db-1f4573c0f152

iOS: mWeb Safari
https://github.com/Expensify/App/assets/3069065/e25dbb1b-a45d-4882-86d3-081b439e2fd9

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/3069065/8030e0ac-82d0-4852-9868-c0a63a94656d

MacOS: Desktop
https://github.com/Expensify/App/assets/3069065/0b693dff-caa8-4810-a10b-d9bb2714dd6c

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.54-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.54-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


AV

Debugger Exception Notification
Project LostNFound.exe raised exception class $C0000005 with message 'access violation at 0x00a07d34: read of address 0x000003a6'.
procedure TfMain.FormCreate(Sender: TObject);
begin
GBEJoystick1.MouseCapture := true;       <----------- this is nil!

I have no error under Delphi 12 Athens.
This project was created for Global Game Jam 2021 in 48 hours. It use my GBE3D  library. You need to install it under Delphi before compile this project.
Additionally, this project used the GBE3D version from January 2021...
You can find the binary for Windows 64 bits in the \bin directory of this repo.


Dataset link

Please share the dataset link you have used for this project.
Thank you!

Please share the dataset link you have used for this project.
Thank you!

Sure,
https://www.kaggle.com/datasets/muhammadwaqargul/pakwheels-used-car-dataset-october-2022

Please share the script to reproduce/extend the dataset.
Thank you!


Parse error definitions and revert with custom errors

These are not supported on Solana or Substrate, however this will help
with testing sema with evm solidity contracts.
This changes revert() from an builtin expression to a statement type.

I've added a check that gives a warning if an error definition is not used.


Show Runner info (CPU | xrun)

First pass at including some display only info. Drilled open the connection modal and added a CPU meter to the header. Noticed that there isn't a dynamic stream of CPU load info incoming, maybe that's by the design and the frontend / client is supposed to poll that?
Let me know if you need help plumbing this together :D If the client should poll the cpu load it's not really a big deal and we could also add a user setting to enable / disable that.
closes #116

Noticed that there isn't a dynamic stream of CPU load info incoming, maybe that's by the design and the frontend / client is supposed to poll that?

HMM.. there should be an OSC message sent every n-seconds (I forget what N is) when the audio is active.. I'll look into this


When there's no text in an input widget, the cursor is tiny and in the wrong place

RenderEditableParagraph width looks as if it was:
'parent_width' + _kCursorGap + _kCursorWidth
but not textPainter.size.width + _kCursorGap + _kCursorWidth
EditableTextWidget becomes horizontally scrollable:

Line break looks like:

But comments say:
// Editable text does not support line wrap.
bool get allowLineWrap => false;

I think I fixed this issue in https://github.com/flutter/flutter/commit/64a645352c80246bcba2bb7d242e05cbf312e419 .  Do you still see the issue after that revision?

Right now I see:

The cursor is above the hint and there is no way to show keyboard.
P.S. It may be that this issue is caused by dependency error like this one #329. So I just wanted to ask for some tip about proper local environment updating.

The cursor is above the hint and there is no way to show keyboard.

Yes, I've seen that issue too.  Will fix.

Just pub upgrade every time?

I recommend the following workflow:

Follow the instructions on http://flutter.io/getting-started/ .  In particular, clone the flutter.git repository, refer to the flutter package in your pubspec.yaml using a relative path, and use the flutter command from flutter.git's bin.
To update:

Run git pull --ff-only in your clone of flutter.git.
Run pub upgrade in the same directory as your pubspec.yaml.

To run your app:

Run flutter start in the same directory as your pubspec.yaml.

Thank you for clarifying.

I've added flutter upgrade, which does the work from step 2.

Looking at the cursor bug now.

Fix in https://github.com/flutter/flutter/pull/363


To @flow: fontMetrics, fontMetricsData, Options, Settings, Style

Supersedes #846.
I've inferred the intended types as best as I can from the code, but it'd be worthwhile to double check.

@xsznix glad to see you got things working with a feature branch.

@xsznix thanks for the PR.  Sorry about the back-and-forth on how to type some of these things.

@kevinbarabash np, it's always good to have a second set of eyes to double check everything

One question now that you have expertise on this: given the move to Flow, is it still worthwhile separating a Settings class from a settings object?  I've always felt like this was redundant, and just to get some kind of type checking, but now that we do type-checking elsewise... maybe the Settings class is no longer needed?  Curious of your opinion before opening an issue.

Yeah, I think getting rid of the separate Settings class would be good. Right now each property is repeated three times in the code (once in SettingsOptions, once as fields on Settings, and once in the constructor to set those fields), and we can reduce that to two by doing something like:
// Settings.js
export type Settings = {...};
export const defaultSettings = {...};

// somewhere else
settings = Object.assign({}, Settings.defaultSettings, settings);


Add Tianjin University of Science&Technology

Website of TUST: http://tust.edu.cn/

@qqlzfmn Pull request merged. Thank you!


update check disk due to the bug in wmic

https://stackoverflow.com/questions/9673057/wmic-error-invalid-xsl-format-in-windows7
Pull Request Checklist
Is this in reference to an existing issue?
General

[ ] Update Changelog following the conventions laid out on Our CHANGELOG Guidelines

[ ] Update README with any necessary configuration snippets

[ ] Binstubs are created if needed

[ ] RuboCop passes

[ ] Existing tests pass

New Plugins

[ ] Tests

[ ] Add the plugin to the README

[ ] Does it have a complete header as outlined here

Purpose
Known Compatibility Issues

@jasiek191 sorry about the noise...appveyor is being a PITA and I am not really a windows person. If it does not pass on appveyor again I will just merge and release it. Afterwards I will try to go back in and figure out what magic combination of stuff will start working.

released: https://rubygems.org/gems/sensu-plugins-windows/versions/2.9.1


Issue2675

This issue fixes the masses update of permissions problem .

Hey @Johnetordoff -- I'll ask @nanchen47 to give you some assist/direction, but looks like you included a good number of ancillary commits in this PR ... should aim to focus solely on your specific dev branch and commits. You'll want close this and redo. Thanks.


Cannot relocate unicode

Issue description
Enjinn was unable to relocate a file with this name: RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac.
Enjinn was able to relocate files with similar names which did not have unicode chars.
Steps to reproduce
# file exists here, used to be in `2021-05` directory
Music Production/trax/trax
❯ find . -name "*Raär*" -print
./2021-05 pt 2/RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac

# enjinn relocate tries and fails to discover the new location of the track
Music Production/trax/trax
❯ enjinn relocate .
✔ Detected Engine library [v1.6]
    /Users/elijah/Music/Engine Library
✔ Connected to Engine DB

✔ Found 1 missing tracks
    ../../Google Drive/Music Production/trax/trax/2021-05/RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac

✔ What folder would you like to search for your tracks in? … .

✖ Couldn't find 1 tracks
    ../../Google Drive/Music Production/trax/trax/2021-05/RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac

Environment

enjinn version: enjinn/1.3.1 darwin-x64 node-v14.16.1
Engine PRIME version: 1.6.1
Operating System: macOS 11.2.3 (arm64)

Good catch. I'll investigate

@rshea0 it may not be unicode, just seemed like it. If I can help debug further let me know. Cheers!

So it looks like that special character isn't a single character. It's a character with a modifier.

I created a song with that character in it's title and Engine wouldn't even load it into a deck. This explains a lot as I've been confused why some people aren't able to load Unicode songs while others can. Special characters work in Engine if they are in fact a single character. These modifier characters mess it up.
How did you add that song into your library in the first place?

I think I just dragged it in. I'm not using any library integrations. I have a few tracks with ä in the file name:

They load and play okay in the software on my laptop. Haven't tried them on a device yet.

From the terminal:
❯ find . -name "*ä*"
./2021-01 (pt 5)/Berg Jaär - Dome.flac
./2021-01 (pt 5)/Berg Jaär - DNA.flac
./2021-05 pt 2/RAW - Clouds - AKW Stränge.flac

Interestingly, the file that enjinn couldn't relocate doesn't show for that query. So I think you're onto something that there is some difference between ä and ä. In the JS shell here I do see:
encodeURIComponent('ä')
"%C3%A4"
encodeURIComponent('ä')
"a%CC%88"

Here's a query that finds the file enjinn could not relocate:
❯ find . -name "*Strobes*"
./2021-05 pt 2/RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac

I am able to drag that file from Finder into Engine Prime, and it can be loaded/played without issue.
I just tested moving and relocating with enjinn for one of the files in the first set (Berg Jaär - DNA.flac), and it worked fine:
❯ enjinn relocate
 ›   Warning: Update available from 1.3.1 to 1.3.2
✔ Detected Engine library [v1.6]
    /Users/elijahrutschman/Music/Engine Library
✔ Connected to Engine DB

✔ Found 2 missing tracks
    ../../Google Drive/Music Production/trax/trax/2021-05/RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac
    ../../Google Drive/Music Production/trax/trax/2021-01 (pt 5)/Berg Jaär - DNA.flac

✔ What folder would you like to search for your tracks in? … .

⚠ Relocated 1 tracks, couldn't find 1 tracks
    ../../Google Drive/Music Production/trax/trax/2021-01 (pt 5)/new location/Berg Jaär - DNA.flac
  [still missing]
    ../../Google Drive/Music Production/trax/trax/2021-05/RAW - RAW Compilation II- Second Breath 1-4 - 09 Raär - Strobes.flac

✔ Saved relocated tracks to Engine

So that's the weird part. A file with that character doesn't load in Engine for me. Could there be an OS inconsistency here?
Either way, ENJINN isn't working with it. I'll figure out what's going on.

Ensure all three of those tracks are in your library then please send your m.db file to me at<EMAIL_ADDRESS>


Not working

Just installed here on Atom 1.2.0 and set offset to 8. But nothing happens...

Can confirm... also not working for me at all. Scroll offset value set to 15, but it stays within value of 2.
Using version 0.2.0 with Atom 1.6.1

This package is not working.
Instead, add this to your init.coffee:
atom.workspace.observeTextEditors (editor) =>
    editor.setVerticalScrollMargin 8


Show immunities/enchantments/names for normal mobs

Currently with all options enabled, immunities/enchantments/name labels are only shown for uniques/champions. I'd like to be able to see at least immunities for all mobs including normal.

thinking of it for long, but text stacking makes the map layer horrible,

just did a simple implementation, which cannot prevent text stacking at present

released with v0.6.2, close.


methods defined in sk can't be called

Add a test .sk file:
module Foo
    def bar() -> String
        "foobar"
    end
end

Also includes it in index.sk. Then calling it like:
puts Foo.bar

Then got the shiika compile error:
Error: Error: method MethodFirstname("bar") not found on TypeFullname("Meta:Foo")
   ╭─[examples/hello.sk:3:9]
   │
 3 │ puts Foo.bar
   │         ──┬─
   │           ╰─── method MethodFirstname("bar") not found on TypeFullname("Meta:Foo")
───╯

How about this? You need self. to be called as Foo.bar (same as Ruby.)
module Foo
    def self.bar() -> String
        "foobar"
    end
end

Sorry, I'm not familiar with Ruby before, it worked now with your corrected version of codes.


[BUG] Unexpected warning:ANTLR Tool version 4.8 used for code generation does not match the current runtime version 4.7.1

Describe the bug
When running under spark 3.1.x and spark 3.2.x, you will get a warning:ANTLR Tool version 4.8 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.8 used for parser compilation does not match the current runtime version 4.7.122/07/27 22:53:34 WARN HttpClientUtil: Failed to send HTTP get request.
What did you do
Runtime Environment：
TiDB v5.4.2，Spark v3.1.x，TISpark tispark-assembly-3.1_2.12-3.0.1.jar
or
TiDB v5.4.2，Spark v3.2.x，TISpark tispark-assembly-3.2_2.12-3.0.1.jar
1.Set the correct parameters in the file:${SPARK_HOME}/conf/spark-defaults.conf
2.run bin/spark-sql
3.show databases;
What do you expect
Show correct results without warning:ANTLR Tool version 4.8 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.8 used for parser compilation does not match the current runtime version 4.7.122/07/27 22:53:34 WARN HttpClientUtil: Failed to send HTTP get request.
What happens instead
The warning is displayed, which makes new users disturbed and unable to troubleshoot the correct errors. This error is often encountered in the community. Most users stay in this step and eventually lose.
Screenshots

Spark and TiSpark version info
TiDB v5.4.2，Spark v3.1.x，TISpark tispark-assembly-3.1_2.12-3.0.1.jar
or
TiDB v5.4.2，Spark v3.2.x，TISpark tispark-assembly-3.2_2.12-3.0.1.jar
Additional context
This error is often encountered in the community. Most users stay in this step and eventually lose. Since it is an official product, it should have a certain seriousness and make it easy for users to understand and troubleshoot errors.

Reference:https://asktug.com/t/topic/842805

Can using the exclusions tab solve the problem?

we will resolve it recently


Configurable bin size in histogram-based facets

Facets which show histograms (numeric and timeline facets) determine the bin size automatically from the data.
Sometimes this bin size is inappropriate: the presence of outliers can increase the spread of the distribution and make the histogram too coarse for the data. This is especially problematic because users can only select bin boundaries as upper or lower bounds when filtering the grid.
My current workaround in these cases is to edit the GREL formula that generates the facet. For instance if the values spread from 0 to 100 but you are interested in a granular selection in small values, change the expression from value to min(value, 10): that will give you more granular histograms, moving all larger values to the last bin. That is obviously not very convenient.
Proposed solution
Let users select the bin size from the facet UI.
Alternatives considered
We could also:

let users select filter boundaries beyond histogram bin boundaries (not sure if the user experience would be great)
let users zoom in/out on particular parts of the histogram (and dynamically adapt the bin size). That is essentially what my workaround above does, but in a hacky way.

Additional context
Encountered when migrating the facets to the new architecture.

More control would be good, but better defaults would probably be useful too. Excluding outliers by default when choosing scale range/bin sizes might be a start.


Comment out final "exercise" cell in NB on Large Scale Structure

Hi @DavidVargasMora and @stephjuneau
The noteboook 06_EPO/TeenAstronomyCafe/07_Large_Scale_Structure_of_the_Universe/Large_Scale_Structure_of_the_Universe.ipynb currently fails our auto tests because the final cell, which is meant as an exercise to the students, contains invalid Python.
Can you please either fix the syntactically incorrect Python, or comment out the entire cell, with a pre-note to the reader what to do?
All NBs must be able to run through without interaction, and without errors.
Thanks!

This was resolved.


external enumValues with typesPrefix won't work together

Describe the bug

If we have typesPrefix set to some value and enumValues point to a file then import value in the generated output won't have required type prefix and hence type validation fails.
To Reproduce
Steps to reproduce the behavior:

My GraphQL schema:

My GraphQL operations:

# Put your operations here

My codegen.yml config file:

# Put your schema here
.....
    config:
        enumValues:
          MyEnum: ./files#MyEnum
        typesPrefix: I
...

Generated Output
import { MyEnum } from "./files";
export type IResolversTypes = {
....
MyEnum: IMyEnum
}

Expected behavior

Environment:

OS:
@graphql-codegen/...:
NodeJS:

Additional context

Fixed in: https://github.com/dotansimha/graphql-code-generator/pull/2121
@veeramarni can you please test it with the latest alpha? 1.3.1-alpha-77551f3e.79

Actually needed to do a small fix for typescript-resolvers to make it work there as well. Available as 1.3.1-alpha-70a40ede.80.

@dotansimha  I have tried by updating all libraries to 1.3.1-alpha-70a40ede.80 but still have same issue.
import { MyEnum } from "./files";
export type IResolversTypes = {
....
MyEnum: IMyEnum
}

@veeramarni can you please share a reproduction in a repo? (or codesandbox)
I added a test that seems to pass: https://github.com/dotansimha/graphql-code-generator/pull/2121/files#diff-f7bb64df03f464913f48980ead990c1aR224
I also added some more changes and refactored enumsValues a bit. Can you please try it? 1.3.1-alpha-789526ab.83

For some reason, we cannot replicate in the codesandbox not sure why we still have the issue.
As I see now, enums will won't have the prefix: I, but in the code generated in our project has I prefix.
https://codesandbox.io/embed/graphql-codegen-issue-template-rdsel

I'm able to reproduce the issue after adding - typescript-react-apollo plugin.
https://codesandbox.io/embed/graphql-codegen-issue-template-rdsel

@veeramarni
I tested it now, and it seems to work fine, am I missing something? (try to clear types.ts in the sandbox editor and save it, before running yarn codegen again, and then re-open type.ts).
I got this output:
import { MyEnum } from "./files";

// ...

export type IResolversTypes = {
  Query: ResolverTypeWrapper<{}>;
  ID: ResolverTypeWrapper<Scalars["ID"]>;
  User: ResolverTypeWrapper<IUser>;
  String: ResolverTypeWrapper<Scalars["String"]>;
  MyEnum: MyEnum;
  Boolean: ResolverTypeWrapper<Scalars["Boolean"]>;
};

btw, any reason to use both operations + react-apollo with resolvers? In most cases, they should be in different files.

@dotansimha Thanks that fixed it!.
The reason we have the react-apollo in the generated file for two reasons.

We need common queries to be packaged so we can ship one package such that each microservice can use to call the gateway server.
It is hard to have two separate files with types & gql queries in one and  react generated code in another as mentioned in  https://github.com/dotansimha/graphql-code-generator/issues/1975

Makes sense, I'm glad that it helped :)
Keeping open because we are tracking the waiting-for-release issues :)

Had the same problem and this fixed it for me too. 👍

Available in 1.4.0 🎉


Firecert 1998 semantic versioning

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: 78d91f427995db3d45855ba339e8c7b26b79d5be

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: 4e6994063f9b161f4ac09784416b6d0af26ccfde

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: 9a78ac00524d5fc7317cabb1657506c6ae034eb5

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: e237e51de5b05f81e8e222dac6165014e44661ec

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: e7e9fa4097612c0310596804832f050fe548679d

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: 789de88729f6cb4a605fb70147926236be61de9b

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: 789de88729f6cb4a605fb70147926236be61de9b

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/firebolt-certification-suite/151/rdkcentral/firebolt-certification-suite

Commit: 789de88729f6cb4a605fb70147926236be61de9b

Report detail: gist

WARNING: A Blackduck scan failure has been waived
A prior failure has been upvoted

Upvote reason: Boilerplate config file for husky

Commit: 789de88729f6cb4a605fb70147926236be61de9b


Command failed: /bin/sh -c

autocomplete-java: Error: Command failed: /bin/sh -c "/usr/lib/jvm/java-8-oracle/bin/javap" -classpath "/home/quincy/work/birt-service/.:/home/quincy/work/birt-service/lib/:/home/quincy/work/birt-service/build/libs/" com.mobileagility.service.birt.filter.ReportFilter

Ubuntu 14.04, latest autocomplete-java update. this seems to be happening repeatedly for various classes in my project

Your classpath is probably now:
.:./lib/:./build/libs/

You should use * when you are looking for jar files, so try modifying it to:
.:./lib/*:./build/libs/*

And if it doesn't work, try moving your java package hierarchy to a separate src-directory so that java packages and jars files do not mix up in the classpath:
./src:./lib/*:./build/libs/*

And finally, if nothing seems to work, try running the same on command line and then modify it to figure out, what is wrong with it:
javap -classpath "/home/quincy/work/birt-service/.:/home/quincy/work/birt-service/lib/:/home/quincy/work/birt-service/build/libs/" com.mobileagility.service.birt.filter.ReportFilter

Also check that class file for com.mobileagility.service.birt.filter.ReportFilter exists. It might be that compilation has failed and therefore ReportFilter.class does not exist at all.

thanks for your quick response!
my classpath is starred, though i'm not sure why the stars were omitted in the command. running the command as given just prints help
quincy@sandy:~/work/birt-service$ /bin/sh -c "/usr/lib/jvm/java-8-oracle/bin/javap" -classpath "/home/quincy/work/birt-service/.:/home/quincy/work/birt-service/lib/:/home/quincy/work/birt-service/build/libs/" com.mobileagility.service.birt.filter.ReportFilter
Usage: javap <options> <classes>
where possible options include:
  -help  --help  -?        Print this usage message
  -version                 Version information
  -v  -verbose             Print additional information
  -l                       Print line number and local variable tables
  -public                  Show only public classes and members
  -protected               Show protected/public classes and members
  -package                 Show package/protected/public classes
                           and members (default)
  -p  -private             Show all classes and members
  -c                       Disassemble the code
  -s                       Print internal type signatures
  -sysinfo                 Show system info (path, size, date, MD5 hash)
                           of class being processed
  -constants               Show final constants
  -classpath <path>        Specify where to find user class files
  -cp <path>               Specify where to find user class files
  -bootclasspath <path>    Override location of bootstrap class files

it's worth noting that this totally locked up my system a minute ago. i was unable to copy the final error message but it was the same command plus something about Java hotspot not having enough memory

update
i just got the message again while building, you're probably correct about the class not existing. still, a fatal memory leak upon build is probably not ideal

Try running:
javap -classpath "/home/quincy/work/birt-service/.:/home/quincy/work/birt-service/lib/:/home/quincy/work/birt-service/build/libs/" com.mobileagility.service.birt.filter.ReportFilter

... and then figure out what is wrong with it.
Scanning all classes and jar files can be a heavy and long running operation if you have many of them in your classpath, but I haven't had any problems though. But I noticed that your classpath contains the same directories multiple times. Try moving your classes to a separate subdirectory like below. Maybe it will help.
./src:./lib/*:./build/libs/*

If it's still consuming too much memory, try disabling the "load class members" feature. And if you are using linter-javac, note that it currently does not work well on large projects.

Or if you prefer keeping classes and java source files in separate directories like I do, then:
./classes:./lib/*:./build/libs/*

Or omit classes-directory altogether, if all your classes can be found in jars in the ./lib and ./build/libs directories.

Just read your update again. Yes, if you save a class during building, the error is probably caused by nonexisting class file. And the memory error might be caused by doing a build and a class scan at the same time. Try to avoid autocomplete-java refresh and java file save during build for now. I build all my classes automatically on save during development. So perhaps that's why I haven't run into any problems so far.

I will add a setting for disabling the "refresh class on save" feature. It doesn't help you since you don't compile classes on save, and it only causes error messages if you save a class during a build.

I released a new version. If you disable the 'refresh class on save' setting, you will get rid of those error messages during a build. And if you still have problems with java taking up all memory, try modifying your classpath as I suggested. And perhaps it is better to avoid running a build and a refresh at the same time.
All working ok now?

for whatever reason i'm not seeing that setting

and so i'm also getting the same error from before. i did get a short lock up earlier, but it was probably because i had ~6 large projects open and there was a full refresh happening.

just had another lockup. this message was displayed both times

Did you try to restart atom after updating autocomplete-java? Perhaps new settings appear only after restart. You can also add setting manually to your config.cson:
 "autocomplete-java":
    refreshClassOnSave: false

Your other problems might be caused by multiple project folders. Currently plugin supports only one root folder, see issue #9. Perhaps now it tries to do refresh for all projects at the same time.
What do you mean by lockup? a) Atom freezes for a couple of seconds? b) Atom hangs and has to killed c) operating system freezes or hangs.

Oh, you answered that in the earlier message... Atom crashes. Hopefully disabling the refreshClassOnSave helps a little bit. Unfortunately multiple project folders is not supported yet (might work ok but probably not). And running multiple projects as separate Atom windows might also cause some issues if many of them do full refresh at the same time.

And yes, possibly deleting class files during a refresh might cause problems. Disabling refreshClassOnSave might help since then you can control, when refresh is run (though the first full refresh happens automatically).

oops, didn't restart atom after upgrading... my bad. option is there now. if refresh class on save is disabled, does that mean i'll have to manually refresh using the command palette?
thanks for all the support. hopefully i'll have some free time soon to dig around myself.

Yes, you have to refresh manually using command palette or keyboard shortcut (ctrl-alt-shift-R). If you compile classes manually, you'll have to refresh manually even if the 'refresh class on save' is enabled. A 'watch changed classes' feature is on issue list (issue #19).


Allow applications to control terrain adjustment suspension

Fixes: #5999.
With this simple change, terrain adjustment suspension can be activated/disactivated at will by the application. The default behaviour stays unchanged.
In sandcastle, the code can be tested with:
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var globe = scene.globe;

var controller = scene.screenSpaceCameraController;
controller.minimumZoomDistance = 3000;

var cesiumTerrainProviderMeshes = new Cesium.CesiumTerrainProvider({
    url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles'
});
viewer.terrainProvider = cesiumTerrainProviderMeshes;

setInterval(function() {
    var carto = Cesium.Cartographic.fromCartesian(scene.camera.position);
    console.log(carto.height - globe.getHeight(carto));
}, 10);

scene.camera.enableTerrainAdjustmentWhenLoading = true;

This PR fixes issues where the camera sinks under the terrain, and after (a long) time jumps above the terrain.

@gberaudo, thanks for the pull request! Maintainers, we have a signed CLA from @gberaudo, so you can review this at any time.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

Thanks @gberaudo!  @mramato, @bagnell does this change look good to you?

@gberaudo to continue our conversation from the other issue, I'm trying to understand how this helps things.  Won't it let the camera just get stuck under terrain instead?

Hi @mramato,
With scene.camera.enableTerrainAdjustmentWhenLoading = false (the default), the behaviour is exactly the same as current one: adjustment only happens when all terrain has been loaded.
With scene.camera.enableTerrainAdjustmentWhenLoading = true, adjustment occurs on each frame: the camera will never be under the terrain and will not jump after all terrain is loaded (but the drawback is that the final position of the camera can be higher than expected due to terrain LOD height differences). This is the same behaviour as 1.5 year ago before @bagnell changed it.
The improvement is that the application can choose which mode it wants and change it at will. For example, it could be false on cold start up and then switched to true when the user is expected to navigate. Or it could be enabled false when flying and true otherwise (would be great in combination of https://github.com/AnalyticalGraphicsInc/cesium/pull/5993).
Does it clarify?

Hi @mramato, have you been able to look again into this PR?
We have been using it in production and it was great.
I have rebased the PR to fix the conflict in CHANGES.md.

Thanks again for the pull request!
Looks like this pull request hasn't been updated in 30 days since I last commented.
To keep things tidy should this be closed? Perhaps keep the branch and submit an issue?
I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

I know this may be dead now, but I just wanted to provide a use case for why this fix could be useful.
In our application we store "views", which are basically a saved camera location and rotation (and also loads relevant imagery layers and entities). The idea being that a user can save a "view", and then load it up again and see the exact same scene. At the moment, this doesn't work because the camera jumps to the location, but then gets juggled up and down as the terrain loads in, ending up in a different spot. This is particularly troublesome when a view is setup to be at a certain height right next to a set of 3d tiles or a model, since it can end up looking well above or below the desired part of the model.

At the moment, this doesn't work because the camera jumps to the location, but then gets juggled up and down as the terrain loads in, ending up in a different spot. This is particularly troublesome when a view is setup to be at a certain height right next to a set of 3d tiles or a model, since it can end up looking well above or below the desired part of the model.

@ediebold The specific behavior you describe was a bug and should be fixed in the with the next release of Cesium on Monday.  See #6989  The camera was never supposed to jump while terrain was being loaded in, only once all terrain tiles are loaded (and only if the camera was underground in a completely loaded scene).  If you have a chance to try out master before the release, it would be great if you could confirm the fixed behavior for us.

Thanks again for your contribution @gberaudo!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

@mramato @bagnell what's the plan for this PR?

Thanks again for your contribution @gberaudo!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

Thanks for the pull request @gberaudo, but I'm going to close this.  We've had other PRs merged, like #6989, that seem to have already addressed the issue you were seeing. If you are still seeing problems, let us know and we can try to work together to figure out the best solution =)  Thanks again!

Has this fixed been merged into a recent Cesium release?

@bbehling-trimble no, this change was not merged.  However, we had other significant improvements for streaming and loading terrain added in the CesiumJS 1.55 release.  Learn more in this blog post: https://cesium.com/blog/2019/03/06/terrain-rendering-improvements/

@bbehling-trimble and other fixes related to the camera going under terrain were merged in https://github.com/AnalyticalGraphicsInc/cesium/pull/6989

I upgraded to v1.55 and I'm still able to get the camera under the surface

@bbehling-trimble add any comments to #5837 please.  Thanks!


Assert reset() has been called before the usage of the runtime

Functionality should be similar to the one provided by OpenAI gym.

Assert of reset() has been integrated in runtime.py in PR #111.


gatt_server vs gatt_security_server (IDFGH-1656)

I have the latest version of esp-idf. Build and flashed both gatt_server and gatt_security_server to my esp32 devCkit.
Tried to connect to these servers with my android phone with both an application downloaded from google store and manually selecting from phone bluetooth settings.
Gatt_security_server successfully connected to my phone in both case, whereas with gatt_server example I had trouble connecting by manually from android settings. Gatt_server gave me these errors after few seconds from connection attempt, and then disconnected:
W (180914) BT_BTM: btm_sec_clr_temp_auth_service() - no dev CB
E (180914) BT_BTM: Device not found
I could not find any documentation about why this is the case. Could you help me understand why manually selecting the bluetooth server(gatt_server) from settings gave me these errors.

Did you completely erase esp32 when you flash new firmware?
Also did you erase bonded device when you are switching from secure server to not secure server?
When one device have stored bond info about peer device then it may cause a lot of issues.

Yes I tried both erasing the bond from phone and idf.py erase_flash and the problem still remains.

I just updated the IDF to the latest version and tried using the gatt_server example, and there was no problem connecting to my phone. Have you made any changes to the example? I suggest you check it by git diff, if there still have the same problem, please tell me the more detailed log and phone model, so that I can see the cause of the problem.

No I haven't changed anything. Tried to built it with two different computers with latest idf.
Everything at start seems to work nicely, then this happens.
W (54147) BT_BTM: btm_sec_clr_temp_auth_service() - no dev CB

E (54147) BT_BTM: Device not found

I (54147) GATTS_DEMO: ESP_GATTS_DISCONNECT_EVT, disconnect reason 0x13

Phone Model : Xiaomi Mi 5, Android Version : 8.0.0, MIUI Version : MIUI 10 Global 8.11.22 Beta

I (54147) GATTS_DEMO: ESP_GATTS_DISCONNECT_EVT, disconnect reason 0x13
This reason means that Connection is terminated by the peer user. Could you try to use another phone to confirm if it is the problem of phone model?Because this situation is not occur on my phone.

Hey, I tried the latest version of esp-idf and tested it with Xiaomi Mi 5, but it never happened. Do you still have this problem? If it still exists, can you tell me what application you use on your phone? Maybe you can try changing the phone app to connect.

@tuttyfrutyee Thanks for reporting. Would you please help share if your issue still exists? If it still happens, would you please share more details, like what application you use on your phone and etc., this would help up in reproducing and debugging issues a lot. Thanks.

@tuttyfrutyee Thanks for reporting. Would you please help share if your issue still exists?  Thanks.

@tuttyfrutyee Thanks for reporting. Would you please help share if your issue still exists? Thanks.

@tuttyfrutyee Thanks for reporting, will close due to short of feedback, feel free to reopen with more details, thanks.

I have the same problem, using gatts_server demo from BLE examples folder, Android 10 phone, Android 7 tablet.

This problem is related with the security process of smart phone . Some phone will force to pair with our device which do not have a security program. So you may get the above error message.
There have two solutions for this question:
1.Use APP (such as nRF) to connect with the board.
2.Add security program in the board(such as the gatt_security_server demo).

Thank you @younglee123 yeah gatt_security_server_demo has a complete secure pairing, I successfully added it into gatts_demo, it's like mixing 'gatts_demo.c' and 'example_ble_sec_gatts_demo.c'.
It's working fine, Thank you.

This issue is due to using the Bluetooth option in the system settings. If you directly connect to the Bluetooth of ESP32 after searching, an error message will appear, and the error message will be the same as described above. I haven't solved this problem either, I think it's because some services were not completed in the code.


Gate documentation

Should be ready for review! There isn't much, it's just a few comments, and then reorganizing interpolation stuff. After merging this we can add the detailed documentation William started in #546


Improve height representation to decimal point

This commit also includes the already pushed tag, which was missing the version commit on the repo

Coverage remained the same at 44.065% when pulling cf287cc792fc9c98e34979ee03c0e0315a573c40 on larslemos:master into 2fdb6f5950890b9223f6f3e8dfd900c792474a23 on esaude:master.

Coverage decreased (-11.8%) to 32.295% when pulling d4769515cc051c869a48d61a0876beb615fb1902 on larslemos:master into 23a094864727583d4d88ca6541fa510076c8a6b4 on esaude:master.

Coverage remained the same at 44.065% when pulling 2d7b4a382542c794bda1b27e6a2fc51dca7fbdbd on larslemos:master into 23a094864727583d4d88ca6541fa510076c8a6b4 on esaude:master.


Have installer default to fixed disk/partition UUIDs

This is needed to make PCR5 in the TPM measured boot be the same for
otherwise identical hardware and firmware/software. The new
eve_install_random_disk_uuids can be set to get the old behavior.
With these changes the installer with produce disk and partition UUIDs with a fixed but random prefix of
AD6871EE-31F9-4CF3-9E09-6F7A25C3005* where the last digit varies.
For example:
linuxkit-525400123456:~# cgpt show -v /dev/sda
start        size    part  contents
0           1          PMBR (Boot GUID: 3CAC10CD-7500-C3F4-0000-000000000000)
1           1          Pri GPT header
Sig: [EFI PART]
Rev: 0x00010000
Size: 92
Header CRC: 0x7b073ff9
My LBA: 1
Alternate LBA: 16777215
First LBA: 34
Last LBA: 16777182
Disk UUID: AD6871EE-31F9-4CF3-9E09-6F7A25C30050
Entries LBA: 2
Number of entries: 128
Size of entry: 128
Entries CRC: 0x766521ac
2          32          Pri GPT table
2048       73728       1  Label: "EFI System"
Type: EFI System Partition
UUID: AD6871EE-31F9-4CF3-9E09-6F7A25C30051
Attr: legacy_boot=1
75776      614400       2  Label: "IMGA"
Type: 5DFBF5F4-2848-4BAC-AA5E-0D9A20B745A6
UUID: AD6871EE-31F9-4CF3-9E09-6F7A25C30052
690176      614400       3  Label: "IMGB"
Type: 5DFBF5F4-2848-4BAC-AA5E-0D9A20B745A6
UUID: AD6871EE-31F9-4CF3-9E09-6F7A25C30053
1304576        2048       4  Label: "CONFIG"
Type: 13307E62-CD9C-4920-8F9B-91B45828B798
UUID: AD6871EE-31F9-4CF3-9E09-6F7A25C30054
1306624    15470559       9  Label: "P3"
Type: 5F24425A-2DFA-11E8-A270-7B663FACCC2C
UUID: AD6871EE-31F9-4CF3-9E09-6F7A25C30059
16777183          32          Sec GPT table
16777215           1          Sec GPT header
Note that different size disks are likely to produce different PCR5 values because the end sectors will be different.

Should we adjust
https://github.com/lf-edge/eve/blob/1d68e8f0e9b16a6a32f663780eeead70fa73d175/pkg/storage-init/storage-init.sh#L171
with that logic?

Good catch.
The storage-init code applies when we recreate the partitions. At that point in time we don't know whether random or fixed is desired, so I can make it use the fixed UUIDs. Does that make sense?

Good catch. The storage-init code applies when we recreate the partitions. At that point in time we don't know whether random or fixed is desired, so I can make it use the fixed UUIDs. Does that make sense?

Well, probably we can make some logic around partition we have (IMGA), if it have predefined uuid assigned for IMGA we can make IMGB with fixed uuid as well.

Well, probably we can make some logic around partition we have (IMGA), if it have predefined uuid assigned for IMGA we can make IMGB with fixed uuid as well.

Done

not sure, if we need somehow implement the same logic for zfs disks

I suspect so, and zfs seems to create two partitions on such disks but I don't know where/when that creation happens.
So let's figure that out in a separate PR.


Resize contents of rear view controller?

Hi, I'm pretty new to Xcode/Swift, so I'm just wondering.
At the moment, I have my rear view controller set to a UITableViewController which has cells, which the user can press and then information is passed to the front view controller. This all works perfectly. The only issue is, the table view itself does not resize to the width of the menu, meaning content is cut off.
I cannot for the life of me figure out how to automatically resize the contents of the UITableViewController to fit the size of the SWRevealViewController. I've attached a screenshot to explain what I mean.
Any help would be hugely appreciated!

It is normal as a UITableView use the entire view of it's controller (UITableViewController). If you want to resize your tableview you have to manage it in a UIViewController subclass.

Thanks a lot for the hint, I'll try doing it that way then!

You can also keep your table view controller and set the property rearViewRevealOverdraw to 0

Take a look on my answer here, hope this help
https://stackoverflow.com/a/46444950/2741910


Full submission GCSTs list needs to be accessible from the depocuration app.

As a curator, when assigning traits (incl. reported traits, EFOs and background EFOs) in the depocuration app, I need to be able to access the full list of GCSTs and study tags for the submission from within the depocuration app, without having to open a different app (e.g. deposition). For studies that were added in the original submission template via the deposition app, the GCST and study tag must always remain the same as in that original template. If an edit has already been made in depo-curation (including assigning traits to the original studies; or creating and assigning traits to new studies) then this full list of GCSTs and study tags should include those changes.
It is important that the list of GCSTs matches the original submission for any studies that are in the original submission, so that if a study tag has been inadvertently edited, the upload will fail due to a mismatch and draw attention to the problem. However, trait annotations or additional studies that were added through previous edits in depo-curation should be preserved, so that they are not accidentally left out and wiped when the new template is uploaded.
One useful solution would be to provide a download button on the studies tab which acts in the same way as the download button on the samples tab, which provides a prefilled template with GCSTs and study tags already filled in, and the additional columns for reported trait, EFO, background EFO, which may be empty (if this is the first edit) or filled (if this is a subsequent edit).
Samples tab:

Samples download prefilled template:

Studies tab:

Suggested studies template to be prefilled with GCST and study tag only (if no edits have been made in depo-curation yet):

Suggested studies template to be prefilled with GCST, study tag and trait annotations (if edits have been made in depo-curation already):

Note, the EFO Shortform is the most important field to display (separated by pipes if multiple)


Incorrect information about the registry key of SCA

In the documentation, it's stipulated that the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\Licensing is a DWORD value.
With this section related to App-V, we could infer that the key for ClickToRun (given just above) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration would be a DWORD value too.
However, when you try to set it as a DWORD value, Office doesn't pickup the setting.
If you use ODT to deploy Office 365 with SCA, the registry key is created with the type REG_SZ.
I think the documentation should clearly state the correct type for the registry key.
Regards.

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

ID: 8ab31873-7ad3-afde-3c72-8a7fb4f2e551
Version Independent ID: 19f7f483-9f53-f577-1cd4-d360c0b234fc
Content: Overview of shared computer activation for Office 365 ProPlus
Content Source: DeployOffice/overview-of-shared-computer-activation-for-office-365-proplus.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

I've submitted pull request #752 to clarify the actual reg type required. Thanks for your feedback!
@DHB-MSFT Please merge #752 and then close this issue. Thanks.

#752 has been merged, @jwhit-MSFT please close this issue


gets function modifying

Context
Most of us used gets() function to get the string which include space from user. But I heard that gets function is not stable and dangerous for input function. Because it doesn't have limitation of input. So I think that it would be better to use fgets function than gets function.
Current Result
If I input more than size of input array, the program is ended.

Expected result
Please describe here below what should be the expected behaviour
If we changed gets function to fgets function, the program will only use size of input array when the input size is longer than array size. It means that program will not be ended.
Additional info
The example of using fgets function is like this : fgets(courseName, sizeof(courseName), stdin). First parameter is the variable where the input will be stored, the second parameter is the limitation of input, and the last parameter means we will get the string from user's input.
And the result of fgets function will include '\n' at the last. So we should change it to '\0'.
For example, str[strlen(str)-1] = '\0'

제가 맡은 부분에서 gets()가 쓰인 부분 확인하고 수정하겠습니다!

저도 입력받는 부분에 gets 함수를 썼었는데 안정적이지 않다는것을 몰랐네요 추천해주신 fgets 함수로 수정해보겠습니다!

I changed all of gets function to fgets function in program. So you don't need to change it. Just check it in #46 !


RTT Tracing is not working using NXP mimxrt1064_evk

Describe the bug
I would like to use RTT tracing with Segger SystemView and it does not work as specified with NXP MIMXRT1064_EVK. My Segger J-Link is not able to find the RTT control block for this board. Using the same setup with another board (Atmel sam_e70b_xplained) does work without any problems.
To Reproduce
Steps to reproduce the behavior:

Add CONFIG_SEGGER_SYSTEMVIEW=y and CONFIG_TRACING=y to the prj.conf file of any application (for example for the synchonization sample)
Build and flash the application
Try to capture RTT data with Segger SystemView or open the Segger web control panel and switch to the tab "RTT"
SystemView shows the Error: "Could not find RTT Control Block"
The segger web control panel displays that there is no RTT communication at all

Expected behavior
RTT logging should work to analyze the applications behaviour. The same setup works out of the box with Atmel sam_e70b_xplained.
Environment (please complete the following information):

OS: Windows
Toolchain: gnu-arm-embedded
Commit: Release v2.3.0

@MaureenHelm thank you! I tested it and now SystemView does find the RTT control block but unfortunately it is not showing any received events or tasks. Furthermore the uart-terminal stops transmitting data as soon as I start recording in SystemView so possibly the CPU is halted.


Option to test a search engine

Thank you for this useful extension 👍
It allows me to add more specific search engines to firefox.
For cases, when a user is not satisfied with the results of a search string or
if the search string is incorrect,
I propose to add
An option to test a new search engine before it is added to firefox.
This is related to
Show error information on screen in case of incorrect URL #17
and gives the ability to improve a search string back to the user before it is added to firefox

Available in v3.3.0, check the new settings page


Unable to pass bazel tests

Hi, I'm following the Quick Start to build the command line tool for evaluation. However I get the following error:
`INFO: Writing tracer profile to '/home/users/myname/.cache/bazel/_bazel_myname/94779e27959809881a12fee9a754d13c/command.profile.gz'
INFO: Analyzed 18 targets (46 packages loaded, 1546 targets configured).
INFO: Found 10 targets and 8 test targets...
INFO: Deleting stale sandbox base /home/users/myname/.cache/bazel/_bazel_myname/94779e27959809881a12fee9a754d13c/sandbox
ERROR: /home/users/myname/.cache/bazel/_bazel_myname/94779e27959809881a12fee9a754d13c/external/com_google_protobuf/BUILD:388:1: Linking of rule '@com_google_protobuf//:protoc' failed (Exit 1) gcc failed: error executing command /opt/rh/devtoolset-4/root/usr/bin/gcc @bazel-out/host/bin/external/com_google_protobuf/protoc-2.params
Use --sandbox_debug to see verbose messages from the sandbox
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/code_generator.o:code_generator.cc:function google::protobuf::compiler::ParseGeneratorParameter(std::string const&, std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >): error: undefined reference to 'std::__throw_out_of_range_fmt(char const, ...)'
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/command_line_interface.o:command_line_interface.cc:function google::protobuf::compiler::(anonymous namespace)::PluginName(std::string const&, std::string const&): error: undefined reference to 'std::__throw_out_of_range_fmt(char const*, ...)'
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/command_line_interface.o:command_line_interface.cc:function google::protobuf::compiler::CommandLineInterface::InterpretArgument(std::string const&, std::string const&): error: undefined reference to 'std::__throw_out_of_range_fmt(char const*, ...)'
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/command_line_interface.o:command_line_interface.cc:function google::protobuf::compiler::CommandLineInterface::ParseArguments(int, char const* const*): error: undefined reference to 'std::__throw_out_of_range_fmt(char const*, ...)'
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/java_helpers.o:java_helpers.cc:function google::protobuf::compiler::java::SortFieldsByNumber(google::protobuf::Descriptor const*): error: undefined reference to '__cxa_throw_bad_array_new_length'
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/objectivec_message.o:objectivec_message.cc:function google::protobuf::compiler::objectivec::(anonymous namespace)::SortFieldsByNumber(google::protobuf::Descriptor const*): error: undefined reference to '__cxa_throw_bad_array_new_length'
bazel-out/host/bin/external/com_google_protobuf/_objs/protoc_lib/objectivec_message.o:objectivec_message.cc:function google::protobuf::compiler::objectivec::MessageGenerator::GenerateSource(google::protobuf::io::Printer*): error: undefined reference to '__cxa_throw_bad_array_new_length'
bazel-out/host/bin/external/com_google_protobuf/_objs/protobuf/dynamic_message.o:dynamic_message.cc:function google::protobuf::DynamicMessageFactory::GetPrototypeNoLock(google::protobuf::Descriptor const*): error: undefined reference to '__cxa_throw_bad_array_new_length'
collect2: error: ld returned 1 exit status
INFO: Elapsed time: 91.393s, Critical Path: 33.57s
INFO: 639 processes: 639 processwrapper-sandbox.

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
tensorflow info:
1.14.0 gpu version
OS info:
CentOS 7.6.1810 Core
I'm using the right version in the requirement but still struggling to get the bazel build run correctly. Can someone help me out here? Thank you so much!

It looks like it failed to build protobuf. I have never tested it in CentOS. I do not have time to play with it for now.  Will try it when i have time.
Do you have access to a ubuntu machine?
Also i tried with tensorflow cpu 1.14 though i do not think that matters here. TF is not needed to build the metrics computation tool

Hi, thanks for the quick reply. Unfortunately I only have access to a CentOS machine which is used in my lab. I tried building it several times and still no success. And now I keep seeing this error related to hungarian:
`-bash-4.2$ bazel test waymo_open_dataset/metrics:all
INFO: Writing tracer profile to '/home/users/myname/.cache/bazel/_bazel_myname/94779e27959809881a12fee9a754d13c/command.profile.gz'
INFO: Analyzed 18 targets (46 packages loaded, 1546 targets configured).
INFO: Found 10 targets and 8 test targets...
INFO: Deleting stale sandbox base /home/users/myname/.cache/bazel/_bazel_myname/94779e27959809881a12fee9a754d13c/sandbox
ERROR: /home/users/myname/waymo-open-dataset/waymo_open_dataset/metrics/BUILD:186:1: Linking of rule '//waymo_open_dataset/metrics:hungarian_test' failed (Exit 1) gcc failed: error executing command /opt/rh/devtoolset-4/root/usr/bin/gcc @bazel-out/k8-opt/bin/waymo_open_dataset/metrics/hungarian_test-2.params
Use --sandbox_debug to see verbose messages from the sandbox
bazel-out/k8-opt/bin/_solib_k8/libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so: error: undefined reference to 'std::__throw_out_of_range_fmt(char const*, ...)'
bazel-out/k8-opt/bin/_solib_k8/libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so: error: undefined reference to 'std::runtime_error::runtime_error(char const*)'
collect2: error: ld returned 1 exit status
INFO: Elapsed time: 17.830s, Critical Path: 11.61s
INFO: 630 processes: 630 processwrapper-sandbox.
 And, any general guide for debugging bazel build (I was struggling when building things using bazel whose error messages seem hard to interpret)?
Thank you so much for the support!

How about trying docker? I have not got time to try this on centos
Try the following command:
(assuming docker is installed on your os)
docker build --tag=open_dataset_pip -f pip_pkg_scripts/build.Dockerfile .
sudo docker run -it --entrypoint=/bin/bash -e "GITHUB_BRANCH=master" -e "PYTHON_VERSION=3" -e "PYTHON_MINOR_VERSION=5" -e "PIP_MANYLINUX2010=1" -e "TF_VERSION=1.15.0" open_dataset_pip
(you can change env if you like)

yes, docker is fine


Run importers as apps

The importer infrastructure predates our "app" infrastructure.
We should probably convert importers into apps, and run them in separate processes, which would have two nice advantages:

people can write them in other languages
importer development would be more iterative, not having to restart camlistored & reload the index every time. (at least in the default configs; it's true one could wire it up differently with a fancy config)

/cc @lindner @mpl @tgulacsi

I recently saw your slide deck for LinuxFest NorthWest about Perkeep and started to look into developing my own importers. I'd very much like to see this as it'd seem to me to be much simpler to implement. (I have a variety of small ruby scripts to ingest various personal services, so I'd like to pull their feeds into Perkeep as well.)

importer development would be more iterative, not having to restart camlistored & reload the index every time

I forgot to update this bug when @mpl did 99e71732b9c5f9883ddd72f08eeee48cd0d67d86 adding pk-devimport. That makes importer development painlessly incremental, without restarting a server.
@evaryont, if you want to write an importer in a different language today, you already can, using Perkeep's app environment. But you'll need to write all the Perkeep libraries for that language (a fair bit of work, none of it very hard, though), and currently we only have Go support. We used to have Python but I think it's mostly bitrot at this point.

I'm not sure if I'm missing something, but are there any docs about how you'd configure perkeep itself to get the app environment initalised? I see that scancab and publisher both have entries in the server config struct, but don't see anything that'd be more generic. Just an example on how to run the hello app might be useful, as I don't see anything that would be the configuration for that, either.

@AmandaCameron, it's painful right now because it requires using the "low-level config" JSON format, which we all hate. I don't recommend learning it because it's about to die when https://github.com/perkeep/perkeep/issues/1134 is done, changing the config file format, and then we'll only have one type of config, not the easy-vs-hard like today.
But if you're curious, you can run perkeepd with this env var set:
`CAMLI_DEBUG_CONFIG` (bool)
: Causes pkg/serverconfig to dump low-level configuration derived from
  high-level configuation on load.

Is there any update here? I'm interested in spitballing some importers, and I've seen a couple of references both to pk-devimport and to the config migration to TOML, but at least in #1134, the last posts are about a year ago (exactly, in 2 minutes! LOL). What's the latest on how close the TOML migration is? I'd love to start playing with pk-devimport if possible!


watch closed before Until timeout

Hi,
we got reproducable error messages from tiller/helm during helm install process of a job chart.
The job it self gets finished successfully in kubernetes, but helm/tiller dies with the error message from above.
Tiller log:

09:16:35[tiller] 2017/09/08 07:16:35 preparing install for jobx

09:16:35[storage] 2017/09/08 07:16:35 getting release history for "jobx"

09:16:35[tiller] 2017/09/08 07:16:35 rendering postinstall chart using values

09:16:352017/09/08 07:16:35 info: manifest "postinstall/templates/configure-storage-nfs.yaml" is empty. Skipping.

09:16:35[tiller] 2017/09/08 07:16:35 performing install for jobx

09:16:35[tiller] 2017/09/08 07:16:35 executing 5 pre-install hooks for jobx

09:16:35[kube] 2017/09/08 07:16:35 building resources from manifest

09:16:35[kube] 2017/09/08 07:16:35 creating 1 resource(s)

09:16:35[kube] 2017/09/08 07:16:35 Watching for changes to Job configure-buckets with timeout of 5m0s

09:16:35[kube] 2017/09/08 07:16:35 Add/Modify event for configure-buckets: ADDED

09:16:35[kube] 2017/09/08 07:16:35 configure-buckets: Jobs active: 1, jobs failed: 0, jobs succeeded: 0

09:17:06[tiller] 2017/09/08 07:17:06 warning: Release jobx pre-install postinstall/templates/couchbase-buckets.yaml could not complete: watch closed before Until timeout

09:17:06[tiller] 2017/09/08 07:17:06 failed install perform step: watch closed before Until timeout

kube-apiserver reports very often:

09:16:03 E0908 07:16:03.467638 1 watch.go:228] unable to encode watch object: write tcp <IP_ADDRESS>:6443-><IP_ADDRESS>:36618: write: connection reset by peer (&streaming.encoder{writer:(*framer.lengthDelimitedFrameWriter)(0xc4206ebbc0), encoder:(*versioning.codec)(0xc425b55b90), buf:(*bytes.Buffer)(0xc421a29ea0)})

09:16:03 E0908 07:16:03.467674 1 watch.go:228] unable to encode watch object: write tcp <IP_ADDRESS>:6443-><IP_ADDRESS>:36618: write: connection reset by peer (&streaming.encoder{writer:(*framer.lengthDelimitedFrameWriter)(0xc4217c2760), encoder:(*versioning.codec)(0xc422ce5050), buf:(*bytes.Buffer)(0xc421962230)})

Tiller version: 2.6.1
helm version:
Client: &version.Version{SemVer:"v2.6.1", GitCommit:"bbc1f71dc03afc5f00c6ac84b9308f8ecb4f39ac", GitTreeState:"clean"}

Server: &version.Version{SemVer:"v2.6.1", GitCommit:"bbc1f71dc03afc5f00c6ac84b9308f8ecb4f39ac", GitTreeState:"clean"}
Docker version:
1.12.6
Operating system: 1465.6.0
Kubernetes: 1.7.4 (also tested 1.6.6 and 1.7.2 with the same results)
Howto Reproduce:

helm install --tiller-namespace anyname -n jobx -f values.yaml --namespace anyname jobs/

Error: watch closed before Until timeout

According to some unit tests, this appears to happen when the pod goes into a PodUnknown state. Can you confirm the state of your pods in the cluster?

Hi @bacongobbler,
I cannot confirm, Kubernetes reports always "PodCompleted".
The job and pod finish successful, but tiller stop working with "watch closed" error.
Regards,

Hi @bacongobbler ,
Short update:
When we start tiller local and set environment variable HELM_HOST=localhost: then we got helm install running without "watch closed" errors.
But this workaround is not acceptable for production area.
Regards,

I'm not familiar/aware what exactly would cause this issue. Can you please tell us how you deployed kubernetes (what cloud provider, or a link to documentation if on bare metal) as well as from what machine you are running helm from?
That way, we can try to stand up a similar kubernetes cluster to try and reproduce the issue. We have never hit a similar bug before in our production clusters on Azure Container Services.

Hi @bacongobbler ,
we deploy Kubernetes cluster via Rancher Server (rancher.com).
The underlaying OS from rancher server and the agents are CoreOS.
Kubernetes cluster it self runs inside of docker containers.
The "CloudProvider" is rancher and the underlaying hypervisor infrastructure is based on vSphere.
We already tried Rancher 1.6.6 up to 1.6.9 with Kubernetes versions 1.6.6, 1.7.2, 1.7.4 and always got the same results with helm/tiller.
Regards,

Hi @bacongobbler,
It seems that the watch close is related to the helm hooks.
I tried chart without the pre-install hook from the chart file, and helm did the job.
Our helm chart:
Chart.yaml:
apiVersion: v1 description: jobx name: jobs version: 1.0.0
values.yaml
replicaCount: 1 resources:   requests:     memory: 50Mi     cpu: 200m   limits:     memory: 300Mi     cpu: 300m
templates/jobx.yaml
apiVersion: batch/v1 kind: Job metadata:   name: jobx   labels:     chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"   annotations:     "helm.sh/hook": "pre-install" spec:   template:     metadata:       name: jobx     spec:       initContainers:       - name: init-waitforetcd         image: "{{ .Values.global.etcdctl.image.repository }}:{{ .Values.global.etcdctl.image.tag }}"         command: ['sh', '-c', 'until wget --spider --timeout=1 etcd:2379/v2/keys; do echo .; sleep 1; done;']       containers:       - name: jobx         image: "{{ .Values.global.jobs.image.repository }}:{{ .Values.global.jobs.image.tag }}"         imagePullPolicy: {{ .Values.global.jobs.image.pullPolicy }}         resources: {{ toYaml .Values.resources | indent 12 }}         command: ["/bin/sh", "-c", "/job.sh"]       restartPolicy: Never
You can try out the chart by run the containers with just run a shell (example image: centos/7)
It does not matter which command or image used. It always fail with watch close error.
Regards,

I have  the same error:
helm init --tiller-image gcr.io/kubernetes-helm/tiller:v2.7.2
kubectl rollout status deployment/tiller-deploy --namespace kube-system --watch=true"
Waiting for deployment spec update to be observed...
Waiting for deployment spec update to be observed...
Waiting for rollout to finish: 0 out of 1 new replicas have been updated...
Waiting for rollout to finish: 0 of 1 updated replicas are available...
error: watch closed before Until timeout
/remove-lifecycle rotten

/remove-lifecycle stale

I got the same issue via GitLab auto-devops.
Waiting for rollout to finish: 0 of 1 updated replicas are available...
error: watch closed before Until timeout
ERROR: Job failed: exit code 1

Just got the same issue with a very long --timeout setting

I got the same issue on a freshly deployed 1.10.6 AKS cluster using helm to deploy the stable/influxdb chart with the hook for post-install job https://github.com/helm/charts/blob/master/stable/influxdb/templates/post-install-set-auth.yaml
helm install stable/influxdb --values "C:\Users\JoelK\Desktop\influxValues.yaml" --name influx --namespace citadel --debug
[debug] Created tunnel using local port: '52467'

[debug] SERVER: "<IP_ADDRESS>:52467"

[debug] Original chart version: ""
[debug] Fetched stable/influxdb to C:\Users\JoelK\.helm\cache\archive\influxdb-0.10.0.tgz

[debug] CHART PATH: C:\Users\JoelK\.helm\cache\archive\influxdb-0.10.0.tgz

Error: watch closed before Until timeout
C:\Users\JoelK\Desktop\test\blueprints\k8s
λ  helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

Any updates on this?

I see the same issue on 1.10.3 AKS cluster using helm to uninstall heptio-ark.

I think the issue is with AKS as I am also having similar issue with AKS in westeurope region (1.10.6 k8s version)

Just stumbled on the same thing, although I can't reproduce it reliably, it pops up during the helm test phase after a new install during a deploy, and breaks the deploy(helm install, helm test, if fail: helm rollback).
I use AKS as well.
I think this might be relevant?:
Today 2:00:51 PM tiller-deploy-759cb9df9-w4xcf tiller [Error] 2018/08/23 19:00:51 Error getting status for pod simplecurl-tests: pod not found

Seems kubectl is trying to fix this in 1.12 with this PR https://github.com/kubernetes/kubernetes/pull/67817/files
@tnozicka
Maybe Helm should follow the same practice?

This is definitely an AKS issue:
https://github.com/Azure/AKS/issues/676

This is definitely an AKS issue:
Azure/AKS#676

My issue was on Tectonic

I got the same issue via GitLab auto-devops.
Waiting for rollout to finish: 0 of 1 updated replicas are available...
error: watch closed before Until timeout
ERROR: Job failed: exit code 1

I'm facing the same issue as you, i'm using a k8s cluster on DigitalOcean and i'm using autoDevOps on gitLab :)
Do you resolve your issue ?
Here is my gitLab console :

Here is what i got when i'm checking pods on my k8s

If this is using the kubectl rollout status command, I've fixed it in k8s 1.12. If it was using Until (UntilWithoutRetry) it should switch to UntilWithSync.

I'm in 1.13 for both k8s client and server according to my screenshot :)

no downgrade, it's in every release since k8s 1.12 (https://github.com/kubernetes/kubernetes/pull/67817/commits/77932116693a81198f919d7f5fe77bf3e6a91a27) - btw. its' client side fix so maybe helm is vendoring the old client?

Mmmh there is something i don't get it
I used the GitLab interface in order to install Helm on my kubernetes, and Helm seems to be installed :

But when i check via command line, there is no helm :

I think there is a relation with RBAC rules and the ServiceAccount i was force of bind with a ClusterRoleBinding, and maybe i have to use this ServiceAccount i have created to see helm ? ^^
But for answering to your last post, how can i check if helm is vendoring the old client ? :)

Helm is not an argument for the kubectl command.
Run kubectl --kubeconfig=... first in order to intitalise the credentials
using the kubectl app.
Then Helm version to run the Helm app.

I put my k8s-crypthome-kubeconfig.yaml at $HOME/.kube in order to not have to pass my credentials everytime.
I if type kubectl, am i supposed to stay inside my K8s CLI ? it seems strange to me what you tell me ^^

Helm is a separate CLI tool.

Ah, my bad, thanks for the info, it works better ^^

But unfortunately, i'm still stuck on my issue :'(

I'm having this same issue with Helm Test : https://stackoverflow.com/questions/54806918/helm-test-fails-with-error-watch-closed-before-untilwithoutretry-timeout?noredirect=1

I have the same issue with longer jobs.

If we use a load balancer, please check the timeout. You might want to increase the timeout value.

I use a loadbalancer between 3 nodes but it's a kubernetes cluster set up and managed by DigitalOcean so i don't know how to check and modify this value, i will do some research :)
But i'm trying to deploy a little app with jobs relatively short, done via gitlab AutoDevOps, seems strange ...

@BobLamarley You might want to just check with DigitalOcean Support. They could modify this setting for you. Usually, The idle timeout setting will be around 60 seconds. So, you are likely to have a problem when you have to watch running for more than 60 seconds.

@arocki7 it would better if it was fixed in Tiller. Long long polling may not be the best idea.

@maciej-sawicki-codilime It has been fixed in Kubernetes v1.12.
https://github.com/kubernetes/kubernetes/pull/67817

If it has been fixed, why am I still seeing this on Kubernetes 1.14.0 on AKS (westeurope)? It's a freshly created cluster too.

@agronholm this issue is fixed in kubectl but not in Helm/Tiller which do not use kubectl.
For us the error also still occurs and looks like:
[main] 2019/07/25 08:51:09 Starting Tiller v2.13.1 (tls=false)
...
[kube] 2019/07/25 09:07:53 Watching for changes to Job log-svc-kibana-ext-post with timeout of 50m0s
...
[tiller] 2019/07/25 09:27:52 warning: Release log-svc post-upgrade log-svc/templates/kibana/post-hook.yaml could not complete: watch closed before UntilWithoutRetry timeout

This happens in any Kubernetes cluster, it is not cloud-provider-specific.
If you run Tiller locally, like we do, then firewall/load balancer timeouts cause an error here https://github.com/helm/helm/blob/master/pkg/kube/client.go#L820-L842
If I read https://github.com/kubernetes/kubernetes/pull/67817 correctly, the fix is to use UntilWithSync instead of UntilWithoutRetry 🤞

Ah, so this needs to be fixed on the Tiller side? Getting that fix into Tiller could be problematic given that Helm 3 will not have a Tiller component.
But thank you for letting me know! :+1:

20/20 hindsight 😨
https://github.com/helm/helm/pull/4734#pullrequestreview-161769635
And it would be great if Helm 3 could be changed before forward-porting this issue:
https://github.com/helm/helm/blob/dev-v3/pkg/kube/client.go#L431
I'm going to boldly invoke @adamreese as he authored the original code 😄

@bacongobbler @adamreese Do you think this should be updated as suggested above using UntilWithSync instead of UntilWithoutRetry. If so, I can push a PR if you like.

Keep in mind that Auto DevOps requires port 5000 be exposed in Dockerfile and your app listening on it.

@hickeyma sure!

I also have this issue on long running hooks
Kubernetes v1.13.5
Helm v2.10.0

Sorry but got distracted and only getting back to this issue now.
The good thing is that it looks like it has been fixed by @riconnon in https://github.com/helm/helm/pull/6014. Thanks @riconnon.
Going to close this and we can re-open if its still exists.

I've encounter this issue in OpenShift cluster. My dirty hack for this (which surprisingly seems to work perfectly) is triggering rollout status twice and ignoring exit code of the first call:

oc rollout status dc $OS_DC --request-timeout=0 || true

oc rollout status dc $OS_DC --request-timeout=0


[T3A5][T09-A1]Lim Shun Xian

Apply Single Responsibility Principle

Ready for review

@Crsytral Some comments added. Please close the PR after reading comments.


POC: generic effects

Afternoon! This is a very experimental PR that is not at all production ready, and is very possibly not the direction y’all have been envisioning for this project. However, I do think it is interesting, and perhaps it could trigger some interesting discussion!
This PR re-defines Reducer to be generic over its Effects type. (Well, in this PR, just to keep this diff small, a new type called _Reducer is introduced, and Reducer is then redefined as a typealias for the previous shape. This is just for convenience of implementing the POC and is probably not the right way to do this “for real”).
Mechanically speaking, the next thing that happens is that reducer operators get floated “upwards” to live in less-constrained extensions. Two new protocols, HasNone and HasMerge (each given a deliberately bad name 😅) are introduced to support this. Some reducer operators can’t be generalized easily, so they continue to live in an extension where _Reducer.Effects == Effect<Action, Never>. (Just to be clear at this point, Effects is the new generic parameter introduced as part of this PR, and Effect is the existing TCA effect type. The constraint just mentioned recovers existing TCA behavior after the new generic initially breaks it.)
At this point there is some syntactic noise because writing an extension on a typealias doesn’t work well in Swift for some reason, but after fixing that, we can run the existing tests and they pass!
Now the fun part. We can start supporting generic effects. We’ll introduce this function:
public extension _Reducer {
  /// interpret a possibly simple `_Reducer` (`self`) in terms of an alternative (possibly more complex) `Environment` and `Effects`. To do this, provide a function (`localEnv`) which shows how to extract `Environment` from any other set of possibly larger dependencies (`GlobalEnvironment`). Also, provide a function which, given those larger dependencies, provides a mapping from this reducer’s `Effects` type into an alternative effects type (`NewEffects`).
  /// - Parameters:
  ///   - localEnv: a function that provides a mapping from some new environment type to this reducer’s `Environment` type
  ///   - effects: a function that uses the expanded environment to convert this reducer’s `Effects` into a new effects type (`NewEffects`)
  /// - Returns: a new reducer of type `_Reducer<State, Action, GlobalEnvironment, NewEffects>`
  func interpret<GlobalEnvironment, NewEffects>(
    localEnv: @escaping (GlobalEnvironment) -> Environment,
    newEffects: @escaping (GlobalEnvironment, Effects) -> NewEffects
  ) -> _Reducer<State, Action, GlobalEnvironment, NewEffects> {
    .init { state, action, env in
      let localEnv = localEnv(env)
      return newEffects(env, self(&state, action, localEnv))
    }
  }
}

This function “interprets” a _Reducer into a new effects type by providing a two mappings, one a pullback-flavored mapping from some GlobalEnvironment into the local Environment, and one covariant mapping into a NewEffects type. Very sneakily, the global environment is available during this second mapping.
Practically speaking, this lets us write reducers where the Effects are defunctionalized and can be represented by any value. We can then, at a time of our choosing, interpret such reducers into a functionalized or “terminal” effect type (e.g. TCA Effects) and use them in existing stores.
This opens up some interesting possibilities! I don’t have a ton of case studies, but I tried to add a couple. One is, sometimes a simple struct can be used to represent an effect. I updated the Counter example to send “analytics”; while the analytics reducer is layered on to the business logic reducer in a way we are already used to, the core of the analytics reducer doesn’t have to know anything about how to send effects. Its “effect type” is just this:
private struct CounterAnalyticsEvent {
  var message: String
  var userID: Int
}

It’s worth noting again that the defunctionalized counterAnalyticsReducer has a Void environment now; it no longer needs to know how to actually send the effects. I think this is particularly neato — writing a reducer where the effects are just a simple data type usually means that that reducer needs radically fewer dependencies than before.
I also updated the Effects Basics reducer in a similar way: the main body of the reducer now only knows about an enum EffectsBasicsEffect and no longer needs any dependencies. Just before using this reducer, we interpret it to rebuild the original TCA Effects.
There’s one other snippet in here that is basically just a sketch: _Reducer.replaceError can be used (I think! I have only just started playing with this) to turn a reducer where the Effect.Failure is not Never into a reducer where it is, by replacing all Combine errors with a provided action (e.g. FooAction.displayError("there was an error")). So, replaceError but at the Reducer level.
It’s possible that this technique could be used to support other “terminal” effects types as well. For example, my colleague @srgisme and I use this construction in an in-house library (which is heavily inspired by TCA, in case it wasn’t already obvious!) to support RxSwift for effects as well. (At the store level, there’s nothing fancy to this, we just have two different kinds of Stores.)
Thanks for the great library and all the awesome content! I hope this PR at least provides a fun Friday read!

@peter-tomaselli Since this is a proof of concept and not in a mergeable state, what do you think of closing this PR and instead starting a GitHub discussion that links to the branch/diff? That might be a better place to chat about these ideas without connecting the discussion to the lifetime of a PR.

@peter-tomaselli Since this is a proof of concept and not in a mergeable state, what do you think of closing this PR and instead starting a GitHub discussion that links to the branch/diff? That might be a better place to chat about these ideas without connecting the discussion to the lifetime of a PR.

@stephencelis Oh, I’d be happy to, that makes sense. I’m not super fancy with GitHub, is an issue the best way to go?

@peter-tomaselli GitHub added a handy discussions feature somewhat recently 😄 There's a new tab at the top of repos that support it, or here's a direct link: https://github.com/pointfreeco/swift-composable-architecture/discussions

Closing in favor of the discussion https://github.com/pointfreeco/swift-composable-architecture/discussions/732 ! ❤


Support EDG

It'd be fantastic if compiler explorer had support for the EDG frontend as a target compiler.

Hi! Thanks for suggesting interesting compilers to add to CE.
Unfortunately, if the EDG compiler you mention is https://www.edg.com/, their faq does not sound too good, both in price (https://www.edg.com/faq/price) and how the licensing would work.
If you have any more information, we would love to hear back
:)

I would be happy to initiate a discussion with EDG to see if they have interest in the idea, if you'd be willing to do the integration. If you'd like, drop me an email (aaron at aaronballman dot com).

CC @daveedvdv (we spoke privately a little about this).

I'm pretty sure we'd be happy to provide you with a demo version (we provide it to lots of people — it uses C as an intermediate language). The main issue is that we don't have an open library to go with it. Linking with C code is not a problem, but something as simple as  needs work.

FWIW, the way I've worked around this lack (and I suspect others have worked around it similarly) is to use ICC to get a rough idea of how EDG behaves.

Yes, but the problem with that workaround is that ICC-on-Linux uses something like EDG's --g++ option to work in GCC-compatible mode. That can be misleading if the code you're testing relies on some GCC extension/bug that EDG emulates perfectly in its GCC-compatible mode. One of the main benefits of using EDG is its strictness, which is weakened by asking it to act like GCC.
I would love libstdc++ to have a "no extensions" mode, where any functionality that depends on GCC extensions is disabled (or provided by a fallback implementation in pure C++) but that would be a lot of work.

This issue can be considered fixed by #5486

CE now supports EDG with --g++ and EDG with no standard library support. That still means you can't test any non-trivial C++ code except in GCC-compat mode.
So yes, this can probably be closed since "Support EDG" is now done ... but Daveed's comment still holds true: you can't really do much without a std::lib. But providing an EDG-compatible std::lib is out of scope for CE (we should probably address it upstream in GCC).

Is it a correct summary of current state of things that out of two EDG compiler groups, EDG-GNU is EDG's --g++ mode, with GNU extensions and GNU standard library, while EDG-DEFAULT lacks any extensions, and not able to handle anything requiring the Standard library?
CC @DarkArc

Is it a correct summary of current state of things that out of two EDG compiler groups, EDG-GNU is EDG's --g++ mode, with GNU extensions and GNU standard library

Yes.

while EDG-DEFAULT lacks any extensions, and not able to handle anything requiring the Standard library?

Yes. We have a very minimal library but nothing near a complete implementation.
All three major standard libraries currently require us to be in either Microsoft, GCC, or Clang mode to properly consume.

Yes. We have a very minimal library but nothing near a complete implementation.

Do you imply that EDG default has library support headers (e.g. <initializer_list>)? If so, is there a list of headers available in this mode?

We have our own (at least partial) implementation of the following headers:

compare
coroutine
edg_internal_defines
exception
initializer_list
new
source_location
stdexcept
stdfloat
typeinfo

They're really only intended to be used in the absence of a more complete standard library. They are available with the EDG Default mode compiler on Compiler Explorer.