RST language support

I'd love to see support for ReStructuredText ( http://docutils.sourceforge.net/docs/user/rst/quickref.html ) as it would make one of my current projects a lot simpler. It's similar but not identical to Markdown.

@Firehawke how about an extension for this :)

@bpasero I'd like to work on such an extension, but is there any guidance?
For example, I think I might get started from the markdown language support. Will it be enough to follow these?

https://github.com/lextm/vscode/tree/master/extensions/markdown
https://github.com/lextm/vscode/tree/master/src/vs/languages/markdown

Our docs are a good start: https://code.visualstudio.com/docs/extensions/overview

@bpasero Thanks. Will spend some time on that.
A few tasks before attacking on,

[ ] follow Microsoft's materials (doc+sample) to learn the extension model
[ ] find a suitable language parser to feed the extension
[ ] write the glue code to bridge the parser to the extension
[ ] pack up and test

There seem to be a few options but it takes a while to be familiar with them.

Just so that you know: It is currently not possible to open a preview in HTML from an extension like it is possible for markdown.

@bpasero Thanks for the tip. I glanced at the markdown language support and found that,

It happens to be based on an open source Markdown parser in JavaScript.
The glue code not only links that parser to VS Code, but also makes the preview work.

It would be difficult to find a reStructuredText parser in JavaScript right now. Existing ones rely on either Python or JVM.
Probably I will refer to languages such as PowerShell or Python to provide syntax highlighting first.

Finished some reading on this article and also found TextMate reST syntax highlighting support files. So I think I will revise the task list accordingly.

I just published 0.0.1 on the gallery, which implements the very basic feature set,
https://marketplace.visualstudio.com/items/lextudio.restructuredtext

@bpasero @egamma I think we can close this now. I created such an extension and published its 0.0.2 version a few hours ago. Syntax highlighting and code snippets have been supported. @Firehawke you can try it out.

:clap: thank you

Thank you, by the way. Work blocked me from replying until now, but this is definitely a good start and it looks like it'll be better than using Notepad++. Now I just need to work out a way to quick compile this through Sphinx+RTD, but that's a subject for a different thread.

@Firehawke Though not related to this, but you might learn from both RTD documentation and existing doc sites.
I have learned a lot from ASP.NET, and then started my very first for DockPanel Suite a few days ago. Well, actually that's why I am now using reStructuredText and decided to work on this VS Code extension :)

@Firehawke regarding 'Now I just need to work out a way to quick compile this through Sphinx+RTD'. I suggest that you look into the VS Code Task support https://code.visualstudio.com/docs/editor/tasks

@lextm Thank You. Just what I was looking for.
I am having problems with the section header snippets. Do they work for anyone else?
According to https://code.visualstudio.com/docs/customization/userdefinedsnippets regex replacements are not supported (yet).
Maybe a command that underlines the current line could be used instead. If the line is already a header, it could modify it to use the next header level. This is how the emacs rest-mode works.

@pgerell Can you open a new issue at https://github.com/lextm/vscode-restructuredtext so that I can better track it?
I am still digging into VS Code documentation to see how to further improve ReST support, so progress might be slow.

The repo has been moved to https://github.com/vscode-restructuredtext/vscode-restructuredtext and preview feature has been added since 0.0.7.

True sphinx-build enabled live preview is now available in 0.0.14+,
https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext

@lextm , you can try looking at https://www.npmjs.com/package/restructured and try doing a javascript based renderer. Won't be the same fidelity as sphinx, but would be considerably faster.

Thanks @mountgellert I will evaluate it but the design goal of vscode-restructuredtext is to show the actual sphinx output (no matter how slow it is). This JS library however can help me improve intellisense.


Fix money request amount input is partially visible after going back from currency selection page

Details

We use auto grow width for the amount input and setting the width based on the width of the text. But when the page is unfocused by going to another page, the width will becomes 0 and we set a minimum of 8 of width, so it's partially visible.
Fixed Issues

$ https://github.com/Expensify/App/issues/33465
PROPOSAL: https://github.com/Expensify/App/issues/33465#issuecomment-1870247928
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Open money request page
Enter any long amount
Press the currency button and select any currency
Verify when going back from currency selection page, the amount input is fully visible

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

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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label 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/50919443/ea030e84-9735-4f85-ae29-4997138eff5a

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/83367ffa-9225-49b4-abc2-1ee284691223

iOS: Native

https://github.com/Expensify/App/assets/50919443/bfe1a411-abe4-41b6-b2bc-72f286cc8f92

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/117f393f-16e6-4fb1-ab2f-27cb1e5b35f5

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/d28b201f-e58a-4d3e-ae30-83cd13e7e1e2

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/5cdc032b-f1d8-4b9c-b28b-6d8fd7a583da

@situchan please review this when you got the chance 🙇

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:

[x] 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label 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
https://github.com/Expensify/App/assets/108292595/f1258bdd-f234-4d79-8caf-08b0f6199292

Android: mWeb Chrome
https://github.com/Expensify/App/assets/108292595/9a897ee9-f38f-47b4-9932-8c527756abb5
https://github.com/Expensify/App/assets/108292595/57082f2d-2509-4036-a151-8d06586e6bb9
https://github.com/Expensify/App/assets/108292595/427ccd37-81ab-48fd-bf24-591011615e1b

iOS: Native
https://github.com/Expensify/App/assets/108292595/3d0e5f74-f55b-42b0-b436-d6e2d9eabd6c

iOS: mWeb Safari
https://github.com/Expensify/App/assets/108292595/d568a6e8-60ab-414c-a257-af8806f424b7

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/108292595/509e98e0-cd71-413a-bbeb-ee54f063f718

MacOS: Desktop
https://github.com/Expensify/App/assets/108292595/f71b6a4b-da0f-4201-9183-03a8b49a54de

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

This caused a minor regression:
https://github.com/Expensify/App/assets/47436092/3cf0e091-d362-4b95-9325-b12b09ff0123

Can be fixed like so:
diff --git a/src/components/TextInput/BaseTextInput/index.native.tsx b/src/components/TextInput/BaseTextInput/index.native.tsx
index afd796d8c8..7a230bc90f 100644
--- a/src/components/TextInput/BaseTextInput/index.native.tsx
+++ b/src/components/TextInput/BaseTextInput/index.native.tsx
@@ -426,7 +426,7 @@ function BaseTextInput(
                         styles.visibilityHidden,
                     ]}
                     onLayout={(e) => {
-                        if (e.nativeEvent.layout.width === 0) {
+                        if (e.nativeEvent.layout.width === 0 && e.nativeEvent.layout.height === 0) {
                             return;
                         }
                         setTextInputWidth(e.nativeEvent.layout.width);
diff --git a/src/components/TextInput/BaseTextInput/index.tsx b/src/components/TextInput/BaseTextInput/index.tsx
index 4fa47eff41..7ca8c69153 100644
--- a/src/components/TextInput/BaseTextInput/index.tsx
+++ b/src/components/TextInput/BaseTextInput/index.tsx
@@ -447,7 +447,7 @@ function BaseTextInput(
                         styles.visibilityHidden,
                     ]}
                     onLayout={(e) => {
-                        if (e.nativeEvent.layout.width === 0) {
+                        if (e.nativeEvent.layout.width === 0 && e.nativeEvent.layout.height === 0) {
                             return;
                         }
                         let additionalWidth = 0;

Thanks for the suggestion. But that didn't work either 😞
https://github.com/Expensify/App/assets/108292595/8e8897d9-5fcb-4265-adb2-6842db33a123
@bernhardoj I think we should revert this

Oh interesting, yeah I think it would be better to revert atm and figure out an ultimate solution

PR for straight revert https://github.com/Expensify/App/pull/35273 cc @roryabraham

I see. I forget to consider the auto-grow height case. The suggestion from @roryabraham actually works or we can handle it case by case
if (e.nativeEvent.layout.width > 0) {
    // set the new width
}

if (e.nativeEvent.layout.height > 0) {
    // set the new height
}

@situchan which one you prefer.

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.4.33-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.33-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


"General error: 1364 Field 'transfer_site_id' doesn't have a default value" after running Tsugi database upgrade

install Sakai Tsugi
install tsugi-migrate-to-brightspace into Tsugi
login to the Tsugi web app
click the Admin tab and login with the Tsugi admin pw
click "Upgrade Database"
click the Tools tab
click the Migrate to Brighspace "Details" button
click the "Try it" button
error

42000:42000:SQLSTATE[HY000]: General error: 1364 Field 'transfer_site_id' doesn't have a default value
This issue happens because the tsugi-migrate-to-brightspace/database.php script changes transfer_site_id column to be "NOT NULL"
Either the database.php script should set the  transfer_site_id  column to be "DEFAULT NULL"
Or other places in the code should set / include a value for transfer_site_id

In our production db:
transfer_site_id varchar(255) DEFAULT NULL,

Closed by #23


commented out CartModal until stripe int, added CheckoutForm Modal an…

…d imported to CartModal

should not have used cartmodal2


Enhance Items Table Filtering

Description
Serial Number:

Filter variant = Text
Data is string which leaves 5 options: select, checkbox, autocomplete, multiselect and text. Text and Autocomplete offer the most filtering functionality. Every Record has a unique serial number, so autocomplete is not necessary.
Filter mode = [Fuzzy, Contains, Starts With, Ends With, Equals, Not Equals, Between Inclusive]
The first 6 are the standard filter functions for text (as used in the previous PR). Between Inclusive was added just for this text column since it allows useful filtering for some patterns (i.e SFDE12 - SFDE 23)

Last Modified/Created:

Filter variant = Datetime-Range
Datetime is chosen since the data has that level of specificity. Range is chosen since it allows more functionality, and filtering for an exact datetime is not needed.
Filter mode = ['between inclusive', 'between']:
The standard filter functions for date-time ranges, following on from the previous table.

Warranty End Date/Delivered Date:

Filter Variant = Date-Range
These dates are displayed without the time, so date is the defacto variant.
Filter Mode = ['between inclusive', 'between', 'equals', 'not equals]
Between (inclusive) are the standard functions for range variants. Since the date does not include time, the equals/not equals functions can be useful (i.e filter for a specific delivery day) and have been included.

Asset Number/Purchase Order Number/Notes:

Filter Variant = Text
The defacto variant for string data; text and autocomplete provide the most functionality and the data is unique for each record, thus text is used.
Filter mode = [Fuzzy, Contains, Starts With, Ends With, Equals, Not Equals]
The standard filtering modes for string data, as used in the previous table PR.

Usage Status/Systems:

Filter Variant = Multi-Select
Users asked for a filter variant to filter by multi-selection
Filter Mode = [arrIncludesSome, arrIncludesNone (custom)]
Users asked to be able to filter by inclusion and exclusion, so these 2 functions provide that functionality

Is Defective:

Filter Variant = Checkbox
The data is boolean, and checkbox provides the variant to easily filter by true or false. Select offers similar functionality, however checkbox was designed specifically for booleans so was selected.
Filter Mode = N/A, no other functions needed

Properties:

Filter Variant: Boolean = Checkbox, String = Text, Number = Range, Null = Text
This uses the existing filter variants, except for boolean. Again, the checkbox variant is built specifically for booleans so was selected.
Filter Mode: Boolean = [] , String | Null =  [Fuzzy, Contains, Starts With, Ends With, Equals, Not Equals], Number = ['between inclusive', 'between', 'equals', 'not equals]
These are the standard filter modes used previously for string values, and number (date) values respectively.

Testing instructions
Add a set up instructions describing how the reviewer should test the code

[ ] Review code
[ ] Check Actions build
[ ] Review changes to test coverage
[ ] {more steps here}

Agile board tracking
connect to #1041

_Usage Status/Systems:
Filter Variant = Multi-Select
Users asked for a filter variant to filter by multi-selection
Filter Mode = [arrIncludesSome, arrIncludesNone (custom)]
Users asked to be able to filter by inclusion and exclusion, so these 2 functions provide that functionality_

for this section are the custom function needed can't you use equals and not equals ?

Unfortunately not, When I tried using equals, and not equals with the multi-select filter, it seems to compare the whole filter array with the record value. So with equals, if you select 2 or more filter values no records appear, and with not equals, every record appears.

Could you put Closes instead of connects to in the PR please so it auto closes the issue when merged. (Same for https://github.com/ral-facilities/inventory-management-system-api/pull/393)

I didn't consider this before, but would it be worth adding empty and not empty filters (inbuilt MRT ones) for any optional fields? @joshuadkitenge @joelvdavies

I didn't consider this before, but would it be worth adding empty and not empty filters (inbuilt MRT ones) for any optional fields? @joshuadkitenge @joelvdavies

yeah

I didn't consider this before, but would it be worth adding empty and not empty filters (inbuilt MRT ones) for any optional fields? @joshuadkitenge @joelvdavies

yeah

I've been able to add empty and not empty to all of the optional columns, except for date columns. The column sort of breaks (I've attached an image in the PR description


License and src

This PR continue the work from @nenadV91 Coingecko fetcher in https://github.com/nenadV91/devcon-token-list

Adds the license files
Move the script to src (so we can keep all our code in there, we plan to evolve this and add more scripts)
Renames the results dir into build (seems more standard)

Merging, @nenadV91 I address post-merge comments


Repo sync for protected CLA branch

The pull request is created from main638083657334193287sync_temp to main to fix git push error for protected CLA branch

Learn Build status updates of commit a799a67:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Dynamic DNS (dyndns) - NoIP Update broken since 21.1.5 -> 21.1.6

Hi all, the upgrade to 21.1.6 broke "os-dyndns"
I've already opened a topic on the forums...
Steps to reproduce the behavior:

Upgrade from 21.1.5|6 to 21.1.6|7
when using NoIP paid accounts no updates will be pushed

Steps to resolve the issue:

opnsense-revert -r 21.1.5 os-dyndns

Logs will follow...
Environment

OPNsense 21.1.6-amd64
APU2

It's in the release notes:
https://github.com/opnsense/plugins/blob/f7718fd6bfbbf9f2acc94d8498c6346c97f155b9/dns/dyndns/pkg-descr#L13

Danke/THX Franko,
but this doesn't solve the issue for me... How do I get it back to a working state?

For one you could contact the author annd/or inspect the commit... 98548b27811 I don't have this setup so I'm not going to interfere.

@vityank can please gi'me a hand. I'm by no means a programmer but can supply logs as needed

Hey mircsicz,
While the new API2 code works for me for a long time, let's inspect that could get wrong for you.

Do you you special symbols(Non latin alpha-numeric) in your user name(I think username is limited) or password?
Can you check the log for errors in DynDNS?

Sorry didn't get an Update / Notify on your post...

not so sure, see 4
I don't use an email as login, I use a username like this: group:username

This is the log for the 21.1.5 version
Jul 21 11:37:39 router configctl[12295]: event @<PHONE_NUMBER>.13 msg: Jul 21 11:37:39 router.ee.lan config[40483]: [2021-07-21T11:37:39+02:00][info] config-event: new_config /conf/backup/config-1626860259.1277.xml Jul 21 11:37:39 router configctl[12295]: event @<PHONE_NUMBER>.13 exec: system event config_changed Jul 21 11:38:00 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS: updatedns() starting Jul 21 11:38:00 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me): <IP_ADDRESS> extracted Jul 21 11:38:00 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me): running dyndns_failover_interface for wan. found pppoe0 Jul 21 11:38:00 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me via No-IP): _update() starting. Jul 21 11:38:01 router configctl[12295]: event @<PHONE_NUMBER>.52 msg: Jul 21 11:38:00 router.ee.lan config[40483]: [2021-07-21T11:38:00+02:00][info] config-event: new_config /conf/backup/config-1626860280.5161.xml Jul 21 11:38:01 router configctl[12295]: event @<PHONE_NUMBER>.52 exec: system event config_changed Jul 21 11:38:03 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me): _checkStatus() starting. Jul 21 11:38:03 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me): Current Service: noip Jul 21 11:38:04 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me): <IP_ADDRESS> extracted Jul 21 11:38:04 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS: updating cache file /var/cache/dyndns_wan_eernst.ddns.me_0.cache: <IP_ADDRESS> Jul 21 11:38:04 router php-cgi[40483]: /services_dyndns_edit.php: Dynamic DNS (eernst.ddns.me): (Success) DNS hostname update successful.

Hi, just to clarify, do you use 'group:' prefix in your username?
If so try to use without this prefix(I use group name as is with new code).
If it's a problem I'll add code to cut the 'group:' prefix if present.

Thx for asking, this is how I format the username:
groupname:accountname
I can't check atm because the machine's with issue's are remote and there's no one I could reach...

Ok,
What you write in 'hostname' field? Group name too, or one of its hosts?

I jusat realize this won't work for me as I've got specific group passwords, so if you cut the groupname part from the credential's this wouldn't fit to the default account username.
Or do I've a misunderstanding?

I use groups without special password, I think. In my case hostname field=group, account=account

Hey PR #2444 is ready for this ticket, and i moved it from Draft state to full PR after lot's of my own tests.
I've worked on it by creating new vhost and passworded group, with passwords having special symbols(including the : symbol).
Also in this change I fixed the status parsing(You got beforehand 'Unknown response', while needed to get 'Invlaid user name or password').
So, while you didn't answered the question about hostname(The very important one) i assumed that you used hosts inside the group for that.

WORKS
hostname=vhost from grp
user=group:userName
(And probably other combinations like group#userName, but didn't tested them specifically)
password:pass of the group.

This now works(With code from mentioned PR!) - If it's your case, then congrats.

CAN'T WORK, This unfortunately seem as not supported by No-IP backend
hostname=group
user=group:userName
password:pass of the group.

GROUP UPDATE(W/O GROUP PASSWORD).
hostname=group
user=userName
password:pass of the account.

Note - This is the case that is supported with main change, which broke your login. It didn't worked with old APIv1 backend , requiring to use hostnames directly.

@fichtner brauchst Du noch was?
Ich habe mir gerade mal für drei Kunden die über Dyn-IP angebunden sind einen Reminder erstellt der mich bei Ankunft an der Adresse daran erinnert ein Log zu erzeugen.

I believe the @vityank option 1 isn't working. I get Unknown Response using:
Hostname=(my personal hostname, custom domain, paid account)
user=group:account
password:(group password)
Although, if I use my main password instead of the group password, the update works, even though I'm still using group:account instead of my main username.

@Positronico
Did you applied the patch from the abovementioned PR or just used master/stable upstream branch? Because only patched version shall work, and this PR is not merged yet so patch must be applied manually for now.


ci: update go version for machine executor to 1.19.2

:tada: This PR is included in version 0.1.0-alpha.13 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Menu should be a modal with close button that cover all window on mobile

Menu should be a modal with close button that cover all window on mobile
It's very hard to click on this menu. Very small.

Here is an example of how I would like to see Sovryn menu on mobile. The site is liquality.io:

Here is an example of how I would like to see Sovryn menu on mobile. The site is liquality.io:

fixed in branch - feat/fix-mobile-menu

fixed in branch - feat/fix-mobile-menu


armel-iproc: clean up patches

Clean up the armel-iproc patches:

reorganize patch file names so the series don't overlap anymore
split the single iproc support patch into smaller chunks
drop iproc patches not relevant to our devices

Signed-off-by: Jonas Gorski<EMAIL_ADDRESS>

lgtm, waiting for pipeline to pass


String-ify more OpenSSL errors to fix TypeError: str returned non-string (type Error)

Addresses the rather cryptic message:
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  <...>
  File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 355, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=conn.timeout)
  File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 325, in _raise_timeout
    if 'timed out' in str(err) or 'did not complete (read)' in str(err):  # Python 2.6
TypeError: __str__ returned non-string (type Error)

Which can arise when using the pyopenssl contrib module and setting bad verification paths (e.g. file not found, invalid format, etc.).
An easy way to reproduce:
$ pip install requests ndg-httpsclient
$ python -c "import requests; requests.get('https://python.org', verify='/no/file')"

I think this is a similar issue as to #556? At least, I started down this rabbit hole from kennethreitz/requests#2524, but #792 wasn't quite enough to address it. With this change, I see the much better (though not quite good) error:
requests.exceptions.SSLError: ('bad ca_certs ("/no/file"): Error([(\'system library\', \'fopen\', \'No such file or directory\'), (\'BIO routines\', \'BIO_new_file\', \'no such file\'), (\'x509 certificate routines\', \'X509_load_cert_crl_file\', \'system lib\')],)',)

Feedback appreciated!

Can you please confirm that your problem is reproducible on the latest Requests? We should have fixed it.

I have confirmed that this is happening in requests 2.11.1 (the latest I can get with pip install requests), but only when ndg-httpsclient is also installed (otherwise, the pyopenssl contrib module isn't loaded due to the guarded import).
I haven't tried urllib3 v1.18, but since it looks like the code is still propagating the non-stringifiable OpenSSL Error directly (see change), I would expect the problem to still present, albeit triggered by a different set of installed packages.

@Lukasa not to pester, but step 4 of https://urllib3.readthedocs.io/en/latest/contributing.html suggests I should gently remind you to come back around to this :)

@sethp-jive, @Lukasa is on vacation at the moment; he'll get back to you when he gets back.

@sethp-jive Thanks for pestering! Sorry, it's hard to effectively notify people when maintainers are on a temporary absence. =(
So while this fix is good, it will interestingly not help the next release of requests. This is because we have changed the code path that urllib3 uses, which means that the except block in question is not used. You can see this by running the urllib3-specific version of this code:
import urllib3
import urllib3.contrib.pyopenssl
urllib3.contrib.pyopenssl.inject_into_urllib3()

http = urllib3.PoolManager(ca_certs='/no/path', cert_reqs='CERT_REQUIRED')
http.request('GET', 'https://python.org')

On my machine, this raises a OpenSSL.SSL.Error, which shows that we have lost our except block that is supposed to wrap this error. For that reason, I'd actually like an alternative patch. Would you be willing to move this except block into load_verify_locations and apply the fix there? You can then remove the except block from ssl_wrap_socket in that file. The fix will then apply in new versions of Requests, which will use the new PyOpenSSL code path.
Is that likely to be suitable?

No worries – I hope you had a good break!
I've moved the catch/rethrow block as you requested, and it appears to be working fine on my machine. Does the new patch look OK to you?

Yup, I'll write a test. The failure in CI seems spurious (address already in use), have you seen that one before or should I dig in to it?

Yeah, that'll be spurious.


Typed status  codes for render methods

Fiddling with this :) Do you still want to keep around the versions of redirect which take an int? Probably keep them around, but advertise the typed with Status variants 👍
To be honest I'm not 100% sold on the Status name. What do you think of StatusCode, HttpStatus?
The status codes are lifted from rack.

Did you comment something, I don't see any review comments ❓

Oh yeah moving Status into Action made sense. No idea if there is a better way to include the enum there, other than pasting it into action.cr.

I think copy pasting the enum is ok for now. We can consider extracting it later I think.

Awesome work :) thanks!


Add support for Kinesis Compression

Description
Placeholder Feature Request for an upcoming PR.
This proposal is to bring support for common compression formats already implemented in Druid’s code base (zstd, gzip, etc) to Kinesis streams.
Compression would be exposed via an optional configuration parameter in the Kinesis ioConfig, ‘compressionFormat’, that when enabled will perform decompression of records at the point of record collection.
Motivation
Unlike Kafka, Kinesis by default does not offer much opportunity for compression out of the box. Because of this, it is a common usage pattern for Kinesis customers to compress/decompress their own data across the wire.
Given that Druid already has internal concepts for compression in various popular formats (zstd, gzip, etc), it would be useful for high throughput customers to have the ability to compress data across the wire.
Our team (a fleet of enterprise Druid clusters at petabyte scale) has seen Kinesis cost reduction to the tune of 50-80% by implementing a custom build of Druid with Kinesis decompression capabilities with little to no discernible impact on ingestion overhead.
PR forthcoming in a few days, but I wanted to open this feature request for community discussion.

Looking forward to the PR. This will be a very useful capability.


Span context propagation for the java.net.URLConnection

Enrich the exit point to propagate the current span context. The implementation exists in the old inspectIT project and can be used if the interfaces are based on the OC. Figure our how can the Tracestate be altered by us in order to inject flow-map based tags.
Note that implementation should be generic and should require only a proper injector to be bounded to exit point.
System tests can be done with the Wiremock to provide that the correct headers are injected.

Already implemented


Further cleanup of VisualScript references

While #64822 did most of the cleanup, I used a more inclusive regex visual.?script to find a few more unnecessary references, as well as grepping for it in file names.

Brief glance says ok, but maybe can some else review.

Thanks!


Use fs cgroups by default

Our implementation of systemd cgroups is mixture of systemd api and
plain filesystem api. It's hard to keep it up to date with systemd and
it already contains some nasty bugs with new versions. Ideally it should
be replaced with some daemon flag which will allow to set parent systemd
slice.

ping @vishh @crosbymichael

LGTM :100:

With this, all container processes will in the same service or scope with daemon, so users can not control them by systemd commands, isn't that a regression we need to warn systemd users for now?
I agree we should allow to set parent systemd slice as I suggested in https://github.com/opencontainers/runc/pull/336#issuecomment-151100282, but are we planning to achieve this with plain filesystem api and eventually remove systemd code for good? I think it'll be much easier to keep some systemd api and share others with cgroupfs. Anyway that's another story.

@hqhq Yeah, actually I plan to introduce daemon-wide cgroup in next release. Also I think all containers will be in PID 1 cgroup, not daemon cgroup.

@LK4D4 Agreed, we had proposal for daemon-wide cgroups long time ago, and create containers in root cgroup makes more sense, constraints like cpu.share will act more like they expected, also I think that'll simplify hierarchy and unify behavior between cgroupfs and systemd. :+1:

what is a deamon-wide cgroup?

@crosbymichael like parent for all containers. There is nothing like this in this pr.

The parent is /docker/ right?

@crosbymichael I'm not sure, for me at least device cgroup in /user.slice/docker, but yes, for other cgroups it's docker.

@LK4D4 @crosbymichael I think daemon-wide cgroup is the cgroup for docker daemon, use it like docker daemon -m 2G, currently we create all container processes in daemon's cgroup with cgroupfs. It's not always in the same path because it depend on which cgroup daemon was in.
For example, daemon was in /sys/fs/cgroup/memory/, the root cgroup of memory, so container will in /sys/fs/cgroup/memory/docker/ae65xfe..., but if for devices cgroup, daemon was in /sys/fs/cgroup/devices/child/, container will in /sys/fs/cgroup/devices/child/docker/fdsafw76..., but the parent is always docker.
But the problem is systemd cgroup does not work like that, it always put container into system.slice by default, not into the daemon's cgroup, so that's not consistent. And I think always make containers have a parent docker doesn't make much sense, so I agree with what @LK4D4 will do.

How about providing a daemon flag which defines the default cgroup root for the daemon? It can default to /docker, but on systemd deployments, it can be overridden to /system.slice or some other slice?

@vishh that's what I had in mind

LGTM

@LK4D4: Can you update this PR to also include a daemon level flag for configuring the parent cgroup of all docker containers?

@vishh I prefer to do it in separate PR, because it'll be mostly docs PR and needed to be reviewed by more people.

Ok. I just want the configuration to land in the same release.
On Mon, Nov 16, 2015 at 10:44 AM, Alexander Morozov <
<EMAIL_ADDRESS>wrote:

@vishh https://github.com/vishh I prefer to do it in separate PR,
because it'll be mostly docs PR and needed to be reviewed by more people.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/17704#issuecomment-157131684.

@vishh I'll create issue and add to milestone.

LGTM

I think this section needs updating.

@icecrime Yup, thanks!
ping @thaJeztah @moxiegirl for docs

@moxiegirl I changed your suggestion.

LGTM

Thank you @LK4D4 LGTM

@thaJeztah for a quick eyeball and merge

LGTM 🐺
Windows builder are on holidays :sweat:

Changing this behaviour causes all of the container processes to run under the docker.service scope.
Which caused some weird behaviour with our RegisterMachine hooks.  Not sure this is a great idea, but we can run with the flag on the daemon.
 For me they run under root cgroups, like /sys/fs/cgroup/cpu/docker/<ID>. I started docker with default systemd unit-file on gentoo.

@LK4D4 Is that with systemd cgroups or without?

@mrunalp without systemd cgroups of course.

@LK4D4 Hmm, not sure with systemd I would expect them to go under some slice always. You could check under what slice the docker daemon is running for you.

@mrunalp Exactly problem with systemd :) You can expect anything you want, it just doesn't care.
Yes, my docker daemon is not in slice.

@LK4D4 It could be a configuration issue ;) It works fine in Fedora. Have you tried with ubuntu?

@mrunalp It most certainly will be third way on ubuntu.

Ubuntu/Fedora worked the same with default docker installs for me with systemd cgroups enabled ;)
In Ubuntu 15.10:
mrunal@ubuntu:~$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2015-11-19 14:42:16 PST; 23s ago
     Docs: https://docs.docker.com
 Main PID: 13492 (docker)
   CGroup: /system.slice/docker.service
           └─13492 /usr/bin/docker daemon -H fd://

Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.280041538-08:00" level=info msg="Default bridge (docker0) is assigned with an IP ... address"
Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.347544622-08:00" level=warning msg="Your kernel does not support swap memory limit."
Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.369984393-08:00" level=info msg="Loading containers: start."
Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.370317321-08:00" level=info msg="Loading containers: done."
Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.370444840-08:00" level=info msg="Daemon has completed initialization"
Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.370569268-08:00" level=info msg="Docker daemon" commit=76d6bc9 execdriver=native-...ion=1.9.0
Nov 19 14:42:16 ubuntu systemd[1]: Started Docker Application Container Engine.
Nov 19 14:42:16 ubuntu docker[13492]: time="2015-11-19T14:42:16.951244125-08:00" level=info msg="GET /v1.21/version"
Nov 19 14:42:27 ubuntu docker[13492]: time="2015-11-19T14:42:27.252629539-08:00" level=info msg="GET /v1.21/containers/json"
Nov 19 14:42:32 ubuntu docker[13492]: time="2015-11-19T14:42:32.458441728-08:00" level=info msg="POST /v1.21/images/create?fromImage=busybox%3Alatest"
Hint: Some lines were ellipsized, use -l to show in full.

mrunal@ubuntu:~$ sudo docker run --rm -it busybox sh
/ #
/ # cat /proc/self/cgroup
10:devices:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
9:cpuset:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
8:perf_event:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
7:blkio:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
6:net_cls,net_prio:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
5:memory:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
4:hugetlb:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
3:cpu,cpuacct:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
2:freezer:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
1:name=systemd:/system.slice/docker-44bcdebed3f2dc47bed65d04e13fca7c35962ed5dbfb8b388bbcdbdc0e907f74.scope
/ #

In Fedora 23
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2015-11-19 17:44:04 EST; 32s ago
     Docs: http://docs.docker.com
 Main PID: 1498 (docker)
   CGroup: /system.slice/docker.service
           └─1498 /usr/bin/docker daemon --selinux-enabled --log-driver=journald

Nov 19 17:43:51 localhost.localdomain docker[1498]: time="2015-11-19T17:43:51.816102072-05:00" level=info msg="Listening for HTTP on unix (/var/ru...r.sock)"
Nov 19 17:43:51 localhost.localdomain docker[1498]: time="2015-11-19T17:43:51.869317906-05:00" level=error msg="WARNING: No --storage-opt dm.thinp...ion use"
Nov 19 17:44:03 localhost.localdomain docker[1498]: time="2015-11-19T17:44:03.912048536-05:00" level=info msg="Option DefaultDriver: bridge"
Nov 19 17:44:03 localhost.localdomain docker[1498]: time="2015-11-19T17:44:03.912322294-05:00" level=info msg="Option DefaultNetwork: bridge"
Nov 19 17:44:03 localhost.localdomain docker[1498]: time="2015-11-19T17:44:03.923329800-05:00" level=info msg="Firewalld running: true"
Nov 19 17:44:04 localhost.localdomain docker[1498]: time="2015-11-19T17:44:04.052854839-05:00" level=info msg="Loading containers: start."
Nov 19 17:44:04 localhost.localdomain docker[1498]: time="2015-11-19T17:44:04.052980430-05:00" level=info msg="Loading containers: done."
Nov 19 17:44:04 localhost.localdomain docker[1498]: time="2015-11-19T17:44:04.052988407-05:00" level=info msg="Daemon has completed initialization"
Nov 19 17:44:04 localhost.localdomain docker[1498]: time="2015-11-19T17:44:04.052995974-05:00" level=info msg="Docker daemon" commit=04b7a8e-dirty...8.2-fc23
Nov 19 17:44:04 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost ~]# docker run -it --rm busybox sh
/ # cat /proc/self/cgroup
10:freezer:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
9:memory:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
8:devices:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
7:blkio:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
6:hugetlb:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
5:cpu,cpuacct:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
4:cpuset:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
3:perf_event:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
2:net_cls,net_prio:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope
1:name=systemd:/system.slice/docker-72401f960014d2d4cfa1cef8c036db9da45a97985443650e8d7264f68518d1c7.scope

@mrunalp I thought we're discussing cgroupfs option :) systemd cgroups same for me too.

I think the problem @rhatdan met is what I mentioned earlier https://github.com/docker/docker/pull/17704#issuecomment-154277943 ,

With this, all container processes will in the same service or scope with daemon, so users can not control them by systemd commands, isn't that a regression we need to warn systemd users for now?

That is kind of big change, but anyway, users want work with the old systemd way can always set the systemd flag.

This will also cause problems as we move towards the unified hierarchy where systemd will be controlling the cgroupfs.  We will be changing the defaults of all Red Hat based docker daemons to run with the systemd flag.  Sadly users will be hit with this change without knowing it has happened.

@rhatdan This breaking daemon with every systemd version change. You can find multiple reports on our github. I think it's better to enable it on only supported OS (RHEL), than break all others by default.

I think if this change is going to be made, then on a systemd based system we should still create a scope.  That is the big problem here.  All process in all containers will be in the docker.service scope.

@rhatdan it's not true for my systemd-226, because systemd doesn't put docker in docker.service at all. Could you show your docker.service? Is it in our repo?

How are you starting docker daemon?  In the docker.service unit file?

Bottom line the container processes all end up being in the same scope as the docker daemon.  This means if someone changes the cgroups of the docker daemon, all containers will be effected.  If some one of the container processes registers with systemd-machine, and then terminates systemd will attempt to kill all processes in the same scope as the container, meaning all processes under the docker daemon.  If you run the docker daemon by hand this means all container processes will be in the same scope as your user process.

@rhatdan Yes, I'm starting with systemd:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd://
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

What does systemd-cgls show?  Where is the docker daemon running?  Where is the container process running?

@rhatdan Sorry, seems like I misunderstood what we're talking here about. I thought we're talking about cgroups overall, but everything was about systemd cgroup. I'll fix this, no problem.

Right this is all about the "Scope" which in systemd terms is how it groups like processes together.  Each user, service, vm gets its own "Scope".  The problem with this change is the Docker container processes no longer get their own "Scope", they share the scope with the docker daemon.

@rhatdan Yeah, it appeared not so easy, because you can't just remove subscope from systemd cgroup :/

I see two sub-issues here:

Containers being grouped as cgroup children of docker daemon - This is undesirable. @LK4D4: I hope the daemon level flag you are planning on adding will land before this PR makes it into a release.
Starting docker container's under a *.scope cgroup - The main goal of this PR was to eliminate explicit systemd support in docker. Assuming that the motivation behind that change is valid, will it be possible to use the --cgroup-parent option to place docker containers under specific scopes @rhatdan? For example, unit files can include the following option --cgroup-parent=/system.slice/%H.scope.

Related issue: #18022

@vishh I will add flag tomorrow. However "name=systemd" cgroup seems to be usable only through systemd API. So, I'll appreciate any help on this. In worst case we will be forced to use systemd API even in fs cgroups(only for name=systemd).

I would hope --cgroup-parent would work.  We plan on shipping the docker daemon with the systemd support turned on, since we don't agree with this patch, and feel that this is a breaking behaviour.

I think what's not really covered well in this thread is the actual
reasoning for the patch.  With a newer systemd, the "unified hierarchy" was
enabled, which breaks our already fragile and faked systemd support.
Turning off that fragile implementation is the first step, fixing that
implementation comes next (which @lk4d4 is already working on).

Does docker info report back the native.cgroupdriver that is configured?


[MS.DI] Add the Rules.HotService field to store the DryIocServiceProviderCapabilities object for fast resolution

Currently, MS.DI when creating a scope calls the Resolve/GetRequiredService for the IServiceScopeFactory.
The IServiceScopeFactory is implemented by DryIocServiceProviderCapabilities which object is created in DryIoc MS.DI adapter and the stored in singleton scope via Use method. There are 3 entries in Used collection storing all the capabilities also including IServiceProviderIsService and ISupportRequiredService (the latter is the subject for the other issue #TBD).
As the Used objects are general purpose and given that the used collection is not empty now, means that every Resolution and Injection will examine and waste some time to check the Used objects.
TBD the details of why Use is slow on the hot path

Outdated, now capabilities are saved into the DryIocServiceProvider

Ok, but the HotService is the interesting idea.


feat: added gitpod badge 🥳

added GitPod Badge so that new contributors can use this repo in GitPod.

Tip: For documentation updates use docs: your message in commit

Tip: For documentation updates use docs: your message in commit

ok ok


Make changes to links and hover states based on working group feedback

What
Make final design decisions and tweaks to links and hover states after the working group review. List of things to do below.
Why
So we can ship the changes!
Who needs to know about this
Designer, developer
Further detail
Summary of working group review
Done when
Directly related:

[x] work out what to do with colour changes across all kinds of links, and make sure they're consistent
[x] users whose browsers don’t support text-decoration-thickness won’t see a change on hover, other than the pointer - cursor – decide whether we're ok with that or consider having a colour change too
[x] mock up multi-line links at every size to make sure the hover underlines don’t butt into the letters below
[x] check how the links look in legacy mode – make sure GOV.UK can ship it!

Review components that contain links that are treated differently and decide if they need to change at all:

[x] back link
[x] footer
[x] details
[x] header
[x] tabs

Broader scope but also worth doing:

[ ] split out the new examples to keep in the review app
[ ] revisit guidance on when not to underline links and whether we should change anything as a result

Update on design work
I changed the hover underline thicknesses to stop them crashing with text below at larger sizes (increasing the min width to 3px and decreasing the max to 0.12em). It’s a bit close with 16px body-s text, but if you set the minimum width too low, the hover thickness at 19px stays too thin. The aim is to make the state clearer – I think a 2px change in width is much more obviously visible, 1px is a bit too subtle.
I lean towards not applying a colour change on hover too, for the sake of consistency and simplicity. From what I remember, our previous experiments found that there wasn’t really a good way to apply a ‘universal tint’ that could apply the same darkening effect to any colour consistently. Something about not being able to darken white… If there’s no colour change, it also means you don’t have to worry about colour contrast of hover states so long as the text itself has enough contrast.
If we take that approach, 14% of users won’t see a visual change on hover other than the pointer cursor. Text-decroration-thickness is not supported by IE11, Samsung Internet (mobile), Firefox for Android (mobile), Opera Mobile (mobile), as well as older versions of the more common browsers.
Some questions in this area:

How does that browser support number change once you remove mobile browsers, for which hover states aren’t too relevant anyway? (Is that even a useful way to think about it)
Could do a polyfill for IE11 which would retain the existing colour change for those browsers? Would it be worth it?w

I’ve updated the listed components to be consistent with the link styles. Someone more skilled than me should probably look in detail at how the CSS actually works for all of these.
A couple of things to note on these components:
• The details component feels to me like the thicker underline should show when you hover any part of the element, including the chevron, not just the text. Wasn’t sure how to do this, might have to code it into the component rather than just including govuk-link-common in .govuk-details__summary-text
• For the header I used a fixed 3px underline width for all the links cos you’ve got a load of grouped elements very close to one another and having slightly different underline widths looked unbalanced to me. I stuck to using border-bottom for the logo link and mimicked the style of the other links, bc I wasn’t sure if it was possible to use text-decoration for the whole element. I’m not wild about the menu button hover state but I’m not wild about the menu button generally, and think that might be a can of worms for another day.

I lean towards not applying a colour change on hover too, for the sake of consistency and simplicity. From what I remember, our previous experiments found that there wasn’t really a good way to apply a ‘universal tint’ that could apply the same darkening effect to any colour consistently. Something about not being able to darken white… If there’s no colour change, it also means you don’t have to worry about colour contrast of hover states so long as the text itself has enough contrast.
If we take that approach, 14% of users won’t see a visual change on hover other than the pointer cursor. Text-decroration-thickness is not supported by IE11, Samsung Internet (mobile), Firefox for Android (mobile), Opera Mobile (mobile), as well as older versions of the more common browsers.
Some questions in this area:

How does that browser support number change once you remove mobile browsers, for which hover states aren’t too relevant anyway? (Is that even a useful way to think about it)

Switching to 'Usage relative' on caniuse gives us a better idea of where that 14% lies:

It's mostly Samsung Internet and older versions of Chrome, with a little IE11, and older iOS and Firefox in the mix.

Could do a polyfill for IE11 which would retain the existing colour change for those browsers? Would it be worth it?

I'm wondering if it’d be easier and safer to just keep the existing colour changes on hover ‘for now’ whilst we’re still aiming to support IE11 as a 'compliant' browser, and look at removing them and simplifying the hover styles later when IE11 has dropped off of our support matrix entirely, and once more users have updated to the latest versions of evergreen browsers. I don't think we'd be introducing any 'new' inconsistency? It just makes it perhaps a little more obvious.

The details component feels to me like the thicker underline should show when you hover any part of the element, including the chevron, not just the text. Wasn’t sure how to do this, might have to code it into the component rather than just including govuk-link-common in .govuk-details__summary-text

Yep, agreed. I think I've got this working fine, but because it's slightly 'special' I haven't yet found a way to do this without duplicating the underline styles in the component.

For the header I used a fixed 3px underline width for all the links cos you’ve got a load of grouped elements very close to one another and having slightly different underline widths looked unbalanced to me. I stuck to using border-bottom for the logo link and mimicked the style of the other links, bc I wasn’t sure if it was possible to use text-decoration for the whole element.

All sounds good. We'll need to do a little bit of work to make the underline width 'customisable' but that's OK. Is the offset the same?

I’m not wild about the menu button hover state but I’m not wild about the menu button generally, and think that might be a can of worms for another day.

I think the menu is technically a button rather than a link… but yes, this might be a can of worms we don't want to open just yet.
I think we'll also need to work out what to do with the footer as there's a bug in Chromium (affecting Chrome, Edge and Opera) when text-decoration-offset is used in a multi-column layout – see https://bugs.chromium.org/p/chromium/issues/detail?id=1190987#c7.
We might need to remove the offset for the footer only, and create an issue to undo that once the bug's been fixed and usage of the affected versions of Chrome drops off? It does mean those links look subtly different to the others, but it sort of works, I think, because they’re already different enough being black rather than blue?

I'm wondering if it’d be easier and safer to just keep the existing colour changes on hover ‘for now’ whilst we’re still aiming to support IE11 as a 'compliant' browser, and look at removing them and simplifying the hover styles later when IE11 has dropped off of our support matrix entirely, and once more users have updated to the latest versions of evergreen browsers. I don't think we'd be introducing any 'new' inconsistency? It just makes it perhaps a little more obvious.

Yeah this seems a sensible compromise. Let's do this.

We might need to remove the offset for the footer only, and create an issue to undo that once the bug's been fixed and usage of the affected versions of Chrome drops off? It does mean those links look subtly different to the others, but it sort of works, I think, because they’re already different enough being black rather than blue?

Yep sounds good

Have checked the links in legacy mode – the underlines all seem to work ok for me, just using the old colours.

Yeah this seems a sensible compromise. Let's do this.

Are we happy to keep the colour change for visited links as well? That was called out by the working group – although it's existing behaviour, it is possibly slightly more noticeable with the underline?

Just revisiting the links without underlines guidance. I think it broadly still stands. We could be stronger on it, and say you should really only remove underlines for things like navigation.
I think part of making the underlines lighter is to reduce the chance of "the number or placement of links mak(ing) them difficult to scan or interact with the element they’re part of"...
If we removed that bit it could read more like:
Links without underlines
Only remove underlines from links if it’s clear to the user from the context that they’re links, even without the underline. For example, links in a header or side navigation won’t necessarily need underlines. Users will understand that they’re links because of their position on the page and how they persist across different pages.
——
Someone who can actually write could tighten that up but hopefully you get the idea!

Are we happy to keep the colour change for visited links as well? That was called out by the working group – although it's existing behaviour, it is possibly slightly more noticeable with the underline?

I think let's keep it – makes it consistent with our approach with the other kinds of links. Like with those, we can revisit it when browser support is better and when if we decide to stop IE11 one day.


label colors

Hi, first of all thanks for this great gem. Is there a way to set label colors? does the API even allow this?

This issue was moved to gmailgem/gmail#32


v-model.lazy not working on el-input

<el-input
	type="textarea"
	autosize
	placeholder="Please input"
	v-model.lazy="textarea">

Despite using v-model.lazy, my textarea watcher is fired for every keystroke.

use @change.native='handleValueChange'

That isn't a good solution because you'll need to specific an additional function to handle updating the value.
Still seeing this issue


Flink oracle cdc demo

Proposed changes
Issue Number: close #xxx
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

这是来自QQ邮箱的假期自动回复邮件。你好，我最近正在休假中，无法亲自回复你的邮件。我将在假期结束后，尽快给你回复。


Feature of adding dark-light theme in footer

Description
This PR introduces a dark theme for the footer section in the profile area. The current background is white, which is not user-friendly in dark mode. This change aligns the footer with the overall dark theme of the application.
Changes Made

Updated the CSS/SCSS files to include styles for the dark theme in the footer section.
Adjusted the color scheme for text, links, and other elements in the footer to ensure readability in dark mode.
Ensured compatibility with the existing light theme, providing a seamless switch between themes.

Screenshots
Before:

After:

Testing

Verified the appearance of the footer in both light and dark themes.
Ensured that all text and links are readable and contrast well with the background.
Tested across different devices and screen sizes to ensure responsiveness.

Related Issues
Closes #2568
Checklist

[x] Code adheres to the project's style guidelines.
[x] Tested changes to ensure functionality and appearance are as expected.
[x] Added screenshots for visual changes.
[x] Reviewed by at least one other team member.

@anuragverma108  please merge my PR


exe_path() and related return Result with a specific error so downstr…

…eam is easier to understand the error

utACK efed1ace0cfe8bd433308e1786c3dec23e33ea58


feat: [PL-58047]: added uts for hpa

UT for hpa that works with hpa common function

Remove the test for global.autoscaling.targetCPU and global.autoscaling.targetMemory


Console logging is not visible when running in Android emulator

Ionic version:  (check one with "x")
[ ] 1.x
[ x] 2.x
I'm submitting a ...  (check one with "x")
[ x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Create a new project using ionic start.
Run ionic emulate|run android -l -c -s
Edit page
Save
Android emulator reloads app, however there are no console logs.
If I connect ddms and run logcat I can see the log statements appearing.
Expected behavior:

Android emulator should reload and console logging should appear in terminal.
If I update the scripts section of the package.json to look like this:
"build": "ionic-app-scripts build --dev",
"watch": "ionic-app-scripts watch",
"serve:before": "watch",
"emulate:before": "build",
"deploy:before": "build",
"build:before": "build",
"run:before": "watch"

Then console logs appear and reloading works but is flakey and the app won't reload properly and hangs with white screen of death.
Steps to reproduce:

Related code:
ionic run android -l -c -s
ionic emulate android -l -c -s

ionic run android -l -c
ionic emulate android -l -c

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.4
Node Version: v6.10.0
Xcode version: Not installed

I'm using Chrome -> Inspect Devices. It's way better for debugging on android than the standard console. But you're right - the standard console logs are not working here, too

This issue was moved to driftyco/ionic-cli#1980