Bundle minification fails when used with webpack CommonsChunkPlugin

I run webpack using either of the following scripts:
{
  "build:prod": "cross-env NODE_ENV=production webpack",
  "build:prod:dash": "cross-env NODE_ENV=production webpack-dashboard -- webpack",
}

The webpack config for production looks like this:
const APP_PATH = path.resolve('./app');
const BUILD_PATH = path.resolve('./build');
const TEST_PATH = path.resolve('./test');
const merge = require('webpack-merge');
const vendor = Object.keys(require('./package.json').dependencies);

const base = {
  entry: `${APP_PATH}/index.js`,
  output: {
    filename: 'bundle.js',
    path: BUILD_PATH,
    publicPath: '/css-in-js-test/',
  },
  devtool: 'eval-source-map',
  module: {
    loaders: [
      {
        test: /\.jsx?/,
        loader: 'babel',
        include: [APP_PATH],
      },
      {
        test: /\.svg$/i,
        loader: 'svg-sprite!svgo',
      },
      {
        test: /\.json$/,
        loader: 'json',
      },
    ],
  },
  plugins: [
    new DashboardPlugin(),
  ],
};

const prod = {
  entry: {
    app: `${APP_PATH}/index.js`,
    vendor,
  },
  output: {
    filename: '[name].js',
    path: BUILD_PATH,
    publicPath: '/css-in-js-test/',
  },
  devtool: 'source-map',
  plugins: [
    new DefinePlugin({
      NODE_ENV: JSON.stringify('production'),
    }),
    new CommonsChunkPlugin({
      names: ['vendor', 'manifest'],
    }),
  ],
};

const html = {
  plugins: [
    new HtmlWebpackPlugin({
      title: 'Bookcover mashup',
      inject: false,
      mobile: true,
      appMountId: 'root',
      template,
    }),
  ],
};

//within a switch case based on `npm_lifecycle_event`:
console.log('Production config with minification and bundle splitting');
config = merge(base, prod, html);
break;

I see this error when using babili with the webpack setup described above:
ERROR in ./app/Book.js
Module build failed: TypeError: /home/vamsi/Do/css-in-js-test/app/Book.js: t.isNodesEquivalent is not a function
    at visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-plugin-minify-simplify/lib/index.js:386:27)
    at visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-plugin-minify-simplify/lib/index.js:369:23)
    at PluginPass.visitor.ConditionalExpression.exit.node (/home/vamsi/Do/css-in-js-test/node_modules/babel-plugin-minify-simplify/lib/index.js:395:22)
    at newFn (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/visitors.js:276:21)
    at NodePath._call (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:76:18)
    at NodePath.call (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:48:17)
    at NodePath.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:117:8)
    at TraversalContext.visitQueue (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:150:16)
    at TraversalContext.visitSingle (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:108:19)
    at TraversalContext.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:192:19)
    at Function.traverse.node (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/index.js:114:17)
    at NodePath.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:115:19)
    at TraversalContext.visitQueue (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:150:16)
    at TraversalContext.visitMultiple (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:103:17)
    at TraversalContext.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:190:19)
    at Function.traverse.node (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/index.js:114:17)
    at NodePath.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:115:19)
    at TraversalContext.visitQueue (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:150:16)
    at TraversalContext.visitSingle (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:108:19)
    at TraversalContext.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:192:19)
    at Function.traverse.node (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/index.js:114:17)
    at NodePath.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:115:19)
    at TraversalContext.visitQueue (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:150:16)
    at TraversalContext.visitSingle (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:108:19)
    at TraversalContext.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:192:19)
    at Function.traverse.node (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/index.js:114:17)
    at NodePath.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/path/context.js:115:19)
    at TraversalContext.visitQueue (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:150:16)
    at TraversalContext.visitMultiple (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:103:17)
    at TraversalContext.visit (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/context.js:190:19)
    at Function.traverse.node (/home/vamsi/Do/css-in-js-test/node_modules/babel-traverse/lib/index.js:114:17)
 @ ./app/Bookshelf.js 1:308-325

This requires latest version of babel-types - 6.19.0 which is available with the latest version of babel-core.

@boopathi
I am using the following babel packages:
"babel": "^6.5.2",
    "babel-cli": "^6.18.0",
    "babel-core": "6.18.2",
    "babel-eslint": "^7.1.0",
    "babel-loader": "6.2.7",
    "babel-plugin-transform-class-properties": "6.11.5",
    "babel-plugin-transform-es2015-classes": "6.18.0",
    "babel-plugin-transform-object-rest-spread": "^6.16.0",
    "babel-polyfill": "6.16.0",
    "babel-preset-babili": "0.0.9",
    "babel-preset-env": "0.0.7",
    "babel-preset-react": "^6.16.0",
    "babel-register": "6.18.0",

Can you see the version of babel-types ? It should be 6.19.0.

I have installed babel-types, how do I configure it to work in my .babelrc

You don't have to configure it...
babel-core fetches babel-types and the version in babel-core wasn't updated to use the latest version of babel-types.
So for now, you just have to ensure that babel-types required by babel-core is 6.19.0.

Looks like I was using node v6.2.0, switching to node v7.1.0 fixed the issue for me. Thanks

@boopathi I moved to the babili-webpack-plugin and it now minifies all my bundles.


Add Box authentication, and UI prompt

Adds support for authentication via the Box API and an appropriate UI prompt that appears when a user is not signed in.
Basic usage

Send users to /get_box_auth_url to show them Box's sign up prompt
Check /get_box_has_auth - if it returns false then a user is not signed in
/get_box_file?id=[fileid] isn't well tested, but seems to work

Frontend changes

AuthPrompt (newcomponents/AuthPrompt.js) presents a header at the top of the page telling the user to sign in with Box if they are not currently signed it. I added it to every main page in the UI.
/auth route presents the user with a full login page. I want to replace this now that the prompt is in place, since it does the same thing but less elegantly.

The last commit (https://github.com/Haowjy/ur-optics-solar-dashboard/pull/4/commits/a1d0be538c79d061ee572ec9990b9b867b3fd563) isn't set in stone. Aayush suggested that we name the project "Flux" during the last GMM, but is open to feedback on the idea. And I thought the RocLab logo at the bottom looked cool, but again open to feedback.


Tell

Hello! Please give me an example of how this should be driven in full form.

Hello! Please give me an example of how this should be driven in full form.

Something like this. This is my configuration, lists should be written in a single line without wrapping.
But it's not necessary to fill in all the fields; only API_ID and API_HASH are sufficient.


CQL2 filters resulting in full scans despite indexed properties

Even when the property is indexed in certain filter requests, it is bypassed. Consider the following example:
postgis=> SELECT * from queryables WHERE name = 'platform';
 id |   name   | collection_ids |     definition     | property_path | property_wrapper | property_index_type
----+----------+----------------+--------------------+---------------+------------------+---------------------
 12 | platform |                | {"type": "string"} |               | to_text          | BTREE
(1 row)

Queries like this one perform very quickly:
postgis=> EXPLAIN SELECT * FROM items WHERE to_text(content->'properties'->'platform') = 'p1';
                                                              QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------
 Append  (cost=0.28..160108.20 rows=162294 width=1059)
   ->  Index Scan using _items_399165_to_text_idx1 on _items_399165 items_1  (cost=0.28..2.49 rows=1 width=1759)
         Index Cond: (to_text(((content -> 'properties'::text) -> 'platform'::text)) = 'newsat26'::text)
         ...

However, using a CQL2 filter to search for more than a single value leads to a full scan:
postgis=> SELECT stac_search_to_where('{"filter-lang": "cql2-json", "filter": {"op": "a_overlaps","args": [{"property": "platform"}, ["p1", "p2"]]}}');
                     stac_search_to_where
---------------------------------------------------------------
 to_text_array(content->'properties'->'platform') && '{p1,p2}'
(1 row)

postgis=> EXPLAIN SELECT * FROM items WHERE to_text_array(content->'properties'->'platform') && '{p1,p2}';
                                                    QUERY PLAN
-------------------------------------------------------------------------------------------------------------------
 Gather  (cost=1000.00..307488051.71 rows=571130 width=1038)
   Workers Planned: 2
   ->  Parallel Append  (cost=0.00..307429938.71 rows=237960 width=1038)
         ->  Parallel Seq Scan on _items_1 items_128  (cost=0.00..60093820.23 rows=46785 width=971)
...

Is there a way to craft a CQL2 query that PgSTAC would translate into this query?
postgis=> EXPLAIN SELECT * from items WHERE (to_text(content->'properties'->'platform') IN ('p1', 'p2'));
                                                          QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------
 Append  (cost=0.28..530.61 rows=183 width=703)
   ->  Index Scan using _items_399165_to_text_idx1 on _items_399165 items_1  (cost=0.28..3.87 rows=1 width=1759)
         Index Cond: (to_text(((content -> 'properties'::text) -> 'platform'::text)) = ANY ('{p1,p2}'::text[]))

It seems using IN operator is the solution:
postgis=> SELECT stac_search_to_where('{"filter-lang":"cql2-json","filter":{"op": "in", "args": [{"property": "platform"}, ["p1", "p2"]]}}');
                              stac_search_to_where
---------------------------------------------------------------------------------
 to_text(content->'properties'->'platform') IN (to_text('"p1"'),to_text('"p2"'))
(1 row)

postgis=> EXPLAIN SELECT * from items WHERE to_text(content->'properties'->'platform') IN (to_text('"p1"'),to_text('"p2"'));
                                                          QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------
 Append  (cost=0.28..530.61 rows=183 width=703)
   ->  Index Scan using _items_399165_to_text_idx1 on _items_399165 items_1  (cost=0.28..3.87 rows=1 width=1759)
         Index Cond: (to_text(((content -> 'properties'::text) -> 'platform'::text)) = ANY ('{p1,p2}'::text[]))

a_overlaps is for comparing an array to an array, so it must cast platform into a single element array. In this case property is not an array, so it must be cast to an array before comparing with the postgres && operator. There would need to be a GIN index along with the cast to_text_array in order to use an index for the a_overlaps operator. Right now, the way the queryables index tooling works, you can only have a single index type for a property, so you would need to chose whether you wanted to query that field always as an array using the array operators OR if you want to keep it as you have it now with a BTREE index casting that property just as a text value that you can use with = or IN operators.


Add feminine for french language

This is a small and specific change
ca.sor has in lines 148 to 158 the following sections :
== feminine ==

1 una
(.*)	$(f:|$1)

== masculine ==

1 un
(.*)	$1

It would be interesting to insert in fr.sor  after line 135 the following sections :
== feminine ==

1 une
(.*)	$(f:|$1)

== masculine ==

1 un
(.*)	$1

default being masculine ... and modify the == help == section accordingly
thank you for the good work !
p.s. : apparently other latin languages should have this rule (not found in es.sor, found something in it.sor but different from ca.sor ...)

Hi,
The problem was fixed by the previous patch of new v1.0.11 release, integrated with LibreOffice, too.
The result will be visible in LibreOffice 7.5, according to the new number and currency formats of the Calc Cell and Writer Field formatting dialog windows:
https://wiki.documentfoundation.org/ReleaseNotes/7.5#Default_.E2.80.9Cspell_out.E2.80.9D_number_and_currency_formats
Many thanks for your bug report!
Best regards,
László


[Hub Generated] Review request for Microsoft.Insights to add version stable/2018-03-01

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

/azp run automation - sdk

Can one of the admins verify this patch?

@yashmuel Hi, please remove the sub module

@yashmuel Hi, please remove the sub module

@yashmuel.  Closed this PR since it's out of date. Feel free to open a new one.

/azp run automation - sdk


Updates to DriverExceptionHandler & Driver Error Object V2 definitions

[ ] In DriverExceptionHandler override the ExceptionHandler.handleUnhandled() to use a generic database V2 error that does not return 500's
[ ] Update DriverExceptionHandler for all of the expected driver errors to return V2 errors that are nicely written.

wont make it in hotfix, small fix for #1719 will help , removing the hotfix label


Error seen on fleet Workspaces page when try to create any workspace

Summary:

An error is shown when you try to create any workspace on the Workspaces page under Continous Delivery (fleet)
dashboard/c/<clusterId>/fleet/management.cattle.io.fleetworkspace/create#labels

Environment:
Rancher version: v2.6-head 39cecf0 12/17/2021
Rancher cluster type: single-node docker install
Docker version: 20.10
Downstream cluster type: rke2
Downstream K8s version: v1.21
Steps to Reproduce:

After installing rancher, try to create a workspace under Continous Delivery.

Expected Result:
No errors
Actual Result:
An error is observed in the UI and in the console.
Screenshot:

Console log:
14:23:35.974 CreateEditView mixin failed to save:  TypeError: setting getter-only property "annotations"
    t impl.js:214
    d runtime.js:45
    _invoke runtime.js:274
    e runtime.js:97
    Babel 6
    actuallySave impl.js:208
    o impl.js:177
    d runtime.js:45
    _invoke runtime.js:274
    e runtime.js:97
    Babel 6
    save impl.js:150
    VueJS 4
    click CruResource.vue:1
    VueJS 4
    clicked AsyncButton.vue:201
    VueJS 33
impl.js:203:16

Additional Info:
The workspace is still created regardless of the error.
I can still apply labels/annotations without any issues (we just see this ugly error). I can also edit and apply labels/annotations later without any issues or update existing ones I initially created.

was able to reproduce on 2.6-head 981fbc8 (error is different but related)

console error
impl.js:203 CreateEditView mixin failed to save:  TypeError: Cannot set property annotations of [object Object] which has only a getter
    at Function.assign (<anonymous>)
    at impl.js:214
    at d (runtime.js:45)
    at Generator._invoke (runtime.js:274)
    at Generator.O.forEach.t.<computed> [as next] (runtime.js:97)
    at r (asyncToGenerator.js:3)
    at l (asyncToGenerator.js:25)

Reproduced again (did this check to ensure it wasn't just one environmental issue I had) v2.6-head b4d83fb (latest v2.6-head)

2 HA setups
2 single-node docker setups

On 2.6.3-rc8
No errors seen when workspace are created.
Able to create multiple workspaces


When you refresh the page there is a flash showing some items unstyled.

https://user-images.githubusercontent.com/1402054/171732013-993449bc-2f06-4e46-bf55-3d0d43976262.mov


[WIP] i18n fixes and cleanups

app/javascript/react/config/config.js
4:export const links = [

app/javascript/react/config/Routes.js
4:import { links } from './config';
9:  links.map(({ path, component }) => {

So, we only use links in Routes, where we only read path and component.
So, the text attribute is dead now, removing.
(If text should not be dead, we should add gettext and use it somewhere.)

Plus various other i18n fixes from comments

this is fine as we aren't using the text attributes... and it looks like we missed one of the i18n references in the Breadcrumbs. Can you also update this for us?
    const toolbarContent = (
      <Toolbar>
        <Breadcrumb.Item href="/dashboard/maintab?tab=compute">
          Compute
        </Breadcrumb.Item>
        <Breadcrumb.Item active>Migration</Breadcrumb.Item>
      </Toolbar>
    );

?

Sure, added :) and also added ActiveTransformationPlans for good measure :)

...and fixed the rest of setMigrationsFilterAction :)

Sorry.. this was meant to be a 5 minute thing
Feel free to pick commits, or ping me when I should rebase.
I'm back to the build stuff.

But agreed this should not be merged in this form:
https://github.com/ManageIQ/miq_v2v_ui_plugin/blob/master/app/javascript/react/screens/App/Overview/components/Migrations/Migrations.js#L84 is ....horrible
adding WIP

yes let's clean that up in #367 - thanks...

repurposed in #381 ... closing.


Testing subdomain cookie - by adding domain option , caused cookie not saved

As mentioned here https://stackoverflow.com/questions/18492576/share-cookie-between-subdomain-and-domain , I must add domain = .mydomain.com so that a cookie can be made available to subdomain1.mydomain.com or subdomain2.mydomain.com
Thus I started to test in my localhost
this.props.cookies.set("hello", "there");
it works.
Adding any domain like below will make the cookie never got saved
this.props.cookies.set("hello", "there", {domain: "localhost"});
this.props.cookies.set("hello", "there", {domain: ".localhost");
Any suggestion? Thanks.

localhost is a special case. Because it doesn't include a dot, the browser is denying it. You can use lvh.me instead of localhost (or any DNS entry pointing to <IP_ADDRESS>). Otherwise you can omit the parameter only when working in development.

Super @eXon. Thanks for the answer and wonderful util.

@eXon although i work with lvh.me, i got same issue. If I set cookie to ".domain.com" it's ok but when i want to set cookie for "subdomain.domain.com" from another subdomain, i failed.  What should i do?

No, I couldn't. @zamson


Native app does not support resizing in foldable phones and split screen mode

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

Action Performed:
Scenario 1:

Open the Android native App with a folded Galaxy Z Fold 4
Unfold the phone

Scenario 2:
4. open the app on an unfolded Galaxy Z Fold 4
5. fold the phone
Scenario 3:
6. Attempt to open the New Expensify app in split-screen mode on an unfolded Galaxy Z Note 4
Expected Result:
In step 2 scenario1 ,The app will switch to the wider layout and take up the full screen of the phone when unfolded
In step 4 scenario2 , The app should resize to the narrow layout when folded the phone
In step 6 Scenario3: The app should open in split screen mode, taking up half the phone’s screen.
Actual Result:

The app will continue to display in its narrow layout, and a system growl notification will appear saying the app does not support resizing  in step2
The app will need to be restarted in order for you to continue using it in step 4
The app does start in split view mode

Workaround:
unknown
Platform:

Where is this issue occurring?

Android - foldable phones

Version Number: 1.2.27-0
Reproducible in staging?: Need reproduction
Reproducible in production?: Need reproduction
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Expensify/Expensify Issue URL:
Issue reported by: @roryabraham
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1668278860395489
View all open jobs on GitHub

@tgolen - Assigning to engineering to identify if this is a feature or a bug. This appears to be very specific to a particular phone type and need feedback if I should commit to labeling external. Thanks!

@roryabraham - Thanks for the feedback. At this point do I start an internal conversation or move forward with creating the job? Sorry, I'm a little confused about the next step to take here. Thanks!

At this point do I start an internal conversation or move forward with creating the job?

It's probably better to have a conversation to get consensus before moving forward to create the job, because fixing this would reverse a previous decision.

Brought up in slack here

It looks like this one is still under discussion.

Sounds like the general consensus is that this is a new feature to support certain devices for which resizing is valuable, such as tablets and foldable phones. So that means not a bug


GUI changes

some changes to make the GUI configurable and usable for users with small screens

to test: start the quicknxs application and verify that the checkable Hide ... items in the GUI options menu hide and restore the areas of the GUI they pertain to.


(1.1) Add SSL_(CTX_)?get0_(verify|chain)_cert_store functions

Backport of #18038 to 1.1.
Fixes #18035.

Hugo Landau wrote:

Backport of #18038 to 1.1.
[]

(1.1) Add SSL_(CTX_)?get0_(verify|chain)_cert_store functions

Adding new exported function in LTS release does not make sense.
It is expected an application to keep binary compatibility, i.e. it should work with all 1.1 releases.
With other words application cannot use them if is build with 1.1, i.e. back-port is needless.
Regards,
Roumen Petrov

It is expected an application to keep binary compatibility, i.e. it should work with all 1.1 releases. With other words application cannot use them if is build with 1.1, i.e. back-port is needless.

Nope! You always need to build with oldest patch release from the release series that you want to support. I.e. with 1.1.1e if you want to support anything >= 1.1.1e.
You should never build with 1.1.1n and expect it to work correctly with 1.1.1m.
Adding accessors in stable releases is allowed by policy.

Tomáš Mráz wrote:

It is expected an application to keep binary compatibility, i.e. it should work with all 1.1 releases. With other words application cannot use them if is build with 1.1, i.e. back-port is needless.

Nope! You always need to build with oldest patch release from the release series that you want to support. I.e. with 1.1.1e if you want to support anything >= 1.1.1e.

Which build system allows this. Build is always with system libraries and many vendors do upgrades.

You should never build with 1.1.1n and expect it to work correctly with 1.1.1m.

Thanks for useless suggestion. This part is of scope.

Adding accessors in stable releases is allowed by policy.

Quite interesting interpretation of a policy.
Regards,
Roumen Petrov

Adding accessors in stable releases is allowed by policy.
Quite interesting interpretation of a policy.

See the last item on https://www.openssl.org/policies/releasestrat.html

When structures are made opaque, any newly required accessor macros or functions are added in a feature release of the extant LTS release and all supported intermediate successor releases.

Ping for second review.

Merged.


Epic: Slot Data API

Description: Define and implement a set of APIs that allow developers to set/change/update slot data. Wolf should handle this state updates in S1 before proceeding to S2.
Tasks:

[ ] #75 Implement post /api/slotdata
[ ] #76 Implement post /api/new-conversation

#76 closed. SlotData API will only support direct line bots. This API endpoint is not needed.


Add more webistes [Update data.json]

Thanks! That looks better! Will get to looking at it soon!

You can accept BTC as a merchant right? But shopify itself doesn't accept BTC payments in any form. What could be nice to add is the merchants themselves that accepts BTC.
For example those listed here: https://www.shopify.com/bitcoin

I modified the data.json a bit so now we have conflicting changes. Can you please resolve them? Sorry about that.

@DjamelEd category is renamed to categories which takes an array now. Can you resolve this too?


A CameraController was used after being disposed

hi,sir,
When I install the app for the first time and get the camera permission, the following error will appear. When I try to use the cameracontroller to avoid this problem, I cannot refer to it.
flutter: AppLifecycleState.resumed
[VERBOSE-2:ui_dart_state.cc(198)] Unhandled Exception: A CameraController was used after being disposed.
Once you have called dispose() on a CameraController, it can no longer be used.
#0      ChangeNotifier._debugAssertNotDisposed. (package:flutter/src/foundation/change_notifier.dart:125:9)
#1      ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:131:6)
#2      ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:304:12)
#3      ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:428:5)
#4      CameraController.setFlashMode (package:camera/src/camera_controller.dart:624:7)

#5      _ReaderWidgetState.onNewCameraSelected (package:flutter_zxing/src/ui/reader_widget.dart:132:7)

Thank you for have a look.
PermissionStatus state = await Permission.camera.request();
if (state.isGranted==true){
pushViewController(context: context, child: const GatewayQrCodeWidgetScanner());
}else{
//Here's the hint
}


solver 里面trainer的restore

restore的返回是不是应该是sample，不然反归一化那儿要出错，还是要把那行注释取消了

Thanks for pointing it out, it has been fixed.
samples = trainer.restore(dataloader, [dataset.window, dataset.var_num], coef, stepsize, sampling_steps)-->samples, *_ = trainer.restore(dataloader, [dataset.window, dataset.var_num], coef, stepsize, sampling_steps)


Write contributor guide

@lianafaye asked about best way to contribute new features to riboviz
We should write a contributor guide for that!

I agree, this is a great idea and would be worth doing.  Possibly another good task for @B209678-2021 and @Maberuiz once they've gotten further into their projects and are more confident developing and working with riboviz and adding new datasets? @ewallace what do you think?
There's a recommended set of things github think projects should have to better engage with their communities: https://github.com/riboviz/riboviz/community
I think this issue would tick one off, and might also tie in nicely with BBSRC-NSF issue 41 regarding community engagement.


Fixed Issue #80

Firstly, Thanks for assigning me this Issue #80
Description

Fixed CONTRIBUTING.md
Added Hyperlink to the readme.md file

Please, merge this pull request @sanjay-kv

Hey @sanjay-kv please add level label in this pull request.
Thanks.


10 Prescription ballistic goggles

done in https://github.com/RMC-14/RMC-14/commit/78318f488ce19571a1f810abf694bf6d668e3b91


[Feature] Add a hint when "Text file busy (os error 26)" error occurs.

When trying to change nvim version (bob use) user may get "Text file busy (os error 26)".
$ bob list
┌───────────┬─────────────┐
│  Version  │  Status     │
├───────────┼─────────────┤
│  v0.10.1  │  Installed  │
│  v0.9.5   │  Used       │
└───────────┴─────────────┘

$ bob use stable
INFO Fetching latest version
INFO Updating neovim proxy
ERROR Error: Text file busy (os error 26)

The reason is that the binary file is in use by some running process.
Quick solution (for the user)
The most elegant solution is to close the processes that are locking the binary file. User can find which ones in many ways, eg. using fuser (man fuser):
fuser -v $(which nvim)
                     USER        PID ACCESS COMMAND
/home/pcalus/.local/share/bob/nvim-bin/nvim:
                     <user>    <pid1> ...e. nvim
                     <user>    <pid2> ...e. nvim

...or ps+lsof (man ps, man lsof).
ps -o pid,command $(lsof -t $(which nvim))
    PID COMMAND
<pid1> <path_to_nvim> -N --embed --cmd source ~/.vscode-oss/extensions/asvetliakov.vscode-neovim-1.18.9-universal/runtime/vscode-neovim.vim
<pid2> <path_to_nvim> -N --embed --cmd source ~/.vscode-oss/extensions/asvetliakov.vscode-neovim-1.18.9-universal/runtime/vscode-neovim.vim

In the above case the culprit is VSCodium with the neovim plugin, which is expected.
Eventually We can:

documentation: add a note (README.md?)
runtime, when an error occurs...

print a hint to the user to close processes blocking nvim binary
print information about these processes (to make it easier to close them).

I will add the runtime clarification error but without the specific process since on windows u have to have admin privileges (maybe ill add for unix we will see)

@piotr-calus can you confirm that the PR fixes this issue?

@piotr-calus can you confirm that the PR fixes this issue?

It seems to be ok.
Good job, thanks!
$ fuser -v $(which nvim)
                     USER        PID ACCESS COMMAND
/home/pcalus/.local/share/bob/nvim-bin/nvim:
                     pcalus    920651 ...e. nvim

$ bob --version
bob-nvim 4.0.1

$ bob use nightly
Sep 10 22:11:27.791  INFO Updating neovim proxy
Sep 10 22:11:27.792 ERROR Error: Text file busy (os error 26)

$ git branch --show-current
notify-user-file-busy

$ cargo run use nightly
[...]
     Running `target/debug/bob use nightly
Sep 10 22:11:45.264  INFO Looking for nightly updates
Sep 10 22:11:45.266  INFO You can now use nightly!

@piotr-calus can you confirm that the PR fixes this issue?

It seems to be ok. Good job, thanks!
$ fuser -v $(which nvim)
                     USER        PID ACCESS COMMAND
/home/pcalus/.local/share/bob/nvim-bin/nvim:
                     pcalus    920651 ...e. nvim

$ bob --version
bob-nvim 4.0.1

$ bob use nightly
Sep 10 22:11:27.791  INFO Updating neovim proxy
Sep 10 22:11:27.792 ERROR Error: Text file busy (os error 26)

$ git branch --show-current
notify-user-file-busy

$ cargo run use nightly
[...]
     Running `target/debug/bob use nightly
Sep 10 22:11:45.264  INFO Looking for nightly updates
Sep 10 22:11:45.266  INFO You can now use nightly!

Hmm odd, the error should be different.

ah I can see why, the new version is actually 4.0.2

ah I can see why, the new version is actually 4.0.2. so you probably didn't switch correctly to the new branch.

Oh, wait. I think I didn't express myself clearly.
The problem occurs in the (tagged) version 4.0.1:

$ bob --version
bob-nvim 4.0.1

$ bob use nightly
Sep 10 22:11:27.791  INFO Updating neovim proxy
Sep 10 22:11:27.792 ERROR Error: Text file busy (os error 26)

and in the notify-user-file-busy branch (PR #238) it works, no more errors 👍🏻

$ git branch --show-current
notify-user-file-busy

$ cargo run use nightly
[...]
     Running `target/debug/bob use nightly
Sep 10 22:11:45.264  INFO Looking for nightly updates
Sep 10 22:11:45.266  INFO You can now use nightly!

I added both console outputs as "test log". Sorry if I misled you with that. I should have made that clear from the start.

🤔

Retesting...
Trying to reproduce the failure again I get the error "Error: The file is busy".
$ cargo run use stable
Sep 11 11:37:48.271  INFO Fetching latest version
Sep 11 11:37:48.852  INFO Updating neovim proxy
Sep 11 12:05:47.862 ERROR Error: The file /home/pcalus/workspace/bob/target/debug/bob is busy. Please make sure to close any processes using it.

I did not look at the code. Is it the bob file that is supposed to be copied?

~/workspace/bob/target/debug/bob -> ~/.local/share/bob/nvim-bin/nvim
🤔

Additional info:
$ git log --oneline -n 1
88a7985 (HEAD, origin/notify-user-file-busy) lol

$ cargo run -- --version
warning: unused manifest key: bin.0.plugin
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.11s
     Running `target/debug/bob --version`
bob-nvim 4.0.2

$ ls -1 /home/pcalus/.local/share/bob/
nightly
nightly-648d642
nvim-bin
used
v0.10.1

$ cargo run list
warning: unused manifest key: bin.0.plugin
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/bob list`
┌────────────────────┬─────────────┐
│  Version           │  Status     │
├────────────────────┼─────────────┤
│  v0.10.1           │  Installed  │
│  nightly-648d642   │  Installed  │
│  nightly           │  Used       │
└────────────────────┴─────────────┘

Retesting... Trying to reproduce the failure again I get the error "Error: The file is busy".
$ cargo run use stable
Sep 11 11:37:48.271  INFO Fetching latest version
Sep 11 11:37:48.852  INFO Updating neovim proxy
Sep 11 12:05:47.862 ERROR Error: The file /home/pcalus/workspace/bob/target/debug/bob is busy. Please make sure to close any processes using it.

I did not look at the code. Is it the bob file that is supposed to be copied?

~/workspace/bob/target/debug/bob -> ~/.local/share/bob/nvim-bin/nvim
🤔

Additional info:
$ git log --oneline -n 1
88a7985 (HEAD, origin/notify-user-file-busy) lol

$ cargo run -- --version
warning: unused manifest key: bin.0.plugin
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.11s
     Running `target/debug/bob --version`
bob-nvim 4.0.2

$ ls -1 /home/pcalus/.local/share/bob/
nightly
nightly-648d642
nvim-bin
used
v0.10.1

$ cargo run list
warning: unused manifest key: bin.0.plugin
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/bob list`
┌────────────────────┬─────────────┐
│  Version           │  Status     │
├────────────────────┼─────────────┤
│  v0.10.1           │  Installed  │
│  nightly-648d642   │  Installed  │
│  nightly           │  Used       │
└────────────────────┴─────────────┘

Okay looking at the first output yes it works as intented, awesome.


Wrong statement that - The type of null is wrongly computed to be Object

https://github.com/carltheperson/advanced-js-objects/blob/b8d9217bcd80b2d1b1f35ba83bbc6e47de4152f2/chapters/chapter-1.md?plain=1#L212

The type of null is wrongly computed to be Object. This is a bug that was introduced in the first implementation of JavaScript

According to the specification, null primitive value that represents the intentional absence of any object value.  It's not a mistake. And perfectly correct behavior.
For two reasons:

typeOf is a unary operator that does not return a "type" value.
Null in JS is a type indicating that the current link is an object that has no structure defined. It is extremely important for the interpreter to know and understand the difference between undefined for referers and null for objects.

A typical use case is when an API or function must return an object, but for some reason this cannot be done (for example, an error) in this case, the function must return null.
This is exactly the same behavior as NaN for floating point numbers.
The link https://2ality.com/2013/10/typeof-null.html brings a lot of confusion.

"I think it is too late to fix typeof. The change proposed for typeof null will break existing code."
This is not about JS code. Its about the C code that implements the work of JS in host.

Null is lexically ambiguous. On the one hand, this is a primitive value. On the other hand, this is the Object.
That is what is the problem. Not a bug in the code that led to the wrong answer.
If you look at the code in post  https://2ality.com/2013/10/typeof-null.html, you will see that there is no code that would report such a type as "null". It does not exist precisely because the logic of the operation of Null is the logic of the operation of the object.

Here this post https://2ality.com/2013/05/history-undefined.html covers the problem more correctly.
For this reason, it is completely wrong to say that typeof null === "object " is a mistake. Which is confirmed as the current specification.
So is an explanation as to why Null has "two types".

Thanks for opening this issue.
This depends what purpose you expect the typeof operator to have. The specification doesn't say this and only describes which values typeof should return and when.
I would think that the purpose of typeof is to provide the type of a value. I think this is a fair assumption based on the name and functionality (excluding null) that typeof has. Given my assumption, typeof null === "object" is wrong.
Even if null  is used as an intentional absence of any object value, it's still a separate type.
Also, I'm not saying that typeof null === "object" is a mistake, I'm saying that it's wrong. I agree that typeof adheres to the specification perfectly.
It currently being in the language is not a mistake. Even if it was caused by a mistake made by Brendan Eich who wrote the original code and calls it a "bug".
I'll happily reference your issue in the footnotes to provide more nuance for the readers.


Switch clients.Settings to interfaces

#270 was the proof-of-concept that introduced these interface changes.
This is a broken-out PR that changes the Settings struct individually so no other changes.

/lgtm


Vulnerability roundup 111: SharpZipLib-0.86.0: 1 advisory [9.8]

search, files

[ ] CVE-2021-32840 CVSSv3=9.8 (nixos-21.11, nixos-unstable)

CVE details
CVE-2021-32840
SharpZipLib (or #ziplib) is a Zip, GZip, Tar and BZip2 library. Prior to version 1.3.3, a TAR file entry ../evil.txt may be extracted in the parent directory of destFolder. This leads to arbitrary file write that may lead to code execution. The vulnerability was patched in version 1.3.3.

Scanned versions: nixos-21.11: 2128d0aa28e; nixos-unstable: 5aaed40d22f.

See also: #99715


Removed Obsolete Direction,OffsetX,OffsetY, cleaned up examples

Removed Obsolete Direction,OffsetX,OffsetY parameters and code, they have not had any fucntionality since 6.0.0 release. cleaned up examples still using this parameters...

I didn't noticed OffsetX or Y has obsolete warning on VS, at least in my application. But yes they have no functionality. So many users can miss this thing. So what about making 6.1.0?

I didn't notice OffsetX or Y has obsolete warning on VS, at least in my application. But yes they have no functionality. So many users can miss this thing. So what about making 6.1.0?

Will investigate regarding that message have not showed before, i have informed core team. But no need to pump version for this.
We bumped version first time when we added Origin and then second time when we released version 6 as major. should been plenty of time. And they have had 0 functionality since 6 release.

We bumped version first time when we added Origin and then second time when we released version 6 as major. should been plenty of time. And they have had 0 functionality since 6 release.

Completely agree, but this gives error messages instantly for the users after they will update. So a good information about this will be good with the release.

I just checked on my application, i still have 70 OffsetY 🙂

I just checked on my application, i still have 70 OffsetY 🙂

And no warnings / errors?

No nothing, and no functionality too.

Lets NOT merge this for now :D

@mckaragoz you really saved us there haha

@mckaragoz you really saved us there haha

That will be a #1 issue in 6.1 :)


Bug: The KinesisFirehoseRecordMetadata model is typed incorrectly and forces a pydantic ValidationError.

Expected Behaviour
1. Overview
If you are using a data processor Lambda Function for a Kinesis Firehose Delivery Stream, you should be able to use the KinesisFirehoseModel model to validate events without encountering a pydantic ValidationError.
Current Behaviour
1. Overview
When you validate a Kinesis Firehose Delivery Stream event with the KinesisFirehoseModel model, it fails because the kinesis record metadata's subsequenceNumber (records[].kinesisRecordMetadata.subsequenceNumber) attribute has an incorrect type. This forces pydantic to throw a ValidationError that should not happen.
Specifically, the KinesisFirehoseModel model starts validating its sub-structures. Once it validates its kinesis records' metadata with the KinesisFirehoseRecordMetadata model, it fails. This is because sub-sequence numbers are integers, but the model's subsequenceNumber attribute is expecting a string.
2. ValidationError Output
pydantic_core._pydantic_core.ValidationError: 1 validation error for KinesisFirehoseModel
records.0.kinesisRecordMetadata.subsequenceNumber
  Input should be a valid string [type=string_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.4/v/string_type

Code snippet
#!/usr/bin/env python

from aws_lambda_powertools.utilities.parser.models import KinesisFirehoseModel

def main() -> None:
    """Code snippet that shows the previously mentioned validation error."""
    # Create a kinesis firehose delivery stream event
    firehose_event: dict = {
        "invocationId": "00000000-0000-0000-0000-000000000000",
        "sourceKinesisStreamArn": "arn:aws-us-gov:kinesis:us-gov-west-1:000000000000:stream/A",
        "deliveryStreamArn": "arn:aws-us-gov:firehose:us-gov-west-1:000000000000:deliverystream/A",
        "region": "us-gov-west-1",
        "records": [
            {
                "recordId": "00000000000000000000000000000000000000000000000000000000000000",
                "approximateArrivalTimestamp":<PHONE_NUMBER>714,
                "data": "YnVnIHJlcG9ydA==",
                "kinesisRecordMetadata": {
                    "sequenceNumber": "00000000000000000000000000000000000000000000000000000000",
                    "subsequenceNumber": 0,
                    "partitionKey": "00000000000000000000000000000000",
                    "shardId": "shardId-000000000000",
                    "approximateArrivalTimestamp":<PHONE_NUMBER>714
                }
            }
        ]
    }

    # Create a model from the event (this fails)
    model: KinesisFirehoseModel = KinesisFirehoseModel.model_validate(firehose_event)
    print(model)

    return None

if __name__ == "__main__":
    main()

Possible Solution
1. Overview
Update the Kinesis Firehose pydantic model and data class with the correct type hints.
2. Problematic Code

https://github.com/aws-powertools/powertools-lambda-python/blob/develop/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py#L203-L209
https://github.com/aws-powertools/powertools-lambda-python/blob/develop/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py#L8-L13

3. Proposal for the Pydantic Model
class KinesisFirehoseRecordMetadata(BaseModel):
    shardId: str
    partitionKey: str
    approximateArrivalTimestamp: PositiveInt
    sequenceNumber: str
    subsequenceNumber: int

4. Proposal for the Data Class Dictionary Wrapper
class KinesisFirehoseRecordMetadata(DictWrapper):
    @property
    def subsequence_number(self) -> int:
        """Kinesis stream sub-sequence number; present only when Kinesis Stream is source

        Note: this will only be present for Kinesis streams using record aggregation
        """
        return self._metadata["subsequenceNumber"]

5. Examples From Other Amazon/AWS Packages

https://github.com/awslabs/amazon-kinesis-client-net/blob/master/ClientLibrary/inputs/Record.cs#L27-L32
https://github.com/aws/aws-lambda-go/blob/main/events/firehose.go#L43-L49
https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/retrieval/kpl/ExtendedSequenceNumber.java#L37-L39

Steps to Reproduce
1. Overview

Have an event from a Kinesis Firehose Delivery Stream.
Validate the event with the KinesisFirehoseModel pydantic model.
Encounter an error when the KinesisFirehoseRecordMetadata fails to validate.

2. Sample Event
{
  "invocationId": "00000000-0000-0000-0000-000000000000",
  "sourceKinesisStreamArn": "arn:aws-us-gov:kinesis:us-gov-west-1:000000000000:stream/A",
  "deliveryStreamArn": "arn:aws-us-gov:firehose:us-gov-west-1:000000000000:deliverystream/A",
  "region": "us-gov-west-1",
  "records": [
    {
      "recordId": "00000000000000000000000000000000000000000000000000000000000000",
      "approximateArrivalTimestamp":<PHONE_NUMBER>714,
      "data": "YnVnIHJlcG9ydA==",
      "kinesisRecordMetadata": {
        "sequenceNumber": "00000000000000000000000000000000000000000000000000000000",
        "subsequenceNumber": 0,
        "partitionKey": "00000000000000000000000000000000",
        "shardId": "shardId-000000000000",
        "approximateArrivalTimestamp":<PHONE_NUMBER>714
      }
    }
  ]
}

Powertools for AWS Lambda (Python) version
2.26.0
AWS Lambda function runtime
3.11
Packaging format used
PyPi
Debugging logs
N/A

Hi @ahitchin! Thanks for opening this issue and I can confirm it's a bug. Checking the links you sent and here this field should actually be integer instead of str.
Would you like to submit a PR to fix this? We'd love to have your first contribution here. If so, change the class, the test and also the [event] (https://github.com/aws-powertools/powertools-lambda-python/blob/develop/tests/events/kinesisFirehoseKinesisEvent.json). You can do the same for the data class test.


add xu-university

xu-university, Germany’s first university for digitisation and technology

@AminMoradian I am sorry for a delay with processing your request.
Pull request merged. Thank you!

@AminMoradian I am sorry for a delay with processing your request.
Pull request merged. Thank you!


plutus-tx: print names qualified

This helps a lot with working out what errors are referring to.

This isn't controversial.


can no longer get changes from replication slot

What happened?
We have a patroni cluster with 3 nodes. They working fine. We have two logical replication slots on primary wich is used by CDC. For avoid problems with switchover's we perform a static logical slots in our configuration. And there is a problem.
ASYNC replication node (02) just restarted in cycle because of cant get changes from replication slot.

+ Cluster: main (************************) -----------------------------------------------------------------------+--------------+-----------+----+-----------+
| Member                         | Host                                                                      | Role         | State     | TL | Lag in MB |
+--------------------------------+---------------------------------------------------------------------------+--------------+-----------+----+-----------+
| p-tms-picking-patroni-01-db-01 | p-tms-picking-patroni-01-db-01.******************************:5435        | Sync Standby | streaming |  1 |         0 |
| p-tms-picking-patroni-01-db-02 | p-tms-picking-patroni-01-db-02.**************:5435                        | Replica      | streaming |  1 |         0 |
| p-tms-picking-patroni-01-db-03 | p-tms-picking-patroni-01-db-03.**************:5435                        | Leader       | running   |  1 |           |
+--------------------------------+---------------------------------------------------------------------------+--------------+-----------+----+-----------+

Cycle in postgres log file.
Interesting that p-tms-picking-patroni-01-db-01 didn't have this problems and when I make 02 as sync replica then problem still in place. Trying to re-init: no luck.
We have 4 similar clusters in total with different applications and databases where we have logical slots for CDC and 2 of them have this issue when two others is clear. Whats wrong?
How can we reproduce it (as minimally and precisely as possible)?
As this is not reproduced in every environment so I don't know...
In basic this is standart patroni cluster with 3 nodes, static slots and configuration below. There can be logical replicaion slots for CDC or maybe traditional logical replication to another PG cluster.
What did you expect to happen?
Working without restarts and confilcts with recovery.
Patroni/PostgreSQL/DCS version

Patroni version: 4.0.1
PostgreSQL version: 16.4
DCS (and its version): ETCD 3.5.7

Patroni configuration file
scope: main
namespace: /service/
name: p-tms-picking-patroni-01-db-03

log:
  level: DEBUG
  format: '%(asctime)s %(levelname)s: %(message)s'
  max_queue_size: 1000
  dir: /data/pg_data/logs/patroni
  file_num: 4
  file_size: 25000000
  loggers:
    patroni.postmaster: DEBUG
    urllib3: DEBUG

restapi:
  connect_address: p-tms-picking-patroni-01-db-03.***:8008
  listen: <IP_ADDRESS>:8008
  authentication:
    username: patroni
    password: ***

etcd3:
  hosts: ***:2379,***:2379,***:2379
  username: root
  password: ***

bootstrap:
  dcs:
    ttl: 30
    loop_wait: 10
    retry_timeout: 10
    maximum_lag_on_failover: 1048576
    master_start_timeout: 300
    synchronous_mode: true
    synchronous_mode_strict: false
    check_timeline: true
    postgresql:
      use_pg_rewind: false
      use_slots: true
      parameters:
        max_connections: 300
        max_locks_per_transaction: 64
        max_worker_processes: 8
        max_prepared_transactions: 0
        wal_level: logical
        wal_log_hints: on
        track_commit_timestamp: off
        max_wal_senders: 10
        max_replication_slots: 10
  initdb:
    - encoding: UTF8
    - data-checksums
    - waldir: /data/pg_wal/postgres
  users:
    postgres:
      password: ***
    replica:
      password: ***
      options:
        - replication

postgresql:
  use_unix_socket: true
  listen: <IP_ADDRESS>:5435
  connect_address: p-tms-picking-patroni-01-db-03.***:5435
  data_dir: /data/pg_data/postgres
  bin_dir: /usr/lib/postgresql/16/bin
  config_dir: /etc/postgresql/16/main
  pgpass: /var/lib/postgresql/.pgpass
  authentication:
    superuser:
      username: postgres
      password: ***
    replication:
      username: replica
      password: ***
  create_replica_methods:
    - basebackup
  basebackup:
    waldir: /data/pg_wal/postgres
  parameters:
    unix_socket_directories: /var/run/postgresql
    shared_preload_libraries: pg_stat_statements,auto_explain
    archive_mode: on
    archive_command: wal-g wal-push %p
  pg_hba:
    - local all all trust
    - host all all <IP_ADDRESS>/32 trust
    - host all all <IP_ADDRESS>/0 scram-sha-256
    - host replication replica <IP_ADDRESS>/32 scram-sha-256
    - host replication replica ***8/32 scram-sha-256
    - host replication replica ***7/32 scram-sha-256
    - host replication replica ***/32 scram-sha-256
  pg_ctl_timeout: 60

watchdog:
  mode: automatic
  device: /dev/watchdog
  safety_margin: 5

tags:
    nofailover: false
    noloadbalance: false
    clonefrom: false
    nosync: false

patronictl show-config
check_timeline: true
loop_wait: 10
master_start_timeout: 300
maximum_lag_on_failover: 1048576
postgresql:
  parameters:
    max_connections: 300
    max_locks_per_transaction: 64
    max_prepared_transactions: 0
    max_replication_slots: 10
    max_wal_senders: 10
    max_worker_processes: 8
    track_commit_timestamp: false
    wal_level: logical
    wal_log_hints: true
  use_pg_rewind: false
  use_slots: true
retry_timeout: 10
slots:
  picking_pdpkfk_slot:
    database: picking
    plugin: pgoutput
    type: logical
  picking_rtdwh_pdpkfk_slot:
    database: picking
    plugin: pgoutput
    type: logical
synchronous_mode: true
synchronous_mode_strict: false
ttl: 30

Patroni log files
Nothing special

PostgreSQL log files
2024-09-06 12:37:01.812 MSK [2770070] [0] []: user=,db=,app=,client= LOG:  starting PostgreSQL 16.4 (Ubuntu 16.4-1.pgdg24.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0, 64-bit
2024-09-06 12:37:01.812 MSK [2770070] [0] []: user=,db=,app=,client= LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5435
2024-09-06 12:37:01.832 MSK [2770070] [0] []: user=,db=,app=,client= LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5435"
2024-09-06 12:37:01.866 MSK [2770077] [0] []: user=,db=,app=,client= LOG:  database system was shut down in recovery at 2024-09-06 12:37:01 MSK
2024-09-06 12:37:01.866 MSK [2770077] [0] []: user=,db=,app=,client= LOG:  entering standby mode
2024-09-06 12:37:01.897 MSK [2770077] [0] [1/0]: user=,db=,app=,client= LOG:  redo starts at 149/A20FFE0
.......
2024-09-06 12:37:24.905 MSK [2770077] [0] [1/0]: user=,db=,app=,client= LOG:  invalidating obsolete replication slot "picking_rtdwh_pdpkfk_slot"
2024-09-06 12:37:24.905 MSK [2770077] [0] [1/0]: user=,db=,app=,client= DETAIL:  The slot conflicted with xid horizon 5642254.
2024-09-06 12:37:24.905 MSK [2770077] [0] [1/0]: user=,db=,app=,client= CONTEXT:  WAL redo at 149/2B52F198 for Heap2/PRUNE: snapshotConflictHorizon: 5642254, nredirected: 1, ndead: 0, nunused: 1, redirected: [3->4], dead: [], unused: [2]; blkref #0: rel 1663/255842/2619, blk 39
2024-09-06 12:37:24.949 MSK [2770293] [0] []: user=[unknown],db=[unknown],app=[unknown],client=[local] LOG:  connection received: host=[local]
2024-09-06 12:37:24.950 MSK [2770293] [0] [4/1]: user=postgres,db=picking,app=[unknown],client=[local] LOG:  connection authorized: user=postgres database=picking application_name=Patroni
2024-09-06 12:37:25.043 MSK [2770293] [0] [4/2]: user=postgres,db=picking,app=Patroni,client=[local] ERROR:  can no longer get changes from replication slot "picking_rtdwh_pdpkfk_slot"
2024-09-06 12:37:25.043 MSK [2770293] [0] [4/2]: user=postgres,db=picking,app=Patroni,client=[local] DETAIL:  This slot has been invalidated because it was conflicting with recovery.
2024-09-06 12:37:25.043 MSK [2770293] [0] [4/2]: user=postgres,db=picking,app=Patroni,client=[local] STATEMENT:  SELECT pg_catalog.pg_replication_slot_advance('picking_rtdwh_pdpkfk_slot', '149/2B378AE0')
2024-09-06 12:37:25.044 MSK [2770293] [0] [4/3]: user=postgres,db=picking,app=Patroni,client=[local] LOG:  starting logical decoding for slot "picking_pdpkfk_slot"
2024-09-06 12:37:25.044 MSK [2770293] [0] [4/3]: user=postgres,db=picking,app=Patroni,client=[local] DETAIL:  Streaming transactions committing after 149/2ADB2660, reading WAL from 149/2A7B5388.
2024-09-06 12:37:25.044 MSK [2770293] [0] [4/3]: user=postgres,db=picking,app=Patroni,client=[local] STATEMENT:  SELECT pg_catalog.pg_replication_slot_advance('picking_pdpkfk_slot', '149/2B3FC2D0')
2024-09-06 12:37:25.046 MSK [2770293] [0] [4/3]: user=postgres,db=picking,app=Patroni,client=[local] LOG:  logical decoding found consistent point at 149/2A7B5388
2024-09-06 12:37:25.046 MSK [2770293] [0] [4/3]: user=postgres,db=picking,app=Patroni,client=[local] DETAIL:  Logical decoding will begin using saved snapshot.
2024-09-06 12:37:25.046 MSK [2770293] [0] [4/3]: user=postgres,db=picking,app=Patroni,client=[local] STATEMENT:  SELECT pg_catalog.pg_replication_slot_advance('picking_pdpkfk_slot', '149/2B3FC2D0')
2024-09-06 12:37:25.145 MSK [2770293] [0] [4/0]: user=postgres,db=picking,app=Patroni,client=[local] LOG:  duration: 102.319 ms  statement: SELECT pg_catalog.pg_replication_slot_advance('picking_pdpkfk_slot', '149/2B3FC2D0')
....
2024-09-06 12:37:35.160 MSK [2770070] [0] []: user=,db=,app=,client= LOG:  received fast shutdown request
2024-09-06 12:37:35.163 MSK [2770070] [0] []: user=,db=,app=,client= LOG:  aborting any active transactions
2024-09-06 12:37:35.163 MSK [2770111] [0] [3/0]: user=postgres,db=postgres,app=Patroni restapi,client=[local] FATAL:  terminating connection due to administrator command
2024-09-06 12:37:35.163 MSK [2770110] [0] [2/0]: user=postgres,db=postgres,app=Patroni heartbeat,client=[local] FATAL:  terminating connection due to administrator command
2024-09-06 12:37:35.163 MSK [2770106] [0] []: user=,db=,app=,client= FATAL:  terminating walreceiver process due to administrator command
2024-09-06 12:37:35.163 MSK [2770110] [0] []: user=postgres,db=postgres,app=Patroni heartbeat,client=[local] LOG:  disconnection: session time: 0:00:31.375 user=postgres database=postgres host=[local]
2024-09-06 12:37:35.163 MSK [2770111] [0] []: user=postgres,db=postgres,app=Patroni restapi,client=[local] LOG:  disconnection: session time: 0:00:31.371 user=postgres database=postgres host=[local]
2024-09-06 12:37:35.177 MSK [2770075] [0] []: user=,db=,app=,client= LOG:  shutting down
2024-09-06 12:37:35.272 MSK [2770070] [0] []: user=,db=,app=,client= LOG:  database system is shut down
2024-09-06 12:37:35.827 MSK [2770401] [0] []: user=,db=,app=,client= LOG:  starting PostgreSQL 16.4 (Ubuntu 16.4-1.pgdg24.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0, 64-bit
2024-09-06 12:37:35.827 MSK [2770401] [0] []: user=,db=,app=,client= LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5435
2024-09-06 12:37:35.849 MSK [2770401] [0] []: user=,db=,app=,client= LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5435"
2024-09-06 12:37:35.879 MSK [2770406] [0] []: user=,db=,app=,client= LOG:  database system was shut down in recovery at 2024-09-06 12:37:35 MSK
2024-09-06 12:37:35.879 MSK [2770406] [0] []: user=,db=,app=,client= LOG:  entering standby mode
2024-09-06 12:37:35.911 MSK [2770406] [0] [1/0]: user=,db=,app=,client= LOG:  redo starts at 149/A20FFE0

Have you tried to use GitHub issue search?

[X] Yes

Anything else we need to know?
Looks like there is similar issue but this is physical slots and our issue is different
https://github.com/patroni/patroni/issues/3146

Whats wrong?

Logical replication slot is invalidated by postgres:
2024-09-06 12:37:24.905 MSK [2770077] [0] [1/0]: user=,db=,app=,client= LOG:  invalidating obsolete replication slot "picking_rtdwh_pdpkfk_slot"
2024-09-06 12:37:24.905 MSK [2770077] [0] [1/0]: user=,db=,app=,client= DETAIL:  The slot conflicted with xid horizon 5642254.
2024-09-06 12:37:24.905 MSK [2770077] [0] [1/0]: user=,db=,app=,client= CONTEXT:  WAL redo at 149/2B52F198 for Heap2/PRUNE: snapshotConflictHorizon: 5642254, nredirected: 1, ndead: 0, nunused: 1, redirected: [3->4], dead: [], unused: [2]; blkref #0: rel 1663/255842/2619, blk 39

After that it is not possible to use it anymore. The only thing Patroni can do - recreate replication slot by copying it from the primary. Increasing max_standby_streaming_delay may help.

Already tryed but no luck. Also hot_standby_feedback must prevent it

Aslo stange that another node works fine isn't it?

It's not a fault of Patroni. On other nodes you have a different workload.
You have to figure out what causing this conflict to happen.

Also found that when I turn on static slots via edit-config then slots created only for async replica bu there is no entries for sync replica. e.g. for sync replica slots din't created. Sorry for missundestanding. There is only entires from the log file
2024-09-06 21:07:03.445 MSK [1272036] [0] []: user=,db=,app=,client= LOG:  received SIGHUP, reloading configuration files
2024-09-06 21:07:03.446 MSK [1272036] [0] []: user=,db=,app=,client= LOG:  parameter "hot_standby_feedback" changed to "on"

The following bug fix in 3.3.2:
Handle logical slots invalidation on a standby (Polina Bungina)
Since PG16 logical replication slots on a standby can be invalidated due to horizon: from now on, Patroni forces copy (i.e., recreation) of invalidated slots.
It can be the same situation in 4.0.1?

Also found that when I turn on static slots via edit-config then slots created only for async replica bu there is no entries for sync replica.

On sync replica it might take a bit longer to copy them, but eventually it should happen.

The following bug fix in 3.3.2:

The bugfix is about catching exception raised by Postgres when we are trying to advance invalidated logical replication slot. If the slot is invalidated it can't be no longer used and the only we can do - reinitialize it by copying from the primary.

It can be the same situation in 4.0.1?

What you call a "situation" is an expected behavior.  You need to understand your workload and figure out the reason why invalidation happens.

Looks like fix from 4.0.2 works. I was upgrade patroni one hour ago and  enable static logical slots back. As result i did not see any issues as rebooting slave with xmin horizon error or bloating master node.
I will update the post tomorrow with deeper testing.

Also guess I found out why a few clusters rebooted in a cycle when I enable static logical slots. One of cluster slave have wal_status = lost for physical slots. Maybe can be a reason

Fix in 4.0.2 works fine. No any issues now. Thanks

Fix in 4.0.2 works fine. No any issues now. Thanks


OpenAPI: Include comments in description field of properties that point to a reference

Discussed in https://github.com/cue-lang/cue/discussions/1127

Originally posted by eadlam July 21, 2021
Consider this cue spec:
#Block: {
	// Name of the block
	name: string
	// min and max range for X
	xRange: #Range
	// min and max range for Y
	yRange: #Range
}

#Range: {
	// minimum value
	min: int
	// maximum value
	max: int
}

All of the properties have comments, and when we export OpenAPI specs most of these comments are added to the description field of the property. But, properties whose values are a $ref in OpenAPI (xRange, yRange) do not include the description:
{
    "openapi": "3.0.0",
    "info": {
        "title": "Generated by cue.",
        "version": "no version"
    },
    "paths": {},
    "components": {
        "schemas": {
            "Block": {
                "type": "object",
                "required": [
                    "name",
                    "xRange",
                    "yRange"
                ],
                "properties": {
                    "name": {
                        "description": "Name of the block",
                        "type": "string"
                    },
                    "xRange": {
                        "$ref": "#/components/schemas/Range"
                    },
                    "yRange": {
                        "$ref": "#/components/schemas/Range"
                    }
                }
            },
            "Range": {
                "type": "object",
                "required": [
                    "min",
                    "max"
                ],
                "properties": {
                    "min": {
                        "description": "minimum value",
                        "type": "integer"
                    },
                    "max": {
                        "description": "maximum value",
                        "type": "integer"
                    }
                }
            }
        }
    }
}

However, the OpenAPI 3.0 spec does not forbid a description as a sibling of a $ref, it only says that sibling properties will be ignored. See bottom of this page: https://swagger.io/docs/specification/using-ref/
I'm using these OpenAPI specs to generate code and documentation, and it would be very helpful to preserve comments in a description field sibling to the $ref. I don't think it would harm anything to have it there.
Thoughts?

I took the liberty of creating an issue on behalf of OP, since we ran into this same issue.


bug(d.ts): does not allow simple computed properties on declared classes

The error "A computed property name in an ambient context must directly refer to a built-in symbol." is produced by the following code in the aurelia-templating-binding.d.ts file.
declare module 'aurelia-templating-binding' {
  export class SyntaxInterpreter {
    ['one-time'](resources: any, element: any, info: any, existingInstruction: any): any;
  }
}

This code works fine in the TypeScript playground when used normally in a class, but not inside a declaration. This is a problem for us since it means we can't generate complete d.ts files for our api and also cannot generate the docs (which are based on the d.ts files).

I think you want to write this instead:
declare module 'aurelia-templating-binding' {
  export class SyntaxInterpreter {
    'one-time'(resources: any, element: any, info: any, existingInstruction: any): any;
  }
}

The bracketed syntax shouldn't be used for statically-named things

@RyanCavanaugh  Is that a TypeScript-specific syntax rule? because it is valid ES6. Can you emit the brackets with ES6 too? or is this a divergence between ES6 and TypeScript.

Actually method declaration with a string without square brackets is still valid es6, but not supporting square brackets in type definitions for any other primitives than symbols is a known limitation and has been discussed in #4653 (most recently, AFAIK).

Yeah I think we can close this as a dupe


Parts needed to monitor all this.

Is your feature request related to a problem? Please describe.
Maybe you can tell us which part you build
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I don't understand. Can you please review the content of your issue ? And detail your question or expectations.

En fait j'aimerais connaître les éléments que tu as utilisés pour
automatiser la pompe. Actuellement j'ai un coffret électrique dédié avec
mode auto et allumage avec horloge enfin quand elle fonctionne. Et une
lampe.
Tu es parti sur du sonoff si j'ai suivi.
Bien cordialement
Christophe
Le mar. 6 oct. 2020 à 20:52, Oncleben31<EMAIL_ADDRESS>a écrit :

I don't understand. Can you please review the content of your issue ? And
detail your question or expectations.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oncleben31/ha-pool_pump/issues/12#issuecomment-704483215,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO4YD26V7Z6I5S7EHQ3PVULSJNRQNANCNFSM4SGDTCCA
.

I use a Sonoff pow R2. But the power measurement is useless in my case because I have implement it in paralel of the horloge after discussing with electricity experts in the community. This decision avoid having too much peak power going thru the Sonoff when starting the pump.
Horloge and SonOff pilot the contactor driving the pump . By default the Horloge is switched off (but can be reactivated as backup plan) and the Sonoff is piloted by Home Assistant.
It's not mandatory but I have flashed the sonoff firmware with ESPhome


Add "positional categorical: functions with vararg (instead of list of categories)

Add an analogue for all existing functions that create positional scales with vararg of categories instead of list of categories.

PositionalMappingParameters<*>.categorical()
Scale.Companion.categoricalPos

https://github.com/Kotlin/kandy/blob/main/kandy-api/src/main/kotlin/org/jetbrains/kotlinx/kandy/dsl/scale.kt

Hello, is this issue still available?

@lucas-watkins hello! Yes.

May I submit a PR? All the tests are passing locally and I've added 2 new tests that deal with varargs specifically.

Yeah, sure!


Add bash script for running lots of emulators at once

Usage:
From repository root, build the emulator and run ./tools/fuzz-multi/fuzz-multi.sh --arrange tools/fuzz-multi/fuzz.csv
This will load fuzz.csv, and open one emulator for each line. The first column is the mode name, the second column is the buttons to fuzz with (e.g. up,down,left,right,a,b,select,start,x,y,1,2,3,4,5), and the third column is any extra arguments to pass to the emulator for that mode (e.g. --fuzz-button-delay 50 for buttons twice as fast as the default).
Logs will be placed by default in fuzz/logs and NVS will be in fuzz/nvs. Change the dir with --out DIRNAME, and use --clean-nvs and --clean-logs to delete them before running.
To pass extra arguments to every emulator instance, pass -- followed by any number of emulator arguments.
There's also arrangements for window size, tiling, and number of columns to arrange into: -w/-h, --tx/--ty, --cols

As a side note, I should probably clean up all the scripts and such @Brycey92 added to the root


Void methods in collections causing fatal error

Bug Report
I have a collection that extends Doctrine\Common\Collections\ArrayCollection which is persisted to database. This collection has methods that returns void, for example:
public function removeProduct(ProductId $productId): void
    {
        $index = $this->indexOf($productId);

        if ($index !== false) {
            $this->remove($index);
        }
    }

The generated persistent collection is trying to return value from void method:
/**
     * {@inheritDoc}
     */
    public function removeProduct(ProductId $productId): void
    {
        $this->initialize();
        if ($this->needsSchedulingForSynchronization()) {
            $this->changed();
        }
        return $this->coll->removeProduct($productId);
    }

I updated symfony recently, and during that process doctrine/common was also updated. I think that with doctrine/common in version 2.12 it was working, but I'm not 100% sure if I had outdated cache. I can verify that if needed.

Package
Version

doctrine/mongodb-odm-bundle
4.2.2

doctrine/common
3.0.2

How to reproduce

Create collection that is persisted to database
Add void method
Try to store collection

Expected behavior
Void methods are supported by proxy classes

@Lewiatan thank you for the bug report! The collection code is generated in ODM itself, if you'd want to take a stab at fixing the bug it's here: https://github.com/doctrine/mongodb-odm/blob/3bdfe97be472160ebbc924d5882ce61bd640a515/lib/Doctrine/ODM/MongoDB/PersistentCollection/DefaultPersistentCollectionGenerator.php#L204. The generated code template needs to have the return part removed if void is declared as a return type. You'd also need to add a test case, here's a good candidate to add it to: https://github.com/doctrine/mongodb-odm/blob/3bdfe97be472160ebbc924d5882ce61bd640a515/tests/Doctrine/ODM/MongoDB/Tests/Functional/CustomCollectionsTest.php.

Sure, I'll give it a try ;)


Question about wording

Hello,
I have a quick question for the writer of this article: In the sentence "Service Bus offers a reliable and secure platform for asynchronous data and state transfer", does "asynchronous" apply to the transfer, or to the data and state?
In other words, could we reformulate it as "asynchronous transfer of data and state"? Thank you!

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

ID: 0c3af764-3978-6abe-f756-2c2c4ef47e31
Version Independent ID: c4dca68a-1c95-42af-9eb3-e1dc9a66a692
Content: Azure Service Bus messaging overview
Content Source: articles/service-bus-messaging/service-bus-messaging-overview.md
Service: service-bus-messaging
GitHub Login: @axisc
Microsoft Alias: aschhab

Assigning to content author @axisc for visibility, review, validation and document enhancement consideration.

@FrancoisNevo - the asynchronous relates to "transfer".
I like the idea of wording it that way :), thanks for the feedback.
@spelluru - could you execute the change to "asynchronous transfer of data and state".

@axisc - sure. will update it today. Thanks.

#reassign:spelluru

Thanks a lot everyone! Have a nice day.


As a user, I can save a person's contact, so I can contact them easily for tutoring.

Closing as it already exists in AB3


jamoviStats.jamovi version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Looks like there are weird BIN files in this PR:

Sorry, this is what happens when I try to get fancy with vim. I squashed my commits and re-submitted


Loss on Cifar10 with ResNet18 goes to NaN

Hi,
I'm trying to apply your method on Cifar-10 with ResNet18 (Without BatchNorm), and I used the parameters listed for Imagenet. But the training loss always goes to NaN after a few iterations. I tried to change the parameters a bit, but the problem seems unsolved... So I'm wondering could you please share the parameters you used for this setting?
Thanks in advance!

@Heimine
Sorry for the late reply,I noticed this massage just now. In my Cifar-10 experiments, I use the ResNet20 (see the ResNet paper for the Cifar-10 experiments), which has significantly small parameters than the ResNet18 (for ImageNet-18).  To relieve your NaN problems, I sugguests that you should use the smaller scale (Which is set to sqrt(2) for network without residual connects by defaut) for the ResNet without BN,  for example (1) 0.8 or 0.6 (empiricially); (2)  a more practical method is to forward a mini-batch data to estimate the scale such that the layer-activation (for each layer) has a unit-variance, for the ResNet without BN.


Resumable Uploads

This doc says the Resumable Upload option is a good idea if :

You are transferring large files.
The likelihood of a network interruption or some other transmission failure is high (for example, if you are uploading a file from a mobile app).

Try to use this option, if compatible with current api usage.

Related to #129 Upload in chunks


Use threaded reduction in each worker

Codecov Report

Merging #133 into master will decrease coverage by 0.18%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #133      +/-   ##
==========================================
- Coverage   88.65%   88.46%   -0.19%
==========================================
  Files          19       19
  Lines        1181     1188       +7
==========================================
+ Hits         1047     1051       +4
- Misses        134      137       +3

Impacted Files
Coverage Δ

src/dreduce.jl
100% <ø> (ø)
:arrow_up:

src/reduce.jl
93.84% <100%> (-6.16%)
:arrow_down:

src/progress.jl
89.01% <100%> (+1.51%)
:arrow_up:

Continue to review full report at Codecov.

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


unsupported Unsigned Long into firebasejson

I want to add unsigned long variable to json. but, I can't. because, if I convert it to String, I can't process it
I found error like this
undefined reference to bool Firebase Json::set<unsigned long>(String const&, unsigned long)
I hope can be solved 👍

Unsigned long is not supported by the FirebaseJson library.
The library supported int, float and double data types for the number.

Note that while it is true that Firebase advertises support for int only, Firebase's ints are actually 64bit which means that their API supports both long as well as long long integers.
I've tested this by successfully pushing some 32bit long unsigned ints (for instance the return value from millis()) by adding the following method to FirebaseJson:
void FirebaseJson::set(const String &path, unsigned long int value)
{
    char BUF[36];
    sprintf(BUF, "%lu", value);
    _set(path.c_str(), BUF);
    std::string().swap(_jsonData._dbuf);
}

This is library for embedded device and will not support many types of data due to cpu/mcu architectures and platform dependent.


Feedback on detect flag

Hey guys, here is a quick and dirty for using scene detect for better scene detection instead of static GOP. The first part is working (Detecting scenes and populating the scenes.ini) but it's a hack and I commented out some things for testing. Definitely
needs a lot more work but a rough starting point for discussion.
run.py.zip

In my other fork (https://github.com/efonte/ESRGAN) I had the detection of the scenes with pyscenedetect and as it was a bit slow I had not added it in this script.
I just made a commit adding the optional parameter --detect-scenes.
You can see until the changes are merged the updated script here: https://github.com/efonte/iNNfer

ok interesting, I made some similar additions to my fork. I found setting the downscale factor to 12 doubled the speed. I also added audio extraction as I could see it being done

this can also be done with ffprobe but it's less straightforward and not significantly faster than scenedetect

The dev branch has now been updated with the latest changes, including the automatic image splitter, when upscaling images that don't fit in VRAM. @ajeema we did some tests yesterday and it seems to work fine, but let us know if you test and something doesn't look right.
Regarding the detection, I see there are many options, it would be a matter of comparing them, specially on speed and accuracy, but we can do that over time :D

Thank you @victorca25 I'll take a look.

--detect-scenes seems to be ignored when I try it and defaults to the 250 GOP. What am I doing wrong?


[Feature]: add allowedIncludes() in PaginationHandler stub

What happened?
missing allowedIncludes
could you add allowedIncludes to the PaginationHandler.stub  like so:
$query = QueryBuilder::for($model)
        ->allowedFields($model::$allowedFields ?? [])
        ->allowedSorts($model::$allowedSorts ?? [])
        ->allowedFilters($model::$allowedFilters ?? [])
        ->allowedIncludes($model::$allowedIncludes ?? null)
        ->paginate(request()->query('per_page'))
        ->appends(request()->query());

then it's at least added to the stub as reference..
How to reproduce the bug
.
Package Version
latest
PHP Version
8.3
Laravel Version
10
Which operating systems does with happen with?
No response
Notes
No response

+1

Released on version 3.1.0


UI updates for USDT/USDC TO DAI

Allow swapping USDC/USDT into Trading Account https://github.com/AugurProject/augur/issues/8155

UI updates for the above (lots of cleanup)
TODO: Middleware wire up to be done after #8293

I don't have any USDC/USDT so can't really test convert. nothing blew up and the code looks good. We are still waiting for middleware stuff. currently a PR failed in CI.


(gh-704) Add an option to do_scp_to to allow the use of rsync

Without this patch copying a large number of files can take a long time. This patch allows the use of rsync, by adding a :copy_method argument to puppet_module_install_on or scp_to command, which speeds up file transfers. Syncing files instead of blind copying them itself does not provide a performance increase, but rather the lack of encryption significantly increases speed. Puppet_module_install_on is still slow (although faster than scp) with this patch, because the :ignore method is used with causes each file to be individually synced.

Can one of the admins verify this patch?

The only feature i see is missing for the rsync part is to ignore files?

As per the host.rb file line 365 rsync will ignore files in the same way scp does. This is not the most efficient way to do it, it should be using the "--exclude" argument instead of syncing individual files, but it will work.

Ah okay, sorry. missed that part. ( not enough tea )

I created my own PR for pretty much the same thing, without realising that this one was one already there! Oops! My one does have support for rsync's native --exclude, so it's nice and fast in that situation.
Perhaps we could find a best of both worlds solution, if mine is missing something?
https://github.com/puppetlabs/beaker/pull/711

@jonnytpuppet I like yours better, you've better extracted the rsync function from the scp function. Closing this pull request.


Additional property on context: User first release participation flag

Can we have an indication if the user is receiving the First Release experience for Office 365. I would like to be able to have a web part which can do different things according to the viewing user enrolment in FR.

Closing non-issue entries.  If you still need this, can you open a request in user-voice ( https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/ ) ?


ENH: arrowmap

Create arrowmap

@agramfort please let me know, if you need anything more from my side

@SherazKhan I'll review when CIs are happy :)

Adding a new example probably is overkill for this, hm? Why not show it off in a few existing ones?

Adding a new example probably is overkill for this, hm? Why not show it off in a few existing ones?

I will expand this example in future, to show usefulness of these arrowmaps for sources like magnetic dipoles.

@agramfort @jona-sassenhagen I am wondering why travis-ci and appveyor are failing ?

Gotta dig into the logs. Clicking the status link will show you all builds fail:
https://travis-ci.org/mne-tools/mne-python/builds/434179948?utm_source=github_status&utm_medium=notification
Clicking on the first failing build (in this case, the minimal build) and scrolling down you'll find the error:
https://travis-ci.org/mne-tools/mne-python/jobs/434179949#L2853
Locally you can reproduce this error with pytest mne/test/test_docstring_parameters.py.
The minimal build does not use testing data, so let's look at the second build (a "full" build) which shows an un-caught warning:
https://travis-ci.org/mne-tools/mne-python/jobs/434179950#L3004
You'll want to use a context manager like this in your code in the right place to catch this warning:
with warnings.catch_warnings(record=True):  # bad axes in mpl
    <whatever line causes a problem>

Before the fix, locally you should see the same error when doing pytest mne/viz/tests/test_topomap.py and it should go away with the suggested fix.

@larsoner any pointers, why travis is not happy ?

Check the log, you'll see a bunch of PEP8 and docstyle problems.
I recommend using a PEP8-enabled editor / using a PEP8 plugin with your editor of choice. Makes life a lot easier. You can do make pep locally to run all these pedantic tests so you don't have to wait for Travis to do it.
Also there are some spelling errors. For TE you can add it to our igonre_words.txt (I think it should use the lowercase form but you can check locally to see if it works with make codespell-error).

Check the log, you'll see a bunch of PEP8 and docstyle problems.
I recommend using a PEP8-enabled editor / using a PEP8 plugin with your editor of choice. Makes life a lot easier. You can do make pep locally to run all these pedantic tests so you don't have to wait for Travis to do it.
Also there are some spelling errors. For TE you can add it to our igonre_words.txt (I think it should use the lowercase form but you can check locally to see if it works with make codespell-error).

triinterpolate.py module of the matplotlib has a bug for python 3, due to the depreciation warning in the  np.expand_dims, I edited the code and incorporated the triinterpolate.py in mne-python viz module.
triinterpolate.py is poorly codded in matplotlib with multiple pep8 warnings, suggestions ?

Instead of fixing it that way (copy, modify, vendor) you can instead use the one from matplotlib directly. If the only issue is an emitted warning, wrap the call on the MNE side with with warnings.catch_warnings(record=True): context manager.
If there are other bugs with mpl, we should both fix them and put the fixed version in fixes.py, it's where we port in such changes until our minimum version requirement catches up with wherever the fixed code lives.

@SherazKhan did you see my comments on the diff ?

@SherazKhan I'll review when CIs are happy :)

CI and Travis are happy :)

@SherazKhan I pushed a cosmit to this branch.
Before merge please update what's new page. https://github.com/mne-tools/mne-python/blob/master/doc/whats_new.rst
thanks

@SherazKhan I pushed a cosmit to this branch.
Before merge please update what's new page. https://github.com/mne-tools/mne-python/blob/master/doc/whats_new.rst
thanks

just push the changes in the whats_new.rst

@larsoner @jona-sassenhagen @wmvanvliet Please let me know, if you need any further changes.

 See:
https://github.com/agramfort/mne-python/commit/4b65c6b79ca76329d199507b2d1ecd1301baa3b9

@SherazKhan you must have pushed with -f as I had pushed a commit on your branch to help you. See:
agramfort@4b65c6b

Sorry I am wondering, how can I merge your changes with my changes ?

merge the changes

Try:
git remote add agramfort git@github.com:/agramfort/mne-python.git
git fetch agramfort
git cherry-pick 4b65c6b

Try:
git remote add agramfort git@github.com:/agramfort/mne-python.git
git fetch agramfort
git cherry-pick 4b65c6b

Thanks @larsoner , merged the changes

Did you push? I don't see his commit in your commit list

Did you push? I don't see his commit in your commit list

now pushed

thanks, @SherazKhan !

thanks, @SherazKhan !

Thanks @wmvanvliet

this got merged with broken CIs? https://travis-ci.org/mne-tools/mne-python/builds/444753484
our current master is red :(

this got merged with broken CIs? https://travis-ci.org/mne-tools/mne-python/builds/444753484
our current master is red :(

Sorry @agramfort will look over the weekend


ci: cache deps

Proposed Changes
closes #1020

Merged as https://github.com/ockam-network/ockam/pull/1720


Gerber and Production file mismatch

To start, Thank you for your amazing work on the HAGIWO designs!
I was planning on doing some modification of the PCB, but when looking at the design files for this repo, it seems like you've uploaded the production files for the Eurorack Quantizer as it uses a Seeeduino Xiao in the PCB
Thanks in advance

ok sorry, I uploaded multiple projects these last few days and must have gotten confused. now it should be fine

i will close this for now, if I made another mistake just tell me


Clarify preprocess error

Fix #159

This change is

Reviewed 1 of 2 files at r1, 2 of 3 files at r2, 1 of 1 files at r3.
Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks broke.

main.go, line 9 at r2 (raw file):

	"os"

	"github.com/Konstantin8105/c2go/analyze"

If you have to change this it is because you have checked out the repository in the wrong path.
Even though the git clone is coming from your repository the package name is still the same so it should be checked out to $GOPATH/src/github.com/elliotchance/c2go

analyze/analyze.go, line 1 at r3 (raw file):

package analyze

Why did you need to create this package, it contains all sorts of code that has nothing to do with analysing.

analyze/analyze_test.go, line 12 at r3 (raw file):

)

func TestStartPreprocess(t *testing.T) {

This should be an integration test in the c2go package.

Comments from Reviewable

About wrong rep link - you are right. Each pull request - i will check.
Yes, I separate the main file to packge analyze. The reason - is we have stand alone package then we can use 'go test' , coverage analyze the code. The maintodory is to have a good coverage.
Also, I will add little logic for analyze the clang err output, in my point of view - fail of tranlising just because you haven't some function or lib - it is not good.
Also, I prepare to create multifile tranliting.
Now my test on GSL C lib is failed just because i haven't the some config file  - it is not good.
Please clarify the size of pull request
Feel free to reject.

If you want, then I can rep link in import and pull request to this project

Is possible to give me the contribution permission in that project for avoid pull request.
Or in you point of view, pull request way of develop is better.
Please clarify.
Excuse , but I have many questions, because Contribution part of file README is not clear like Contribution document of Golang Go.

Now, I understood - I froke the build test in according to Travis service.
I will try in future - avoid that and prepare only free-bug commits.

Review status: 1 of 5 files reviewed at latest revision, 3 unresolved discussions.

main.go, line 9 at r2 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
If you have to change this it is because you have checked out the repository in the wrong path.
Even though the git clone is coming from your repository the package name is still the same so it should be checked out to $GOPATH/src/github.com/elliotchance/c2go

Done

analyze/analyze.go, line 1 at r3 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Why did you need to create this package, it contains all sorts of code that has nothing to do with analysing.

I will add analyze of error clang and help to user about clarification of action:

add some library
...

analyze/analyze_test.go, line 12 at r3 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
This should be an integration test in the c2go package.

Done

Comments from Reviewable

I remove analyze folder and relocate the test

Review status: 0 of 3 files reviewed at latest revision, 3 unresolved discussions.

analyze/analyze.go, line 1 at r3 (raw file):
Previously, Konstantin8105 (Konstantin) wrote…
I will add analyze of error clang and help to user about clarification of action:

add some library
...

Removed

analyze/analyze_test.go, line 12 at r3 (raw file):
Previously, Konstantin8105 (Konstantin) wrote…
Done

Done

Comments from Reviewable

Reviewed 1 of 4 files at r4, 2 of 4 files at r5, 3 of 3 files at r6.
Review status: all files reviewed at latest revision, 15 unresolved discussions.

.gitignore, line 18 at r6 (raw file):

*.go~
*.go.swp
*.un~

Rathe then listing many different temporary file types that vim will produce there is a more general way to do it: https://stackoverflow.com/a/4824199/1470961

LICENSE, line 3 at r6 (raw file):

MIT License

Copyright (c) 2017 Elliot Chance, Izyumov Konstantin

Please remove your name. The copyright notice does not extend to general contributors.
You will appear as one of the contributors (one the PR is merged) here: https://github.com/elliotchance/c2go/graphs/contributors

main.go, line 220 at r6 (raw file):

// NewTempFile - returns temp file
func NewTempFile(dir, prefix, suffix string) (*os.File, error) {

Does this need to be part of the public API? I'd rather it be newTempFile.

main.go, line 227 at r6 (raw file):

		}
	}
	return nil, fmt.Errorf("could not create file of the form %s%03d%s", prefix, 1, suffix)

could not create file: %s%03d%s

main.go, line 272 at r6 (raw file):

		err := astCommand.Parse(os.Args[2:])
		if err != nil {
			fmt.Printf("Ast command cannot parse: %v", err)

"ast"

main.go, line 285 at r6 (raw file):

		args.inputFile = astCommand.Arg(0)

		if err = Start(args); err != nil {

This code is duplicated for each case. Please move it after the switch.

main.go, line 292 at r6 (raw file):

		err := transpileCommand.Parse(os.Args[2:])
		if err != nil {
			fmt.Printf("Transpile command cannot parse: %v", err)

"transpile"

main.go, line 306 at r6 (raw file):

		args.packageName = *packageFlag

		if err = Start(args); err != nil {

Remove this so that there is only one error handler after the switch (see the previous comment).

main_test.go, line 168 at r6 (raw file):

	}
	defer func() {
		_ = os.Remove(tempFile.Name())

Can this be written more simply as?
defer os.Remove(tempFile.Name())

main_test.go, line 192 at r6 (raw file):

	existEnv := os.Getenv(gopath)
	if existEnv == "" {
		t.Errorf("Please create value $GOPATH of the environment variable")

"$GOPATH is not set"

main_test.go, line 198 at r6 (raw file):

	err := os.Setenv(gopath, "")
	if err != nil {
		t.Errorf("Cannot set value of the environment variable")

"Cannot set the value of $GOPATH"

main_test.go, line 202 at r6 (raw file):

	// return env.var.
	defer func() {

The defer should be before it tries to set the value. In case it doesn't set the value correct it will reset it back to the same value it was before anyway.

main_test.go, line 205 at r6 (raw file):

		err = os.Setenv(gopath, existEnv)
		if err != nil {
			t.Errorf("Please create value $GOPATH of the environment variable")

"Cannot restore the value of $GOPATH"

main_test.go, line 210 at r6 (raw file):

	// testing
	err = Start(*(new(ProgramArgs)))

You can allocate and initialise a pointer of a struct by placing a & before the definition.
err = Start(&ProgramArgs{})

main_test.go, line 212 at r6 (raw file):

	err = Start(*(new(ProgramArgs)))
	if err == nil {
		t.Errorf("We have to check $GOPATH")

You should return the actual error message here:
t.Error(err.Error())

Comments from Reviewable

Review status: all files reviewed at latest revision, 15 unresolved discussions.

.gitignore, line 18 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Rathe then listing many different temporary file types that vim will produce there is a more general way to do it: https://stackoverflow.com/a/4824199/1470961

Done

LICENSE, line 3 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Please remove your name. The copyright notice does not extend to general contributors.
You will appear as one of the contributors (one the PR is merged) here: https://github.com/elliotchance/c2go/graphs/contributors

Done

main.go, line 227 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
could not create file: %s%03d%s

Done

main.go, line 272 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
"ast"

Done

main.go, line 285 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
This code is duplicated for each case. Please move it after the switch.

Done

main.go, line 292 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
"transpile"

Done

main.go, line 306 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Remove this so that there is only one error handler after the switch (see the previous comment).

Done

main_test.go, line 168 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Can this be written more simply as?
defer os.Remove(tempFile.Name())

Done

main_test.go, line 192 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
"$GOPATH is not set"

Done

main_test.go, line 198 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
"Cannot set the value of $GOPATH"

Done

main_test.go, line 202 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
The defer should be before it tries to set the value. In case it doesn't set the value correct it will reset it back to the same value it was before anyway.

Agree.

main_test.go, line 205 at r6 (raw file):

"Cannot restore the value of $GOPATH"
Done

main_test.go, line 210 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
You can allocate and initialise a pointer of a struct by placing a & before the definition.
err = Start(&ProgramArgs{})

Done

main_test.go, line 212 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
You should return the actual error message here:
t.Error(err.Error())

Done

Comments from Reviewable

Review status: all files reviewed at latest revision, 15 unresolved discussions.

main.go, line 220 at r6 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Does this need to be part of the public API? I'd rather it be newTempFile.

Done

Comments from Reviewable

Reviewed 4 of 4 files at r7.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Thank you @Konstantin8105 for making those changes - https://github.com/elliotchance/c2go/releases/tag/v0.13.4


Consider making a 404 page

Right now there's a mixed strategy for sending users to 404 pages - I need to either make a dedicated 404 page, or find everywhere where I am making a 404 request and think about a more user-friendly place to send them - currently the index page is not acceptable because it throws an error if I 404 direct to it, since it requires data

The offender - in getDetails of event.js
if (!event) {
      // TODO - make 404 page
      res.locals.status = 404;
      res.locals.alert.errorMessages.push('Event not found.');
      return res.status(res.locals.status).render('index', { title: 'Event not found' });
    }

I think we don't need a 404 page for specific members or events - it makes more sense to direct them to the member or event listing page. For urls that totally don't exist, we can just use the error page being created in #68