Test code field too short in custom metadata pilot

Hi
I know it's not strictly good practice to have to cover the triggers with custom test code, but as another managed package is involved...
I have had to create rules in Classic DLRS due to the Test Code field only allowing 255 characters. Please could you revert this field back to being a Long text area so that we can make use of the custom metadata for our rule?

This is a duplicate of this issue. I'm waiting on a platform feature to support large text area fields, the 255 is a platform restriction at present. I could implement a workaround (a number of 255 text fields), but i want to hold out. My only suggestion is if your using another managed package (i'd love to know more details btw!) is to include a global method in the package that you can delegate to, thus the test code will fit into 255 characters.


Can't add testID to Checkbox

Description
I should be able to add testID to component
CodeSandBox/Snack link
Codesandbox
Steps to reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error

NativeBase Version
3.3.1
Platform

[X] Android
[ ] CRA
[X] Expo
[X] iOS
[ ] Next

Other Platform
No response
Additional Information
I'm adding testID to iOS, and accessibilityLabel and accessible to Android. Adding these to the NB Checkbox element does nothing.

Hi @OneHatRepo, Thanks for reporting the issue. We will look into it. if possible please share small code in snack or codesandbox.

Added codesandbox link

Hi @OneHatRepo, I am assuming you are using @testing-library/react-native.

Add inset to NativeBaseProvider as per docs Docs Link.
I was able to access value of isChecked using following Code.

import React from 'react';
import { render } from '@testing-library/react-native';
import App from './App';

it('renders correctly', () => {
  const { getByTestId } = render(<App />);
  const checkBox = getByTestId('testme');
  console.log(checkBox.props.isChecked);
  expect(checkBox.props.isChecked).toBe(true);
});

Let me know if it works for you. suggestion you can try
const checkbox = getAllByRole('checkbox');
expect(checkbox[0].props.accessibilityState.checked).toBe(true);

Viraj-10, I am not using Jest; I am using @wdio and Appium to inspect the components.
To better explain my situation, I create a new Expo app
expo init TestApp
Install NativeBase and its dependencies
expo install native-base react-native-safe-area-context react-native-svg
Tweak the App.js file to the following:
import {
	NativeBaseProvider,
	Box,
	Button,
	Checkbox,
} from 'native-base';

export default function App() {
	return (
		<NativeBaseProvider>
			<Box p={20}>
				<Button
					testID="myButton1"
				/>
				<Checkbox
					testID="myCheckbox1"
				/>
			</Box>

		</NativeBaseProvider>
	);
}

Now inspect the components in Appium.

The Button works as expected. It has an "accessibility id" of "myButton1" from the testID

The Checkbox has no such id. It ignores the testID.

Has this been fixed?

This is still a work in progress. We'll update you as soon as we release a new version with these changes. Thanks for your patience.

We have the same problem. We'd like to test our app with Selenium / Appium and we can't access the checkbox because the testid is on the wrong component in the DOM. (Not on the input) So it's not possible to get the "checked" property.
Is this still WIP ?

No news from this yet as of release 3.4.26 PR 😞

Any updates on this?

Any updates?

I don't expect any updates in NativeBase, because (seemingly) all development effort is going into GlueStack.


Add x86_64-unknown-linux-musl target

Note that this is a Tier 2 supported platform for Rust though, not Tier 1:
https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools

musl does not support loading shared libraries. So while we can use the x86_64-unknown-linux-musl target, it can only produce a static library (.a extension) and not a shared library (.so, .dylib or .dll).

0.2.3 now has a musl artifact libpact_ffi-linux-x86_64-musl.a.gz


Update kuadrant version

Update kuadrant operator module version.
Related to https://github.com/Kuadrant/kuadrant-operator/pull/166 and https://github.com/Kuadrant/kuadrant-operator/pull/153

Closing this for the moment as it's likely we will be able to replace the kuadrant-operator dependency with https://github.com/kubernetes-sigs/gateway-api/discussions/2012 in the near future.


base64 src for iframe

hi, is it possible to use base64 data src in "data-pym-src" or any other option
thankyou

I don't know, you'd have to test. I think you'd probably have problems due to the way that we append URL parameters to the source before creating the iframe.


[SPARK-31862] Remove exception wrapping in AQE

What changes were proposed in this pull request?

This PR removes the excessive exception wrapping in AQE so that error messages are less verbose and mostly consistent with non-aqe execution. Exceptions from stage materialization are now only wrapped with SparkException if there are multiple stage failures. Also, stage cancelling errors will not be included as part the exception thrown, but rather just be error logged.
Why are the changes needed?

This will make the AQE error reporting more readable and debuggable.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Updated existing tests.

cc @cloud-fan @Ngone51

Test build #123249 has started for PR 28668 at commit b0f2ad0.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/27871/
Test PASSed.

Test build #123249 has finished for PR 28668 at commit b0f2ad0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/123249/
Test PASSed.

yea, it's better to make the error behavior consistent between AQE and non-AQE. Thanks, merging to master/3.0!


Version 2.0.0-alpha ignores @internal and just works with @deptrac-internal

We noticed with the upgrade to deptrac v2.0.0-alpha that it doesn't throw a violation anymore if you use a class with @internal and use this class outside of its layer. If you change the annotation to @deptrac-internal the violation gets thrown again.

For everyone coming along this bug, you can fix it by defining your own annotation via config file:
deptrac.yaml:

Yes, this is a BC break coming from this PR: https://github.com/qossmic/deptrac/pull/1318


Prevent ctrl+c from printing stack trace

:hear_no_evil:

Coverage increased (+0.03%) to 97.7% when pulling 1ee78771c3c894d3f03cdebb24ba6efd1626ee5a on evil into 2fd249359448c2dc20999a2eebc28bd4d7fdc576 on master.

Coverage increased (+0.03%) to 97.7% when pulling 1ee78771c3c894d3f03cdebb24ba6efd1626ee5a on evil into 2fd249359448c2dc20999a2eebc28bd4d7fdc576 on master.


Bug if view is destroyed

I'm submitting a bug
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository

If the view is destroyed change detector fails because reference to old one has been destroyed!
https://github.com/akserg/ng2-dnd/blob/master/src/abstract.component.ts#L196
Here we need to check first id this._cdr.destroyed if this._cdr exist then we should activate change detector.
`

detectChanges() {
// Programmatically run change detection to fix issue in Safari
setTimeout(() => {
if(!this._cdr.destroyed){
this._cdr.detectChanges();
}
}, 250);
}

`
Pull req: https://github.com/akserg/ng2-dnd/pull/157
Best, Matija

Does anyone have any idea about updates in the npm package with this fix?


Add Jupiter Aggregator Extension

Description
This extension is pretty simple and has just two commands:
Menu Bar Token Price - This simply displays the value of SOL in USD in the menu bar
Compare Token Prices - This lets the user compare the value between two SPL tokens using Jupiter
Screencast
Link to Video
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Just starting this PR, will be adding screenshots too and a screencast for review 🫡

Ok should be good to review! :)

Hey @peduarte! I added the changes suggested, would you mine taking a look and providing further feedback? Also let me know if you have any info on how I could use two useFetch hooks in the same command!

@peduarte Made some more comments about some problems when using useFetch

Nice one!

Oh no!! It's not actually ready, I haven't been able to integrate useFetch successfully 😬😬 I was saying I had some progress but still had some questions in that review haha

@peduarte https://github.com/raycast/extensions/pull/4656#discussion_r1112332781

If it's ok I can just go back to using the old axios request method since it was technically working ¯_(ツ)_/ lol

https://github.com/raycast/extensions/pull/4892


A way to render a separate field

In many cases it is easier to render the form manually in the template file. Consider a simple form:
var form = forms.create({
	q: forms.fields.string()
});
form.handle(req, {
	other: function (boundForm) {
		...

I want to render that field in my template in a custom hand-crafted layout. Supposedly, form.fields.q.toHTML() and boundForm.fields.q.toHTML() should render the input field only (with the pre-filled submitted value in latter case), but instead they render the entire line with unwanted extra tags:

Q<input type="text" name="q" id="id_q" />

You can take a look on the degree of freedom in Django forms engine:
https://docs.djangoproject.com/en/dev/topics/forms/#customizing-the-form-template

Has there been any advancement on this? I find myself needing to output a single form into logical sub sections. toHTML on individual fields doesn't seem to maintain context of things like errors etc?

Can you elaborate on the use case? Specifically, why you find you need to do that?

Let's say I want to create Google2, which looks like Google but also validates the search string (yay!). Currently there is no simple way to do that because the forms library emits a lot of extra tags that Google doesn't have.

Or, let's say I want to create a new, better StackOverflow, and I started with the Sign up form: https://stackoverflow.com/users/signup (only without the javascript validation). Not possible either!

I am pretty sure that if I take top 10 modern sites, I wouldn't be able to process forms in any of them with your forms library. But that's what we do, don't we? We create sites that work and sell. Does that qualify as a use case?

I'm not sure I understand why that wouldn't be possible. You'd certainly need to overwrite toHTML on the widgets that you wanted to customize, but you can produce any form with forms, just not necessarily as configured out of the box.

Technically that's correct, and I was a little exaggerating.
But if there were a method that simply emits a naked input (a shortcut for boundField.toHTML(null, function(name, field, options) { return field.widget.toHTML(name, field) })), that would be suited for any of those top 10 sites out of the box, without any need for creating "widgets", and readily available for the division of labor between the backend node.js developer and the no-so-qualified guy that does the HTML cut and puts <input>'s where they belong.
95% of the form fields in the actual web sites do not conform to what boundField.toHTML() emits, and never will. 99% of the forms do not conform to what form.toHTML() emits, and never will. Basically we have a default which is only useful for prototyping and academic use, and we are forced to jump through hoops for any real work (involving commercial-grade design and HTML cut), while there is an obvious simple method which would allow to avoid any of that work and keep the code clean, simple, readable and supportable.

I found what I was looking for. To try and explain, I needed control over where in the DOM individual fields appeared. I was able to use the field.toHTML() method. The issue I had is that I needed to specify the name of the field in the first argument else it wouldn't bind.
With regards what Ilya is asking for, I have to agree. You have methods on the field object for the individual label, errors etc. Why not the standalone input too?

I'd be happy to review a PR that adds that - I think we can have a more productive discussion that way :-)


Always getting a "Error while initialize or login process"

While logging in I always get the message "Error while initialize or login process"
(node:23416) UnhandledPromiseRejectionWarning: Error: Error while initialize or login process.
    at Object.exports.login ([path]\epic.js:7:13)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:23416) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:23416) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

My code:
const { Launcher } = require('epicgames-client');

const launcher = new Launcher({ email: "email", password: "pass" });

exports.login = async (email, password) => {
    if(!await launcher.init() || !await launcher.login()) {
      throw new Error('Error while initialize or login process.');
    }

    console.log(`Logged in as ${launcher.account.name}`);
};

Also, is there any way to get more information on why it failed or something?

The same as mine :(

Okay, kekistanzalt's pull request helped. That asked for the exchange code and I could log in with that.
Would still like it being merged at some point, so I will leave this open for the time

This is due to asking for fill the captcha. Please read more here: https://epicgames-client.kysune.me/Client.html#login-options
kekistanzalt's pull request this PR have wrong approach to this subject and is ignoring resolveCaptcha method. Unfortunately at the moment isn't possible to easy solve captcha e.g. through link to captcha, because FunCaptcha is probably checking domain and browser fingerprint.
At the moment I can only add remembering a session feature in near future. But the captcha will still have to be solve while first login.

Version 2.0.23 allows use exchangeCode to login instead account's credentials. Read more here.
I think this issue can be closed.


Update log4j-slf4j-impl to 2.19.0

Updates org.apache.logging.log4j:log4j-slf4j-impl from 2.18.0 to 2.19.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.logging.log4j", artifactId = "log4j-slf4j-impl" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.apache.logging.log4j", artifactId = "log4j-slf4j-impl" }
}]

labels: test-library-update, early-semver-minor, semver-spec-minor, commit-count:1

already updated


Typing files seems to assume ES6 target.

RxJS version: 5.0.0-beta.9
Code to reproduce:

Create TypeScript project, in tsconfig.json set compiler target to ES5
Import RxJS
Compile it using tsc -p

Expected behavior:
No error
Actual behavior:
node_modules/@reactivex/rxjs/dist/cjs/Observable.d.ts(10,66): error TS2304: Cannot find name 'Promise'.

Additional information:
As expected, it is fine if the compilation target is changed to ES6.

Nevermind, I found that installing es6-promise or es6-shim typings globally in the project will fix the issue.

You can configure local type definition as well, such as https://github.com/ReactiveX/rxjs/issues/1604#issuecomment-222493862 way.


feat: Improve file_release support

Description
Support more operating systems for linux/file_release.rs that linux/lsb_release.rs can already detect.
Allow linux/file_release.rs to detect more information about an operating system.
Motivation
linux/file_release.rs does not yet match the functionality of linux/lsb_release.rs. Some systems which are claimed to be supported on the README are not detected where lsb_release is not present.
Todo

[x] Test Arch
[x] Support Debian
[x] Test Debian
[x] Support EndeavorOS
[x] Test EndeavorOS
[x] Support Garuda
[x] Test Garuda
[x] Support Gentoo
[x] Test Gentoo
[x] Support Manjaro
[x] Test Manjaro
[x] Test openSUSE
[x] Support Pop
[x] Test Pop
[x] Support Raspbian
[x] Test Raspbian
[x] Support Solus
[x] Test Solus
[ ] Test SUSE (sled and sles_sap)
[x] Improve testing clarity and naming
[ ] Add rolling release detection
[x] Add edition detection where possible
[ ] Add codename detection where possible
[ ] Add gathering of data from every release file instead of only the first match in order to obtain information that may be scattered between release files

I am finding some issues when categorizing some distributions.
There is only one Type::SUSE, but multiple variations, SUSE Linux Enterprise Server and SUSE Linux Enterprise Desktop, for example, exist which are not recorded as actual editions/variations within the os-release, but instead as different IDs (sles vs sled). To make matters worse, sles-sap has an ID=sles and the only difference is in CPE_NAME.
A similar issue appears between openSUSE Leap and openSUSE Tumbleweed, where the distinction is recorded as different IDs (opensuse-leapvsopensuse-tumbleweed`).
It is unclear to me whether they should be categorized into editions anyway, or if new Types are needed to differentiate, or if the current structure needs to be more deeply revamped in order to handle these more complex relationships between distributions, platforms (families?), etc.
Related #313 #312 #280

Sorry for the delay with response and thank you very much for the pull request!
I'm also not sure in what direction to go with editions and families, so suggestions are welcome. Ideally I want to both preserve maximum information in a convenient way and not to over-complicate it. Originally I only wanted to have a string in any consistent format just to print it in logs and potentially show on a dashboard, but I understand that other people have different use cases.
By the way, there already was a discussion about families, but people voiced the same concerns: sometimes it isn't obvious how to properly categorize a specific distribution.
Additionally I think that versioning (the Version struct) is too complicated. Now I would prefer to have a simple version string with all the details because it only introduces unnecessary complexity without benefits. I don't want to bump version to 4.0 just for that, though.

My idea with families was more to deal with complications that can arise out of doing certain things on Linux platforms. As an example, comtrya is a config management tool. We have some logic that may change depending on the OS. using OS_Info for Windows and MacOS is a breeze to match on. Linux though is a pain because often what we want to do, the distro doesn't matter since what we are doing is quiet often universal to distributions. So the families was feature was a way to introduce where if I could rely on it is linux and the distro doesn't matter, the same action will work whether it is Debian or Fedora or Arch without need to create a bunch of arms to match against each distro to do the same thing.


Why isn't my SmokeDetector instance communicating in chat?

It is seeing all the commands I type to the chat but doesn't reply to them, why?
Logs:
vos-mottor@vosmottor-H370M-DS3H:~/SmokeDetector/SmokeDetector$ python3 nocrash.py
2020-10-23 09:35:35,942:INFO:[NoCrash] Starting with persistent_arguments ['nocrash.py']
[09:35:36.515] Global blacklists loaded
[09:35:36.517] metasmoke host not found. Set it as metasmoke_host in the config file. See https://github.com/Charcoal-SE/metasmoke.
[09:35:36.517] No metasmoke key found, which is okay if both are running on the same host
[09:35:36.517] No metasmoke websocket host found, which is okay if you're anti-websocket
[09:35:37.107] ChatExchange username loaded from config
[09:35:37.107] ChatExchange password loaded from config
[09:35:38.313] chat.stackexchange.com: Login error LoginError: login with cookie could not be verified, try credential login instead
[09:35:38.313] chat.stackexchange.com: Falling back to credential-based login
[09:35:40.217] chat.stackoverflow.com: Login error LoginError: login with cookie could not be verified, try credential login instead
[09:35:40.217] chat.stackoverflow.com: Falling back to credential-based login
[09:35:42.029] chat.meta.stackexchange.com: Login error LoginError: login with cookie could not be verified, try credential login instead
[09:35:42.029] chat.meta.stackexchange.com: Falling back to credential-based login
[09:35:45.857] VosMottor/Smokey active
[09:35:45.857] MS host: None
[09:35:50.774] New IDs / Hybrid Intermediate IDs for math.stackexchange.com:
[09:35:50.775] [3877836]
[09:35:50.775] [ *Identical* ]
[09:35:51.044] New IDs / Hybrid Intermediate IDs for ux.stackexchange.com:
[09:35:51.044] [135160]
[09:35:51.044] [ *Identical* ]
[09:35:51.311] New IDs / Hybrid Intermediate IDs for astronomy.stackexchange.com:
[09:35:51.311] [7863]
[09:35:51.311] [ *Identical* ]
[09:35:54.217] Command received: !!/alive
[09:35:55.376] Returning cached links for post

config:
[Config]
location=VosMottor/Smokey

<EMAIL_ADDRESS>ChatExchangeP=<valid_password>

rooms.yml:
stackexchange.com:
  115386:
    commands: true

    msg_types:
      - debug
      - metasmoke
      - all-sites
      - experimental-all-sites
      - no-offensive-mask

I'm guessing your user does not have enough rep to participate in chat.

(Closing as not a bug; feel free to reopen if my diagnosis was incorrect.)

Nope it has 23 rep i earned yesterday for it.

How to reopen?

A-a-a-aHHHH! I created locked room and doesn't provided access. Yep, should be close.


Uncaught TypeError: Cannot read properties of undefined (reading 'withConfig')

After installing plugin, I wasn't able to use Strapi, because of this mistake:

My Strapi version is v4.4.1.
My Node version is v16.14.2
I use Next.js v13.0.2

Hi @nickkaradzha
I tested with strapi v4.15.5 and node v18.17.0 and the plugin is working correctly.
Please try:

upgrading to the latest version of strapi
upgrading node version
checking if another plugin or some other misconfiguration is causing the problem

Hi, @ShahriarKh! Thanks for reply.


Trace substitution

This substitutes "[PROJECT_ROOT]" for the configured project_root (default: pwd) in stack frame file names, which will enable some special features in the Honeybadger UI such as linking to files on GitHub. It also attempts to first substitute "[NODE_MODULES]" for any node_modules paths since in many cases those reside within the project root directory (and do not usually reside within the code repository). The method of discovering the node_modules paths is a bit naive (a simple regexp); I've been looking for a way to programmatically get a list of node_modules paths but haven't found it yet. Suggestions welcome. :)

@AvianFlu mind taking a look at this when you have the time?

Nice @joshuap. Files are now linked with github and paths are more readable. This was missing from the node library. Waiting for the changes to be published on npm.

@nikostoulas this has been released.


Create config directory if it doesn't exist

Creates the config directory (~/.config/hypr/) if it doesn't exist, so that the auto-generated config can be written without errors.

thanks!


Can't resize small windows

Hyprland Version
Hyprland, built from branch main at commit 7f4b0aaadc8348e8814285d7ec582cf737b62d3b dirty (hyprctl: add focusHistoryID to hyprctl clients). Tag: v0.31.0-47-g7f4b0aaa
Bug or Regression?
Bug
Description
After you resize a window down to very thin or short, you can't resize it back up.
Happens on both dwindle and master.
How to reproduce
Use default config.
Open two terminal windows.
In the one on the right hand side, run hyprctl dispatch resizeactive 1000 0 a few times so that the window is at minimal width.
Run hyprctl dispatch resizeactive -100 0 and the window doesn't change its size.
Crash reports, logs, images, videos
No response

I still can resize it.


1150 add metrics to capture function called

Adds metrics to capture function called for both eth_call and eth_sendRawTransaction
Fixes #1150

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 50.00% and project coverage change: -36.71 :warning:

Comparison is base (66822df) 75.93% compared to head (87e25e4) 39.23%.

:exclamation: Current head 87e25e4 differs from pull request most recent head d3570e0. Consider uploading reports for the commit d3570e0 to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1354       +/-   ##
===========================================
- Coverage   75.93%   39.23%   -36.71%
===========================================
  Files          32       19       -13
  Lines        2460     1927      -533
  Branches      499      402       -97
===========================================
- Hits         1868      756     -1112
- Misses        431     1104      +673
+ Partials      161       67       -94

Impacted Files
Coverage Δ

packages/relay/src/lib/relay.ts
68.08% <ø> (-2.13%)
:arrow_down:

packages/relay/src/lib/eth.ts
8.36% <50.00%> (-74.52%)
:arrow_down:

... and 20 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add krimpenerwaardcollege

Website: http://www.kwcollege.nl/
Informatics course: http://kwcollege.nl/wp-content/uploads/2016/03/decanenspecial-3h-2016.pdf
described as "informatica" which is dutch for "informatics"
E-mail proof: http://prntscr.com/am2ylr and http://prntscr.com/am2zfn
A reference to our moodle instance that runs student emails through gmail

@lenis0012 Pull request merged. Thank you!


Chrisda to Master

Docs Build status updates of commit 2c46364:
:clock10: Full build: the average full build time is 11 min(s) 46 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 2c46364:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/mailboxes/Search-Mailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit e876e3d:
:clock10: Full build: the average full build time is 11 min(s) 46 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit e876e3d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/mailboxes/Search-Mailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix fix auto partition load lost data in multi sender

Proposed changes
cherry-pick #35287

run buildall


Fix CI nightly build failed

Fix CI nightly build failed

Changed the scheduling time, and I will observe the result tomorrow.

After checking the result today, the CI nightly build is ok now.


emoji: Make :stuck_out_tongue: have open eyes.

:stuck_out_tongue: should be the most general version, which is the one
with open eyes. Other apps do the same and it also means that :P, which
is converted to :stuck_out_tongue: is rendered like the emoticon.
Fixes #15970.

Testing Plan:
GIFs or Screenshots:

Merged, thanks @Gittenburg!


containerd: 1.6.12 -> 1.6.14

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/containerd/versions.
meta.description for containerd is: "A daemon to control runC"
meta.homepage for containerd is: "https://containerd.io/"
meta.changelog for containerd is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.6.13 with grep in /nix/store/dmbcijbdxgic78kv0whimcd8hlb0vyb1-containerd-1.6.13
found 1.6.13 in filename of file in /nix/store/dmbcijbdxgic78kv0whimcd8hlb0vyb1-containerd-1.6.13

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

13 total rebuild path(s)

13 package rebuild(s)

First fifty rebuilds by attrpath
charliecloud
containerd
docker
docker-gc
docker_20_10
flintlock
fn-cli
ignite
nvidia-docker
out-of-tree
pipework
python310Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

Instructions to test this update (click to expand)

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

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

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

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

12 packages built:

charliecloud
containerd
docker
docker-gc
flintlock
fn-cli
ignite
nvidia-docker
out-of-tree
pipework
python310Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

Maintainer pings
cc @offlinehacker @vdemeester @endocrimes @zowoq for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/containerd/containerd/releases.
meta.description for containerd is: "A daemon to control runC"
meta.homepage for containerd is: "https://containerd.io/"
meta.changelog for containerd is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.6.14 with grep in /nix/store/g71siw95wf679dqyspzdf3cy81p569zf-containerd-1.6.14
found 1.6.14 in filename of file in /nix/store/g71siw95wf679dqyspzdf3cy81p569zf-containerd-1.6.14

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

13 total rebuild path(s)

13 package rebuild(s)

First fifty rebuilds by attrpath
charliecloud
containerd
docker
docker-gc
docker_20_10
flintlock
fn-cli
ignite
nvidia-docker
out-of-tree
pipework
python310Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

Instructions to test this update (click to expand)

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

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

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

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

1 package failed to build:

pipework

11 packages built:

charliecloud
containerd
docker
docker-gc
flintlock
fn-cli
ignite
nvidia-docker
out-of-tree
python310Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

Maintainer pings
cc @offlinehacker @vdemeester @endocrimes @zowoq for testing.


Bump version to 0.7.1

Please ping me if I forget to do it in the next 48h 🙂
(https://github.com/DavidMStraub/homeconnect/pull/16#issuecomment-1166571608)

Just one merge (and a PyPI upload) away :rose: :wink:

Thanks :laughing:


Fix broken WHAMing if an InterfaceSet has more than 10 interfaces

This fixes an error that took a long time to track down and manifests itself with the same error as #920 (or with a wrong answer in more extreme cases).
TLDR: WHAMing  with more than 10 interfaces in an interfaceset was horribly broken, should now work
https://github.com/openpathsampling/openpathsampling/commit/14bcc2f5ef927167994f737bdb31b18bd542fc88 fixes the issue and adds a regression test
https://github.com/openpathsampling/openpathsampling/commit/bf8241c3e6651d49163771152ede98131f6875e1 updates the test file to use pytest instead (incremental update for #756)
How this PR came to be:
This manifested itself as the same error as #920 (partial stacktrace):
IndexError                                Traceback (most recent call last)
...

~/github_files/openpathsampling/openpathsampling/analysis/tis/crossing_probability.py in from_ensemble_histograms(self, hists)
    128         print(df.index)
    129         # TODO: remove WHAM-specific name here
--> 130         tcp = self.combiner.wham_bam_histogram(df).to_dict()
    131         return LookupFunction(tcp.keys(), tcp.values())

~/github_files/openpathsampling/openpathsampling/numerics/wham.py in wham_bam_histogram(self, input_df)
    503         """
    504         cleaned = self.prep_reverse_cumulative(input_df)
--> 505         self.check_cleaned_overlaps(cleaned)
    506         guess = self.guess_lnZ_crossing_probability(cleaned)
    507         sum_k_Hk_Q = self.sum_k_Hk_Q(cleaned)

~/github_files/openpathsampling/openpathsampling/numerics/wham.py in check_cleaned_overlaps(self, cleaned_df)
    477             prev_data = cleaned_df[prev_col]
    478
--> 479             first_nonzero = col_data[col_data != 0.0].index[0]
    480             if not prev_data[first_nonzero] > 0.0:
    481                 # use not and > to account for NaNs

~/miniconda3/envs/tstis/lib/python3.7/site-packages/pandas/core/indexes/base.py in __getitem__(self, key)
   4099         if is_scalar(key):
   4100             key = com.cast_scalar_indexer(key, warn_float=True)
-> 4101             return getitem(key)
   4102
   4103         if isinstance(key, slice):

IndexError: index 0 is out of bounds for axis 0 with size 0

From that issue we know that that happens if everything before the interface is set to 0 and everything after that interface is also 0. So the first thing I did was setting cutoff to 0 to circumvent the same issue as in #920.
This did not solve the error so I decided to add print functions to the prep_reverse_cumulative function of numerics.wham.py (sidenote: %autoreload is great and makes it so that I can debug this without waiting an hour to reload my data).
This is is the first block of  print(df), before any cleaning, notice anything peculiar about the column ordering?
           0         1        10       11        12        13        14  \
-2.6  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-2.5  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-2.4  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-2.3  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-2.2  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-2.1  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-2.0  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.9  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.8  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.7  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.6  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.5  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.4  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.3  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.2  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.1  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-1.0  1.000000  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-0.9  0.739261  1.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-0.8  0.548452  0.826174  1.000000  1.00000  1.000000  1.000000  1.000000
-0.7  0.221778  0.286713  1.000000  1.00000  1.000000  1.000000  1.000000
-0.6  0.038961  0.022977  1.000000  1.00000  1.000000  1.000000  1.000000
-0.5  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-0.4  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-0.3  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-0.2  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
-0.1  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.0  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.1  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.2  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.3  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.4  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.5  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.6  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.7  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.8  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
0.9  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.0  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.1  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.2  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.3  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.4  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.5  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.6  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.7  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.8  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
1.9  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.0  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.1  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.2  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.3  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.4  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.5  0.000000  0.000000  1.000000  1.00000  1.000000  1.000000  1.000000
2.6  0.000000  0.000000  0.325674  0.52048  0.340659  0.416583  0.643357

Now here is where things go horribly wrong: line 137-142 of wham.py are:
          if self.interfaces is not None:
              # use the interfaces values to set anything before that value to
              # zero
              if type(self.interfaces) is not pd.Series:
                  self.interfaces = pd.Series(data=self.interfaces,
                                              index=df.columns)

Because this is how self.interfaces looks before converting it to a series:
[-1.0, -0.9, -0.8, -0.7000000000000001, -0.6000000000000001, -0.5000000000000001, -0.40000000000000013, -0.30000000000000016, -0.20000000000000018, -0.1000000000000002, -2.220446049250313e-16, 0.09999999999999964, 0.19999999999999973, 0.2999999999999998, 0.3999999999999997, 0.49999999999999956, 0.5999999999999996, 0.6999999999999997, 0.7999999999999996, 0.8999999999999995, 0.9999999999999996]

and this is after
0    -1.000000e+00
1    -9.000000e-01
10   -8.000000e-01
11   -7.000000e-01
12   -6.000000e-01
13   -5.000000e-01
14   -4.000000e-01
15   -3.000000e-01
16   -2.000000e-01
17   -1.000000e-01
18   -2.220446e-16
19    1.000000e-01
2     2.000000e-01
20    3.000000e-01
3     4.000000e-01
4     5.000000e-01
5     6.000000e-01
6     7.000000e-01
7     8.000000e-01
8     9.000000e-01
9     1.000000e+00

So this now maps the 3rd interface to the data of the 10th, but even worse is the 13th interface is mapped to the data of the second! The data from my 2nd interface does not have any data that is past the 13th, so this results in a column of 0s after cleaning (everything up to the 13th interface is set to 0).
Now, this PR does not actually alter wham.py because the real issue is the sorting of the columns of the dataframe.
This is done at line 124-127 of openpathsampling/analysis/tis/crossing_probability.py
        df = paths.numerics.histograms_to_pandas_dataframe(
            input_hists,
            fcn="reverse_cumulative"
        ).sort_index(axis=1)

So this sorts axis=1, and what we see is that th columns are sorted, but as if they are strs, as those are sorted character by character, which is how you end up with 0, 1, 10, 11, ..., 19, 2, 20, 3, ... . Now where do these strings come from?
That is what is actually fixed in this PR
If we look at the called function (histograms_to_pandas_dataframe) on line 432-433 the follwing code exists:
      if hist.name is None:
              hist.name = str(hists.index(hist))

and these str indices end up in the dataframe. Hence this PR to convert them to an int instead.

@dwhswenson Quick question; nothing got published with OPS and more tan 10 interfaces in an interface set, right? As this wrong ordering can lead to wrong answers (for me it was 7 orders of magnitude) if (by sheer luck) if there is data from the inner interface that is valid for outer interfaces.

@dwhswenson Quick question; nothing got published with OPS and more tan 10 interfaces in an interface set, right? As this wrong ordering can lead to wrong answers (for me it was 7 orders of magnitude) if (by sheer luck) if there is data from the inner interface that is valid for outer interfaces.

@arjunwadhawan You might want to check on this. Note that this should only be relevant for the new TIS analysis. This will only happen if you set the cutoff very small (or have interfaces that overlap way more than is reasonable). If you use the rule of thumb that successive interfaces should have 20% overlap, then fewer than 1 in a million trajectories from interface 1 should overlap with interface 10, and that would be ignored by cutoff.

@arjunwadhawan You might want to check on this. Note that this should only be relevant for the new TIS analysis. This will only happen if you set the cutoff very small (or have interfaces that overlap way more than is reasonable). If you use the rule of thumb that successive interfaces should have 20% overlap, then fewer than 1 in a million trajectories from interface 1 should overlap with interface 10, and that would be ignored by cutoff.

@sroet : With the error, how did plots of the total crossing probability look? I would hope that this problem would have been evident in the TCP, compared to the per-interface crossing probability.

@sroet : With the error, how did plots of the total crossing probability look? I would hope that this problem would have been evident in the TCP, compared to the per-interface crossing probability.

You might want to check on this. Note that this should only be relevant for the new TIS analysis. This will only happen if you set the cutoff very small (or have interfaces that overlap way more than is reasonable). If you use the rule of thumb that successive interfaces should have 20% overlap, then fewer than 1 in a million trajectories from interface 1 should overlap with interface 10, and that would be ignored by cutoff

The reason why it happened for me was because I started sampling with an A->B path in all interfaces, assuming it wouldn't matter for convergence if I ran 100_000 MC steps (not unreasonable for real systems), followed by the error described in #920 which was why I set the cutoff to (essentially) 0.
@dwhswenson so for me it looked reasonable as my toy system had a reasonable cliff (10 KbT  triangle barrier between -1 and 1, with stable states at -2 and 2.5), but the TCP should have (ofcourse) been -10 instead of the -3 found.

And from the tcp this was not entirely clear (to me) why is was 7 orders of magnitude off (the BA one is should be mirrored for this plot). Looking at it with what I know now, you indeed see the giant cliff that is way earlier than you would expect and then recovers again.

The current plots looks like this (1/10 th of newly sampled data (that came from a run that decorrelated properly before running production)):

You might want to check on this. Note that this should only be relevant for the new TIS analysis. This will only happen if you set the cutoff very small (or have interfaces that overlap way more than is reasonable). If you use the rule of thumb that successive interfaces should have 20% overlap, then fewer than 1 in a million trajectories from interface 1 should overlap with interface 10, and that would be ignored by cutoff

The reason why it happened for me was because I started sampling with an A->B path in all interfaces, assuming it wouldn't matter for convergence if I ran 100_000 MC steps (not unreasonable for real systems), followed by the error described in #920 which was why I set the cutoff to (essentially) 0.
@dwhswenson so for me it looked reasonable as my toy system had a reasonable cliff (10 KbT  triangle barrier between -1 and 1, with stable states at -2 and 2.5), but the TCP should have (ofcourse) been -10 instead of the -3 found.

And from the tcp this was not entirely clear (to me) why is was 7 orders of magnitude off (the BA one is should be mirrored for this plot). Looking at it with what I know now, you indeed see the giant cliff that is way earlier than you would expect and then recovers again.

The current plots looks like this (1/10 th of newly sampled data (that came from a run that decorrelated properly before running production)):

I'm having trouble interpreting the plots from the old data. Is the first one the total crossing prob? The standard thing is to plot TCP on the same plot as the ensemble crossing probabilities, as you do at the end for the current data. TCP should look exactly like the innermost crossing probability until noise in the innermost crossing prob starts to matter. It's hard to tell, but it doesn't look like that would be the case if you put the first plot on the first per-ensemble plot.

I'm having trouble interpreting the plots from the old data. Is the first one the total crossing prob? The standard thing is to plot TCP on the same plot as the ensemble crossing probabilities, as you do at the end for the current data. TCP should look exactly like the innermost crossing probability until noise in the innermost crossing prob starts to matter. It's hard to tell, but it doesn't look like that would be the case if you put the first plot on the first per-ensemble plot.

I'm having trouble interpreting the plots from the old data. Is the first one the total crossing prob? The standard thing is to plot TCP on the same plot as the ensemble crossing probabilities, as you do at the end for the current data. TCP should look exactly like the innermost crossing probability until noise in the innermost crossing prob starts to matter. It's hard to tell, but it doesn't look like that would be the case if you put the first plot on the first per-ensemble plot.

Yeah that is the TCP, and I started getting better at plotting these graphs. It is indeed better do plot them together with the ensemble crossings.
Looking at them side by side (on my monitor) it is not the case that the total tcp follow the innermost probability, it drops more rapid than the innermost probability

I'm having trouble interpreting the plots from the old data. Is the first one the total crossing prob? The standard thing is to plot TCP on the same plot as the ensemble crossing probabilities, as you do at the end for the current data. TCP should look exactly like the innermost crossing probability until noise in the innermost crossing prob starts to matter. It's hard to tell, but it doesn't look like that would be the case if you put the first plot on the first per-ensemble plot.

Yeah that is the TCP, and I started getting better at plotting these graphs. It is indeed better do plot them together with the ensemble crossings.
Looking at them side by side (on my monitor) it is not the case that the total tcp follow the innermost probability, it drops more rapid than the innermost probability

Looking at them side by side (on my monitor) it is not the case that the total tcp follow the innermost probability, it drops more rapid than the innermost probability

Okay, I'll hope that this has therefore been noticed by anyone who has tried it before. At least @arjunwadhawan and anyone else in the @bolhuis group would have made such plots, and noticed if something was way off. But this is a critical bug. Cutting 1.4.2 release ASAP.

Looking at them side by side (on my monitor) it is not the case that the total tcp follow the innermost probability, it drops more rapid than the innermost probability

Okay, I'll hope that this has therefore been noticed by anyone who has tried it before. At least @arjunwadhawan and anyone else in the @bolhuis group would have made such plots, and noticed if something was way off. But this is a critical bug. Cutting 1.4.2 release ASAP.


Feedback for: engine/reference/commandline/service_create.md

File: engine/reference/commandline/service_create.md
I suppose you have mistake with formatting this paragraph:
Set metadata on a service (-l, –label)
and it doesn't look like title one of examples and doesn't have cross link:
https://docs.docker.com/engine/reference/commandline/service_create/#set-metadata-on-a-service-l-label
which use another pages.

https://docs.docker.com/engine/reference/commandline/service_create/#set-metadata-on-a-service--l---label is the correct link (see the extra -).

#dibs

The "Set metadata on a service (-l, –label)" section is disaplyed correctly under "Examples", and its anchor is valid now.

This issue can be closed.

Thanks, @scjane -- you still get 25 points for validating that it was fixed. :)


R v0.2 Error in new_CppObject_xp + Error in matrix(m$params[[name]], nrow = n.iteration)

R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
prophet v0.2
Windows
Runnings this:
library(prophet)
ds <- seq(as.Date('2005-04-01'), as.Date('2005-09-03'), by='day')
x <- (1:length(ds))/length(ds)
y <- rnorm(length(ds), x * (1 - x) + 0.5, 0.1)
m <- prophet(data.frame(ds = ds, y = y), daily.seasonality=TRUE)

produces still the same error as mentioned in other issues:
Error in new_CppObject_xp(fields$.module, fields$.pointer, ...) :
  no valid constructor available for the argument list
failed to create the optimizer; optimization not done
Error in matrix(m$params[[name]], nrow = n.iteration) :
  'data' must be of a vector type, was 'NULL'

Rtools is not istalled on my Windows - possibly that explains the issue

That would be an issue, and this does look like rstan isn't working. This page describes how you can check if Rtools is functioning correctly:
https://github.com/stan-dev/rstan/wiki/Installing-RStan-on-Windows

I was running into this error as well. Installing rstan and Rcpp on my mac machine fixed it:
install.packages("rstan", repos = "https://cloud.r-project.org/", dependencies=TRUE)
install.packages(c("Rcpp", "rstan"), type = "source")


Getting upgrade your account message when selecting billing plan in development store

For bug reporting only! If you're posting a feature request or discussion, please ignore.
Expected Behavior
Ability to select billing plan for development store
Current Behavior
Getting upgrade your account message when selecting billing plan with test=0 in development store as shown in screenshot
Failure Information
Not able to select billing plan for development store, if test = 1 it works but the plan remain test and does not charge after the store transferred from development to real, thats why iam trying to use plan with test=0 in development store. if iam missing anything please help. any suggestion would be really helpful, Thanks
Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Package Version: 13.1
Laravel Version: 8.0
PHP Version: vX.Y.Z
Using a toolset (Docker, Laradock, Vagrant, etc.):aws server

Failure Logs
Please include any relevant log snippets or files here.

You have to create a new charge that is test=0
It doesn't matter if the store is in development or is on a paid Shopify plan. Test charges will not change on their own. You need to have a shop admin approve the charge

Actually the charge needs to have test=1 - that way it's just a test charge

@arvesolland I read it as they said they wanted to convert a test charge to a charge that will actually bill the store

but the plan remain test and does not charge after the store transferred from development to real

@jithinjoyj4 If that's not the case can you clarify your issue?

@ncpope yes thats the case, development stores should be able to choose plans and after it transferred to client it should charge them as a partner friendly app. I know its a bit complicated since development store doesn't have billing option, currently iam planning to add a separate test plan for development store and update to real plan after it transferred, unless if there is any other way to do it with just one plan

I dont see this an issue with this repo, is the issue resolved? You can not bill a dev store, thus the screen you get.

@jithinjoyj4 if that's the case then you will just need to create a new charge. There is no way to do it automatically without sending the merchant through the standard billing approval process.
This is a limitation imposed by shopify and this package and all other shopify app packages will not be able to do this for you automatically.
I would suggest that if you want to do this you can check the name of the merchants plan. If it is development or affiliate then keep it as  a test charge, otherwise redirect them to the billing screen.
Some pesudo code off the top of my head:
$planName = $shop->api()->rest('GET', '/admin/shop.json')->body->shop->plan_name;

if ($planName === 'development') {
    return view('app.dashboard');
}

// create the new billing request
return redirect('/billing');

Sorry for the delay. I've added separate test plan for development store and billing redirections done by checking shop plan name, Thank you for all the suggestions.

Sorry for the delay. I've added separate test plan for development store and billing redirections done by checking shop plan name, Thank you for all the suggestions.


Global Hack Week

Event Name
MLH Global Hack Week
Short Description of the Event ( 20 words )
At Global Hack Week: Security, spend the week by learning, building, and hacking all things security related.
Event Date and Time
05/06/23 - 12/06/23
Event Page Link
https://ghw.mlh.io/events/security-week
Themes
SECURITY
Facebook
https://www.facebook.com/MajorLeagueHacking
Github
https://github.com/MLH
Instagram
https://www.instagram.com/mlhacks/
LinkedIn
https://www.linkedin.com/company/major-league-hacking
Twitter
https://twitter.com/mlhacks
Discord
https://twitter.com/mlhacks
Other Link
No response

@Ayaan49 Would you like to work on this issue?

Yes


db_location config

Our exiting, working initialization code now encounters an error from a clean install without an environments.db file.
This may block Dave and Soheil in Delft tomorrow/tonight.
How can we initialize it correctly?
Steps to reproduce

from qcodes import config
from qcodes.dataset.data_export import get_shaped_data_by_runid

Expected behaviour
No error.
Actual behaviour
qcodes.config["core"]["db_location"] is unset
KeyError: 'db_location'

System
operating system
Windows 10
qcodes branch
1.10
qcodes commit
497fa48 (release on pip)

The config file bundled with Qcodes has that variable set https://github.com/QCoDeS/Qcodes/blob/master/qcodes/config/qcodesrc.json I suspect that you have another older file lying around somewhere. AFAIK it loads from user home directory as well as the one bundled in QCodes

or in cwd

Yes, the hierarchy is

The qcodesrc.json in cwd
The qcodesrc.json in home
The qcodesrc.json in qcodes/qcodes/config

It looks like the config file bundled in the whl binary package is out of date for some reason. I think we will have to do a new release. For now you can get the tar.gz by installing qcodes with pip install --no-binary qcodes qcodes which does not seems to have this issue

or get the file json file (and schema) from the repo and put in user home or cwd

@robert-wallis I just put out a new release, v0.1.11. Does using that resolve your issue?

Yes @geoffroth just confirmed the 1.11 release fixed this. 🎉
Thank you for the speedy release! 🙏

Great for the record #1044 should make it easier to spot this kind of issue


Selenoid stop running after timeout

My RPA in selenoid makes many request and interaction in the web page, but after the time of timeout config (In my case is 5 minutes), the session is closed.
I think that the problem is checking if the download finished before the navigation.
My code of check download:
`php
public static function check_downloaded_file($download_folder, $sessionID, $timeout = 15)
{
    for ($i = 0; $i < $timeout; $i++) {
        //verifica se arquivo está disponível no container
        $url = str_replace("wd/hub", "download/" , env('PATH_TO_SELENIUM_HUB'));
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
        curl_setopt($ch, CURLOPT_TIMEOUT, 15);
        sleep(1);

        $result = curl_exec($ch);
        if (curl_errno($ch) !== 0) {
            curl_close($ch);
            throw new \Exception("Erro no download do arquivo: " . curl_error($ch));
        }

        curl_close($ch);

        //caso arquivo esteja disponível, baixa ele para o servidor da aplicação
        if (strpos($result, "href") !== false) {
            $file_name = substr($result, strpos($result, '"') + 1);
            $file_name = substr($file_name, 0, strpos($file_name, '"'));

            if (strpos($file_name, "crdownload") !== false) {
                sleep(1);
                continue;
            }

            $saveTo = $download_folder . DIRECTORY_SEPARATOR . $file_name;

            //Open file handler.
            $fp = fopen($saveTo, 'w+');

            //If $fp is FALSE, something went wrong.
            if ($fp === false) {
                curl_close($ch);
                throw new \Exception("Erro no download do arquivo: " . curl_error($ch));
            }

            //Create a cURL handle.
            $ch = curl_init($url . DIRECTORY_SEPARATOR . $file_name);

            //Pass our file handle to cURL.
            curl_setopt($ch, CURLOPT_FILE, $fp);

            //Timeout if the file doesn't download after 20 seconds.
            curl_setopt($ch, CURLOPT_TIMEOUT, 15);

            //Execute the request.
            curl_exec($ch);

            //If there was an error, throw an Exception
            if (curl_errno($ch)) {
                curl_close($ch);
                throw new \Exception("Erro no download do arquivo: " . curl_error($ch));
            }

            //Get the HTTP status code.
            $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

            //Close the cURL handler.
            curl_close($ch);

            //Close the file handler.
            fclose($fp);

            if ($statusCode != 200) {
                throw new \Exception("Erro no download do arquivo: " . curl_error($ch));
            }

            //deleta o arquivo do contaner
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url . DIRECTORY_SEPARATOR . $file_name);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
            $result = curl_exec($ch);
            $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

            if ($statusCode != 200) {
                curl_close($ch);
                throw new \Exception("Erro no download do arquivo: " . curl_error($ch));
            }
            curl_close($ch);

            //retorna caminho completo do arquivo no servidor
            return $saveTo;

        }
    }

`
Thanks

When I didn't use this function, the timeout doesn't happen.
But I don't know where is the bug in the check download

@mhbm what is your Selenoid version?

@mhbm what is your Selenoid version?

Selenoid 1.10.3!

@mhbm timeout is being reset here when you start downloading files.

@vania-pooh  but the problem is not this.
I used the function to check if the download finished.
When I didn't use this function, the navigation in the crawler works, but if I use this function, the timeout happens.
How do you do to check if the download finished?

@mhbm Selenoid does not check this. Instead it operates with HTTP request timeouts.

@vania-pooh I know that solenoid doesn`t check this.
But I need to verify if the download is finished, because I need to read the file.
I think that in this function, the selenoid thinks that one request in open, occurring the timeout (like I say in the below comment)

@vania-pooh how do you check if download was finish using selenoid?
And How do you get the download?


Builds should run test/test-coverage

Our Cloudbees/Jenkins jobs currently runs the native test suite (with the help of jtreg), with code coverage enabled (using jcov).
It would be great to have the new jobs be able to do the same. If necessary, provide CLI/config option to switch this off and just build the artifact.
If the test fails, the artifact isn't created, when it passes we have three tarballs, one with just the JDK binaries and the other two with the test coverage and test output reports included in the tarball, see https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/openjdk-1.8-linux-x86_64/.
Examples on how this is done can be see from the bash scripts attached the Jenkin jobs.

Yep, test is a significant area for further discussion and contribution.  We need to figure out what types of testing we need to do for different purposes (PR sanity check, build verification check, release level testing, etc).
Jtreg is fine as far as it goes, and should definitely feature in our overall test approach.

A number of pull requests have been merged to help resolve this issue:
#22
#24
#31

@neomatrix369 What's left to go?  Can you summarise here?

~Our Cloudbees/Jenkins jobs currently runs the native test suite (with the help of jtreg), with code coverage enabled (using jcov).~ (done)
~It would be great to have the new jobs be able to do the same. If necessary, provide CLI/config option to switch this off and just build the artifact.~ (done)
**If the test fails, the artifact isn't created *** <=== needs doing, although is easy to do, once the script is refactored a bit
~when it passes we have three tarballs, one with just the JDK binaries and the other two with the test coverage and test output reports included in the tarball, see https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/openjdk-1.8-linux-x86_64/~
**Sanity check of JCov reports - is it getting generate correctly, is it legible **
**Publishing link to the JCov reports from the workspace **
Items in bold are remaining.

@Bluevisitor reports that langtools jtreg fails:
/usr/bin/make -k -C  ../langtools/test  JT_JAVA=/home/jenkins/workspace/openjdk_build_x86-64_linux/openjdk/build/linux-x86_64-normal-server-release/images/j2sdk-image JTREG_HOME= TEST=jtreg jtreg
make[2]: Entering directory '/home/jenkins/workspace/openjdk_build_x86-64_linux/openjdk/langtools/test'
make[2]: *** No rule to make target '/bin/jtreg', needed by 'check-jtreg'.

@karianna Known issue, I think he has made the smart decision of not enabling that test, its not on the priority list of the openjdk team to attend to it.

@neomatrix369 Why was it a 'default' then?  Or was that a 'default' that we set?

@karianna dont follow which part was default? /usr/bin/make -k -C  ../langtools/test...  <=== this part of the command?

Just had a look https://adopt-openjdk.ci.cloudbees.com/job/openjdk-1.8-linux-x86_64/592/consoleFull - last run (09-Apr-2017 14:17:19) on CloudBees, a snippet of langtools_test execution:
/usr/bin/gmake -k -C  ../langtools/test  JT_JAVA=/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image JTREG_HOME=/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jtreg TEST=jtreg jtreg
gmake[2]: Entering directory `/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/langtools/test'
JT_JAVA=/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image /scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jtreg/bin/jtreg \
  -J-Xmx512m \
  -vmoption:-Xmx768m \
  -a -ignore:quiet -v:fail,error,nopass \
          -r:/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/langtools/build/linux-x86_64/test/langtools/jtreg/JTreport \
          -w:/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/langtools/build/linux-x86_64/test/langtools/jtreg/JTwork \
          -jdk:/scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image \
           \
  -agentvm -concurrency:10 -timeoutFactor:5  \
          . \
|| ( status=$?; if [ $status -ge 3 ]; then exit $status ; fi ; \
    echo $status > /scratch/jenkins/workspace/openjdk-1.8-linux-x86_64/jdk8/langtools/build/linux-x86_64/test/langtools/jtreg/status.txt \
)

Might be behaving different due to difference in environments.

/usr/bin/make -k -C  ../langtools/test  JT_JAVA=/home/jenkins/workspace/openjdk_build_x86-64_linux/openjdk/build/linux-x86_64-normal-server-release/images/j2sdk-image JTREG_HOME= TEST=jtreg jtreg - some how its forgetting the setting for JTREG_HOME=.... for langtools_...

@neomatrix369 yeah the bit where langtools was part of the 'default' run

The snippet @Bluevisitor pasted was from the log which showed one of the iterations, so far from the script I see only 2 components are iterated thru - jdk_core and langtools, hotspot used to me in the list but no run anymore.
That is another discussion, should we also run hotspot tests, they take a bitlong to finish.

The hotspot tests are actually the most vital in a way as they are platform dependant ones.  That said if we jenkins pipeline this, why not have that as a separate pipeline job...

@karianna I'll open a new issue related to this one, since our test coverage might be lacking hotspot test coverage

Its possible our github repo that clones the mercurial counterpart ( http://hg.openjdk.java.net/jdk8u/jdk8u
) isn't in sync with the source. The Makefiles in langtools are a bit older, can we pls check if our hg job on jenkins  is pull through all the changes regularly.

@neomatrix369 @gdams - my understanding is that the pull occurs every 30 minutes...

@gdams i just checked git-hg (https://ci.adoptopenjdk.net/view/all/job/git-hg/158/console) its failing with these messages:
error: src refspec dev does not match any.
error: failed to push some refs to 'git@github.com:AdoptOpenJDK/openjdk-jdk8u.git'
Build step 'Execute shell' marked build as failure
Finished: FAILURE

Something to worry about? The git repo seems to get the most recent changesets although not the last one:
2 weeks ago	asaha	Added tag jdk8u152-b02 for changeset d7045c4d4eab

@karianna the langtools failure @Bluevisitor reported comes from these lines in the two build system files:
./openjdk/langtools/make/build.xml:    <target name="-check-jtreg.home" depends="-def-check">
./openjdk/langtools/make/build.xml:    <target name="-def-jtreg" unless="jtreg.defined" depends="-check-jtreg.home,-check-target.java.home">
./openjdk/langtools/test/Makefile:jtreg-tests: check-jtreg FRC
./openjdk/langtools/test/Makefile:check-jtreg: $(PRODUCT_HOME) $(JTREG)
./openjdk/langtools/test/Makefile:	jtreg javac javadoc javah javap jdeps jtreg-tests jtreg-summary check-jtreg \

Although these are not present in the latest jdk8 clone (via hg)

This should get shifted to the test repo


Setting permissions on a folder and cascading 'All' takes a long time. The permissions dialog does not show any progress and stays open allowing a user to click cancel

On Stroom 6 I do see a progress spinner in the top right of the screen. I've added disabling of the OK/Cancel buttons though.


Issue with SQL syntax when executed programmatically

I'm just getting started with QtPyLib, so I've got a trivially simply test program:
from qtpylib.blotter import Blotter

class TestBlotter(Blotter):
    pass

if __name__ == "__main__":
    blotter = TestBlotter(
        dbhost="localhost",
        dbname="qtpy",
        dbuser="qtpy",
        dbpass="qtpy",
        ibport=4001,
        orderbook=True
    )

    blotter.run()

I installed a new copy of MySQL for this purpose:
Server version: 5.7.20-log MySQL Community Server (GPL)
When I run this program, I get this error:
> C:\sw\qtpylib-master\venv\Scripts\python.exe C:/sw/qtpylib-master/qtpylib/TestBlotter.py
> Traceback (most recent call last):
>   File "C:/sw/qtpylib-master/qtpylib/TestBlotter.py", line 16, in <module>
>     blotter.run()
>   File "C:\sw\qtpylib-master\qtpylib\blotter.py", line 709, in run
>     self.mysql_connect()
>   File "C:\sw\qtpylib-master\qtpylib\blotter.py", line 1167, in mysql_connect
>     self.dbcurr.execute(open(path['library'] + '/schema.sql', "rb").read())
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\cursors.py", line 165, in execute
>     result = self._query(query)
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\cursors.py", line 321, in _query
>     conn.query(q)
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\connections.py", line 860, in query
>     self._affected_rows = self._read_query_result(unbuffered=unbuffered)
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\connections.py", line 1061, in _read_query_result
>     result.read()
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\connections.py", line 1349, in read
>     first_packet = self.connection._read_packet()
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\connections.py", line 1018, in _read_packet
>     packet.check_error()
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\connections.py", line 384, in check_error
>     err.raise_mysql_exception(self._data)
>   File "C:\sw\qtpylib-master\venv\lib\site-packages\pymysql\err.py", line 107, in raise_mysql_exception
>     raise errorclass(errno, errval)
> **pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `_version_` (\n  `id` int(11) unsigned NOT NULL AUTO_I' at line 21")**
> 2017-12-24 18:08:21,000 [INFO] qtpylib.blotter: Blotter stopped...
> 2017-12-24 18:08:21,000 [INFO] qtpylib.blotter: Deleting runtime args...
> 2017-12-24 18:08:21,000 [INFO] qtpylib.blotter: Disconnecting from MySQL...
>
> Process finished with exit code 0
>

However, I opened schema.sql in Intellij and ran the "offending" CREATE TABLE command, and it worked fine:
> [2017-12-24 18:08:08] Connected
> sql> CREATE TABLE IF NOT EXISTS `_version_` (
>   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
>   `version` varchar(8) DEFAULT NULL,
>   PRIMARY KEY (`id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> [2017-12-24 18:08:09] completed in 203ms
>

Any idea what might be going wrong when running the Python code?

Recently I've run into the same kind of issue. In my case, it was caused by the fact that the method cursor.execute() of pymysql library can't  execute several SQL statements separated by a semicolon at once. To solve the problem it is sufficient to specify client_flag=MULTI_STATEMENTS inside of the call to pymysql.connect and to add an import statement from pymysql.constants.CLIENT import MULTI_STATEMENTS at the beginning of the qtpylib/blotter.py.

Thanks @etsygankov - adding this to my next push!
At first, I wasn't able to reproduce this since I got the same flag number when testing  on my machine - with or without adding client_flag=MULTI_STATEMENTS. However, on a virtual machine with a new anaconda install it worked only with that flag, so I guess this is somehow machine/install dependent and should be explicitly stated. Good to know 😄

It is great that such a solution for IB exists, I was really excited to find it. Thank you @ranaroussi for developing and keeping it up!😄

It would be good to get this into master, or at least add a note to the documentation about this issue while it still exists.


Overflow panic can occur when calculating ram_for_data in flash algorithm with very little ram

Describe the bug
I was using probe-rs with a newly generated target file for the MSPM0C1104. The generated target file did not contain a stack size and therefore a default stack usage of 512 bytes was picked. This device only has 1kB of RAM. This results in computing the ram needed for data causing an overflowing.
https://github.com/probe-rs/probe-rs/blob/fec249e083ba1af29ef05fb18635cf055b4b39c4/probe-rs/src/flashing/flash_algorithm.rs#L318
Some debug statements showed the amount of ram on the device was not enough for the stack_size for the debug algorithm.
[probe-rs/src/flashing/flash_algorithm.rs:319:13] ram_for_data = 432
[probe-rs/src/flashing/flash_algorithm.rs:319:13] stack_size = 512

To Reproduce
Try to do a probe-rs run on a project using the MSPM0C1104.
Stacktrace
thread 'main' panicked at probe-rs/src/flashing/flash_algorithm.rs:320:13:
attempt to subtract with overflow
stack backtrace:
   0: rust_begin_unwind
             at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:652:5
   1: core::panicking::panic_fmt
             at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panicking.rs:72:14
   2: core::panicking::panic_const::panic_const_sub_overflow
             at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panicking.rs:179:21
   3: probe_rs::flashing::flash_algorithm::FlashAlgorithm::assemble_from_raw_with_data
             at /home/i509vcb/Dev/probe-rs/probe-rs/src/flashing/flash_algorithm.rs:318:13
   4: probe_rs::flashing::flash_algorithm::FlashAlgorithm::assemble_from_raw_with_core
             at /home/i509vcb/Dev/probe-rs/probe-rs/src/flashing/flash_algorithm.rs:436:9
   5: probe_rs::flashing::flasher::Flasher::new
             at /home/i509vcb/Dev/probe-rs/probe-rs/src/flashing/flasher.rs:71:31
   6: probe_rs::flashing::loader::FlashLoader::initialize
             at /home/i509vcb/Dev/probe-rs/probe-rs/src/flashing/loader.rs:694:27
   7: probe_rs::flashing::loader::FlashLoader::commit
             at /home/i509vcb/Dev/probe-rs/probe-rs/src/flashing/loader.rs:454:9
   8: probe_rs::util::flash::run_flash_download
             at /home/i509vcb/Dev/probe-rs/probe-rs-tools/src/bin/probe-rs/util/flash.rs:134:5
   9: probe_rs::cmd::run::Cmd::run
             at /home/i509vcb/Dev/probe-rs/probe-rs-tools/src/bin/probe-rs/cmd/run/mod.rs:137:13
  10: probe_rs::main
             at /home/i509vcb/Dev/probe-rs/probe-rs-tools/src/bin/probe-rs/main.rs:322:13
  11: core::ops::function::FnOnce::call_once
             at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/ops/function.rs:250:5

So... fix your target descriptor?


eval() can access Livepack's internal vars

Input:
console.log( eval('typeof livepack_tracker') );

Running this without Livepack's Babel transform logs undefined. Running with Livepack's Babel transform logs function - because it can see Livepack's internal var with this name.
Livepack's transform of eval-ed code will ensure that internal vars are prefixed with a number to ensure they don't clash with var names defined in the eval-ed code, but it doesn't prevent eval-ed code from accessing internal vars from the outer scope.
Solution
Should transform eval-ed code:
From:
typeof livepack_tracker === 'undefined' ? undefined : livepack_tracker

to:
const livepack1_tracker = livepack_tracker;
const livepack1_global = livepack_global;
eval(`
typeof livepack1_global.livepack_tracker === 'undefined'
  ? undefined
  : ( () => {
    if ('livepack_tracker' in livepack1_global) return livepack1_global.livepack_tracker;
    throw new ReferenceError('livepack_tracker is not defined');
  } )()
`)

livepack_global would be defined as global in main scope. Purpose is to work around if user code defines a var global which blocks access to the global global var.
(see #166 for why using nested eval())

Writing to internal vars also needs to be handled.
// Original eval string
livepack_tracker = fn();

// Transpiled eval string
( v => {
  if ('livepack_tracker' in livepack1_global) return livepack1_global.livepack_tracker = v;
  throw new ReferenceError('livepack_tracker is not defined');
} )( fn() );

// Original eval string
livepack_tracker += fn();

// Transpiled eval string
( v => {
  if ('livepack_tracker' in livepack1_global) return livepack1_global.livepack_tracker += v;
  throw new ReferenceError('livepack_tracker is not defined');
} )( fn() );

Or better, define as set of internal functions:
const livepack_globals = {
  get(name) {
    throwIfNoGlobalExists(name);
    return global[name];
  },

  set(name, value) {
    throwIfNoGlobalExists(name);
    return global[name] = value;
  },

  setWithOperator(name, setter) {
    throwIfNoGlobalExists(name);
    return setter(global, name);
  },

  typeof(name) {
    return typeof global[name];
  }
};

function throwIfNoGlobalExists(name) {
  if (!(name in global)) throw new ReferenceError(`${name} is not defined`);
}

// Original eval string
[
  typeof livepack_tracker,
  livepack_tracker,
  livepack_tracker = fn(),
  livepack_tracker += fn()
]

// Transpiled eval string
[
  livepack1_globals.typeof('livepack_tracker'),
  livepack1_globals.get('livepack_tracker'),
  livepack1_globals.set('livepack_tracker', fn()),
  livepack1_globals.setWithOperator(
    'livepack_tracker',
    (livepack1_temp1, livepack1_temp2) => livepack1_temp1[livepack1_temp2] += fn()
  )
]

setWithOperator() is designed so fn() is only called if global property exists and getter for that property does not throw. set() will always evaluate fn() even if global property does not exist. This reproduces same behavior as writing to global vars.

There's a further complication explained in https://github.com/overlookmotel/livepack/issues/278#issuecomment-929735381.
However, there's a difference from the conclusion in that comment that this problem makes this approach a non-starter. At build time, Livepack is already parsing the code in the eval() and so it's possible to determine whether assignments are made in strict mode or not. That info can then be passed to livepack1_globals.set() which can behave accordingly.
So it can work, just this consideration needs to be factored in.

Could also use indirect eval to evaluate the expression in global scope:

livepack_tracker -> (0, eval)('livepack_tracker')
livepack_tracker = fn() -> (0, eval)('v => livepack_tracker = v')(fn())
livepack_tracker += fn() -> (0, eval)('v => livepack_tracker += v')(fn())
livepack_tracker.x -> (0, eval)('livepack_tracker').x

If the position where the access/assignment is made is strict mode, 'use strict'; would be prepended to the code evaluated in e.g. (0, eval)('"use strict"; livepack_tracker').

In NodeJS global x and global.x are equivalent, as all code is run inside either ESM or CommonJS module. However, in the browser they are not the same in all cases.
From: https://weizman.github.io/page-what-is-a-realm-in-js/#2-a-global-object-and-intrinsic-objects

// `const` declrations fall under the "declarative environment"
const constant = 1;

// and therefore they are not accessible via the global object
console.log(window.constant); // undefined

At present Livepack only runs in NodeJS, but in future could run in the browser. So the solution above using (0, eval('...')) is best.
Also, this transform:
livepack_tracker += fn() -> (0, eval)('v => livepack_tracker += v')(fn())
should be:
livepack_tracker += fn() -> (0, eval)('get => livepack_tracker += get()')(() => fn())
This preserves the behavior that the left-hand side of += will be evaluated first and fn will not be called if the variable does not exist which causes an error to be thrown.
It also maintains correct behavior for short-circuiting operators like &&=.


Add cleanup rules to delete annotations

Fixes issue: https://github.com/submariner-io/submariner-website/issues/456
Signed-Off-by: Sridhar Gaddam<EMAIL_ADDRESS>

@vthapar @tpantelis Can you please take a look at this PR, thanks


wol: move the udev rule on its own package

make more explicit ethtool is pulled in for a specific udev rule
make easier for a user to disable wake-on-lan
bind ethtool to the specific functionality requireing it

This is now handled differently: see https://github.com/ChimeraOS/chimeraos/pull/1016


feature amp-add-common sub-generator

initial version of amp-add-common sub-generator called for in #114

[Current coverage][cc-pull] is 96.95%

Merging [#115][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.07%

@@             master       #115   diff @@
==========================================
  Files            26         27     +1
  Lines          2403       2457    +54
  Methods         383        393    +10
  Messages          0          0
  Branches        488        503    +15
==========================================
+ Hits           2333       2382    +49
- Misses           70         75     +5
  Partials          0          0

[][cc-pull]

Powered by Codecov. Last updated by [cd913af...aabd078][cc-compare]
[cc-base-branch]: https://codecov.io/gh/binduwavell/generator-alfresco/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/binduwavell/generator-alfresco/compare/cd913afe9f5bdb295515e5dd6edcd2d7462577d6...aabd078f2d91204f075619dc0865da4acf2dcb51
[cc-pull]: https://codecov.io/gh/binduwavell/generator-alfresco/pull/115?src=pr


[Feature Request]: Output formatting to improve information understanding.

Confirmations

[X] I have checked the issues tab, and couldn't find an existing issue with my feature request.

Description
Some suggestions for improve information understanding.
$ isubrip "https://tv.apple.com/br/movie/que-horas-eu-te-pego/umc.cmc.jv4x80nydofuh6a5b1nmg5kc"
User config file detected at 'C:\Users\Adriana\.isubrip\config.toml' and will be used.
Scraping 'https://tv.apple.com/br/movie/que-horas-eu-te-pego/umc.cmc.jv4x80nydofuh6a5b1nmg5kc'...
*
Found movie: No Hard Feelings [2023] (ID:<PHONE_NUMBER>)
*
العربية (ar) subtitles were successfully downloaded.
български (bg) subtitles were successfully downloaded.
中文（简体） (cmn-Hans) subtitles were successfully downloaded.
中文（繁體） (cmn-Hant) subtitles were successfully downloaded.
Čeština (cs) subtitles were successfully downloaded.
dansk (da) subtitles were successfully downloaded.
Deutsch (Deutschland) (de-DE) subtitles were successfully downloaded.
Ελληνικά (el) subtitles were successfully downloaded.
English (UK) (en-GB) subtitles were successfully downloaded.
English (en) [Forced] subtitles were successfully downloaded.
Español (Latinoamérica) (es-419) subtitles were successfully downloaded.
Español (España) (es-ES) subtitles were successfully downloaded.
eesti (et) subtitles were successfully downloaded.
Suomi (fi) subtitles were successfully downloaded.
Français (France) (fr-FR) subtitles were successfully downloaded.
עברית (he) subtitles were successfully downloaded.
magyar (hu) subtitles were successfully downloaded.
Italiano (Italia) (it-IT) subtitles were successfully downloaded.
한국어 (ko) subtitles were successfully downloaded.
lietuvių (lt) subtitles were successfully downloaded.
latviešu (lv) subtitles were successfully downloaded.
Nederlands (nl) subtitles were successfully downloaded.
norsk (no) subtitles were successfully downloaded.
polski (pl) subtitles were successfully downloaded.
Português (Brasil) (pt-BR) subtitles were successfully downloaded.
Português (Brasil) (pt-BR) [Forced] subtitles were successfully downloaded.
português (Portugal) (pt-PT) subtitles were successfully downloaded.
Русский (ru) subtitles were successfully downloaded.
Slovenčina (sk) subtitles were successfully downloaded.
slovenščina (sl) subtitles were successfully downloaded.
Svenska (sv) subtitles were successfully downloaded.
ไทย (th) subtitles were successfully downloaded.
Türkçe (tr) subtitles were successfully downloaded.
українська (uk) subtitles were successfully downloaded.
廣東話 (yue-Hant) subtitles were successfully downloaded.
English (US) (en-US) [CC] subtitles were successfully downloaded.
*
**36/36 matching subtitles have been successfully downloaded.
Suggestions:

*Add two line breaks.
**36/36 matching subtitles for "No Hard Feelings" has been downloaded from 1 playlist to "folder_path".

Hey, thanks for the suggestion.
The current output is just log output, and in my logging empty log lines to make the CLI output prettier is not a good logging practice.
I might implement a better output system which is separated from the logging system at some point in the future, but currently, as long as the CLI output just represents the logs, the priority is to log everything in a readable and compact manner and not to make it look pretty.


Change the groupid to dev.snowdrop

@jacobdotcosta : What's the reason to break with current id?

ATM I'll keep that PR on hold. It will depend on whether we need to release and publish a new starter version for Spring Boot 2.7.x.

@jacobdotcosta : Any progress on this PR and upcoming release?

@jacobdotcosta: Does a timeline exist for the release?

@jacobdotcosta, @luigidemasi : Any progress on this?


Test hangs when Modal is open

I'm writing a test that is expecting a View within a Modal to be visible. But the test would hang when the Modal is shown. When I close the modal the test would continue and fail because the View is no longer visible.
Anyone managed to get the detox running with Modal open?

@kelokchan if you believe there's an actual problem here, please reopen an issue through one of the bug templates. Thanks!


Create dotcom shell template

As a designer I need to know how to use the dotcom shell at different breakpoints so my designs reflect how the shell works in code.
Detailed description
Carbon provides a ui shell template to help designers see how the ui shell should work at different breakpoints, how the right and left panels look when expanded, and how the different pieces work with the grid.
Link to ui shell template
We should provide a similar template to help designers with their responsive designs. Things to include:
L0 + default footer

[ ] max
[ ] xlg
[ ] lg - left panel closed
[ ] lg - left panel open
[ ] med- left panel closed
[ ] med- left panel open
[ ] sm- left panel closed
[ ] sm- left panel closed

L0 + L1 + default footer

[ ] max
[ ] xlg
[ ] lg - left panel closed
[ ] lg - left panel open
[ ] med- left panel closed
[ ] med- left panel open
[ ] sm- left panel closed
[ ] sm- left panel closed

Acceptance criteria

[ ] template reviewed by design
[ ] template approved by Wonil
[ ] template added to Box folder

@larahanlon2
I'm working on the L0 & L1 mock ups for the Dotcom shell template, and wanted to confirm that Option 2 is the desired behavior for the open state on medium and small breakpoint?
Option 1

L1 is above the overlay
the side menu is flush to the L0

Option 2

L1 is below the overlay
the side menu is flush to the L0

@wonilsuhibm @larahanlon2
Please review the Dotcom shell template sketch file: https://ibm.ent.box.com/file/570389656421
The goal of this document is to show designers how the masthead and footer behave at different breakpoints.

A few things I'd like your take on:

Question from above, is the expected behavior of the side menu at small breakpoints is for the L1 to be below the overlay (Option 2)?

Is it clear in these examples that the side menu is corresponding to the L1 menu items and not the L0 menu items? Would it be more clear to label it something different like Sub link 1?

Should we include the Short footer in this template? I originally thought to exclude it because we don't want to encourage teams to use the short version.

For reference this is what Carbon's UI shell template looks like

At small breakpoints (672 and below) the only L1 thing that shows is the title. All nav links roll up into the hamburger. L0 and L1 inclusive.

At small breakpoints (672 and below) the L1 is 48px height, not 80px. This is to keep all that good screen real estate free for small screens.
And to answer your question yes – the side menu at small breakpoints should be below the overlay:

—

I had the same question and I think it would be more clear to label it something different. I like Sub-link 1 or Sub link 1.

—

I would favor not including short footer if we don't want adopters to use it!

@oliviaflory there's something weird happening with L1 title:

Which leads me to my other question/suggestion: could we label the L1 title L1 link title or Sub-link title?

Do you think we could show an L0 and L1 title link active state when both Ls are visible? I know this is a template so the active state isn't really applicable because it's out of context but I think it looks weird without any blue underlines. The purpose of the L1 is to show child/subcontent of the parent/L0 nav links but I'm not sure if that's super obvious:

To maybe something like this:

Would that work?

This looks great.

agreed

Let's not include and distribute the footer symbol case by case, since it will be only a handful of pages (URX and Checkout for now).

A question: was there a reason why the footer was included in separate artboards?


Improving the documentation of the observability package

Context
For observability-related releases/plugins, there should be an accessible description that clearly describes the scope and value proposition of each release. For this purpose, business language should be used that emphasises less the technical specifications. All this in conjunction with a Quick Start Guide to use it standalone and/or in conjunction with Greenhouse.
Objectives
Why is it necessary?
What is it for?
What does it do?
How can I use it?
What are the dependencies?
What is it not?
How can it be expanded?
Where can I contribute?

Done. Foundation set to iterate over.


Services depending on primary/secondary

It would be nice if services could be defined to run in the primary (as now does) and other services defined to be run in the secondary nodes. It's one thing we actually do in pacemaker.

thank you for the feedback, can you elaborate a bit more on your use case?
our reasoning for drbd-reactor::promoter was that it should be simple and it should be closely tied to DRBD (which gives reactor free quorum and what we need for "cluster communication"). It runs services that need storage on DRBD. We intentionally did not design it as a full replacement for pacemaker. drbd-reactor is (intentionally) limited to what I described, if one needs a more generic cluster manager (which then comes with higher complexity (for the users and the ones maintaining the code)) one is better off with pacemaker. it is a fine cluster manager, nothing wrong with it, and nothing wrong with using the right tool for the job at hand.

Yeah, I've tried drbd-reactor and does perfectly what it says it will do!
We actually have our complex clústers with pacemaker and works well. But the only thing we would need to migrate hyperconvergent clústers to drbd-reactor (for simplicity) will be to allow setting OCF resources to be started on secondary nodes. We start an nfs server in the primary drbd node and then we mount it from secondary one's. It seems it would be quite easy to implement in drbd-reactor, don't know.
That would be nice for us, but I understand it's not planned in drbd-reactor and our use case is considered a pacemaker and we already have it set up with pacemaker.
Thanks!

Not sure how feasible this is, but you may be able to create a mount unit for NFS with a<EMAIL_ADDRESS>Another alternative would be to handle this with the "user-mode-helper" plugin, listening for X->Secondary transitions of resources and then running the NFS mount afterwards.