[V2] All Calendars only works in internal pages but not in the root index.html

I am trying to use the calendar picker in v.2 and in the index.html is not working and the console says:
TypeError: undefined is not an object (evaluating 'app.calendar')
in the app.js
var app = new Framework7({
root: '#app',
theme: 'md',
on: {
pageInit: function(e, page) {
console.log('pageInit', page);
var self = this;
var today = new Date();
var app = self.$app;
var $ = self.$;
    self.calendarRange = app.calendar.create({
      inputEl: '#demo-calendar-range',
      dateFormat: 'M dd yyyy',
      rangePicker: true
    });
  },

....
}
and only onPageInit working at home but all the following methods below are not working if they are in the index.html initial page inside app.js
THESE DON'T WORK FOR THE INDEX.HTML
pageMounted: function(e, page) {
console.log('pageMounted', page);
},
pageBeforeIn: function(e, page) {
console.log('pageBeforeIn', page);
},
pageAfterIn: function(e, page) {
console.log('pageAfterIn', page);
},
pageBeforeOut: function(e, page) {
console.log('pageBeforeOut', page);
},
pageAfterOut: function(e, page) {
console.log('pageAfterOut', page);
},
thanks

I would imagine this is because index.html by nature is present in DOM when F7 initialises

Don't mess APP events and component page events. Inside of APP this refers to app not to somewhere else:
var app = new Framework7({
  root: '#app',
  theme: 'md',
  on: {
      pageInit: function(e, page) {
        console.log('pageInit', page);
        var app = this;
        var today = new Date();
        var $ = app.$;

        var calendarRange = app.calendar.create({
          inputEl: '#demo-calendar-range',
          dateFormat: 'M dd yyyy',
          rangePicker: true
        });
      },
   ....
}

THESE DON'T WORK FOR THE INDEX.HTML ...

Yes, it is because your index page is already in the DOM


Scroll wheel hits preventDefault if canScrollY is false

If the ScrollArea is big enough to contain contents vertically without scrolling, then the scroll wheel stops working.
It seems handleWheel invokes composeNewState which returns a newState without topPosition defined.
Since this.state.topPosition === 0, then
if(this.state.topPosition !== newState.topPosition || this.state.leftPosition !== newState.leftPosition){
e.preventDefault();
}
invokes preventDefault.
Either the newState should have topPosition defined, or its definition should be checked, like:
if (  (r.topPosition && this.state.topPosition!==r.topPosition)||(r.leftPosition && this.state.leftPosition!==r.leftPosition)) {
e.preventDefault();
}

This can be reproduced in the demo: http://souhe.github.io/reactScrollbar/ by setting the scrollarea div to height 600px, resizing the window to have a vertical scrollbar, and then try to scroll.

Having the same problem

You're right. Thanks for noticed that issue.

@rohanorton I saw you've made fix for that issue. Would you like to create PR with that fix or should I fix it?

Of course. I just implemented what @LasseNisted suggested though. Works a charm

Thank you both :)


Error when selection scorespy

I get this error after I select scorespy, I have java installed and an currentsong.txt is there so I'm not sure what the issue could be.

I also had this error when I was using JDK 8, when I updated to JDK 21 it worked.

Oh thank you! Updating to JDK 21 worked for me as well!

Oh thank you! Updating to JDK 21 worked for me as well!


Fix UICollectionView and Autolayout issue, #217

Current coverage is 69.45%

Merging #218 into master will increase coverage by +1.93% as of de10eb3

@@            master    #218   diff @@
======================================
  Files           38      48    +10
  Stmts         1860    1565   -295
  Branches         0       0
  Methods
======================================
- Hit           1256    1087   -169
  Partial          0       0
+ Missed         604     478   -126

Review entire Coverage Diff as of de10eb3

Powered by Codecov. Updated on successful CI builds.


background-attachment fixed on chrome android

Definitely does not work.
Can you check?

It works on my device I tested. Are you using a Kit-Kat device or a Lollipop+ Device. My Lenovo Tab (Android 6.0.1) does not have any problem.

Maybe chrome decides on the basis of hardware whether it should support
this.
It should be noted
Am Mi., 27. Juni 2018 um 23:24 Uhr schrieb Tobias Buschor <
<EMAIL_ADDRESS>
I used a "chrome canary" installed over the official playstore.
But surprisingly, the user-agent string says "Redmi Note 5A Build"
Mozilla/5.0 (Linux; Android 7.1.2; Redmi Note 5A Build/N2G47H)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3441.0 Mobile
Safari/537.36
Am Mi., 27. Juni 2018 um 23:16 Uhr schrieb HM The Silver Christine <
<EMAIL_ADDRESS>
It works on my device I tested. Are you using a Kit-Kat device or a
Lollipop+ Device. My Lenovo Tab (Android 6.0.1) does not have any problem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Fyrd/caniuse/issues/4339#issuecomment-400831632, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAA_xhFYbTKCBUkBWgrX8acPBMEQHS4Wks5uA_YXgaJpZM4U6Y78
.

--
Freundliche Grüsse
Tobias Buschor
schwups GmbH
Hauptstr. 33
9424 Rheineck/SG
+41 76 321 23 21

--
Freundliche Grüsse
Tobias Buschor
schwups GmbH
Hauptstr. 33
9424 Rheineck/SG
+41 76 321 23 21


Migrate kafkasource to sources.knative.dev

/test pull-knative-eventing-contrib-integration-tests

/lgtm
apiVersion: sources.knative.dev/v1alpha1
kind: KafkaSource
metadata:
  name: kafka-source
spec:
  consumerGroup: everythingisawesome
  bootstrapServers: my-cluster-kafka-bootstrap.kafka:9092
  topics: my-topic
  sink:
    apiVersion: serving.knative.dev/v1
    kind: Service
    name: event-display

tested w/ the above YAML
/assign @lionelvillard  for final approval

/approve


little problems

guest players can use /p to change him self or other player to admin group, need to remove this permission in permissions.config, but without this they can't see the commands what they have permissions, and in this new version #470 we have problems with /tp, when use this, u get tp to right place but under the map.
sry about my bad english, this is not my 1 language

This has been already fixed

oh, but still happening in my server, maybe can be a bad config? can u help me? I still teleporting under the map and players can use /p to change group


[TS SDK] How to deploy multiple move modules at once?

This is an multiple move package example:

For now, I need to read the mv files one by one by myself.
	const contractPath = path + '/contracts/counter';
	const builder = new MoveBuilder(contractPath, {
		addtionalNamedAddresses: [
			['counter', AccAddress.toHex(wallet.key.accAddress)],
		],
	});

	try {
		await builder.build();
	} catch (error) {
		console.error('Build error:', error);
		process.exit(1);
	}

	// const codeBytes = fs.readFileSync(
	// 	`${contractPath}/build/bytecode_modules/read_write.mv`
	// );
	// // const codeBytes = await builder.get('counter'); // or you can get with MoveBuilder

	const msgs = [
		new MsgPublish(rawKey.accAddress, [CounterBytes.toString('base64'), ReadWriteBytes.toString('base64')], 1),
	];

	// sign tx
	const signedTx = await wallet.createAndSignTx({ msgs });

Is it possible to provide getAllCodeBytes method to builder.js?

And when I use ts sdk to publish move contract to localnet/testnet.
I'll get 500 error code.
http://<IP_ADDRESS>:1317: AxiosError: Request failed with status code 500
https://lcd.testnet.initia.xyz: AxiosError: Request failed with status code 500

The error response message:
Error: invalid address with gas used: '60000'
And this is my MsgPublish payload
{
  sender: 'init1rr8dwsgw7wtmx33n3v8uqmm6msfcm06glyvufp',
  code_bytes: [
    'oRzrCwcAAAoLAQAEAgQEAwgYBSAPBy89CGxABqwBIhDOAUAKjgIFDJMCTQ3gAgIAAAEFAAEIAAACAAEAAQADAgAAAQAEAgAAAQEGAgQAAQABAwEGDAEIAAEFAQcIAAdjb3VudGVyB0NvdW50ZXIFdmFsdWULaW5pdF9tb2R1bGUIaW5jcmVhc2UGc2lnbmVyCmFkZHJlc3Nfb2YAAAAAAAAAAAAAAAAY77+977+9QQ7vv71GM++/vQ/vvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBSAAAAAAAAAAAAAAAAAY77+977+9QQ7vv71GM++/vQ/vvxRjb21waWxhdGlvbl9tZXRhZGF0YQkAAzIuMAMyLjATaW5pdGlhOjptZXRhZGF0YV92MAwAAAEFdmFsdWUBAQAAAgECAwABAAEAAAUHACsAEAAUAgEAAAADBwYAAAAAAAAAABIADAELAAsBLQACAgEEAQAFDQsAEQMqAAwBCgEQABQGAQAAAAAAAAAWCwEPABUCAAAA'
  ],
  upgrade_policy: 1
}

And this is the transaction error response:
    data: {
      code: 2,
      message: "failed to execute message; message index: 0: VM error: status MODULE_ADDRESS_DOES_NOT_MATCH_SENDER of type Verification with message Compiled modules address 0x00000000000000000000000018efbfbdefbfbd410eefbfbd4633efbfbd0fefbf does not match the sender 0x00000000000000000000000018ced7410ef397b346338b0fc06f7adc138dbf48 [cosmos/cosmos-sdk@v0.50.10/baseapp/baseapp.go:1023] with gas used: '113717'",
      details: []
    }
  },
  status: 500

Why does the address of the module I compile and the address I call appear different, is there any way to debug the problem? @JSHan94

Looks like it's builder.js problem? When I decode the compiled bytes code, I find that the addresses of the modules are not the namedAddresses I specified.

What options did you use to build with MoveBuilder? Could you also share the Move.toml file if possible?

could you share the rawkey.accAddress? I think this issue occurs because the signer address and the module address set in additionalNamedAddress option are not the same.

@djm07073

You can observe that after the build, the parsed modules address in the codeBytes is already wrong.
	const builder = new MoveBuilder(contractPath, {
		addtionalNamedAddresses: [[dubheConfig.name, client.getHexAddress()]],
	});
	console.log('addtionalNamedAddresses: ', [
		[dubheConfig.name, client.getHexAddress()],
	]);

	try {
		await builder.build();
	} catch (error: any) {
		console.error(chalk.red('Error executing initia move build:'));
		console.error(error);
		process.exit(1); // You might want to exit with a non-zero status code to indicate an error
	}
	let packageId = '';
	let version = 0;

	// try {
	// const codeBytes = await builder.get(dubheConfig.name);

	const codeBytes = fs.readFileSync(
		`${path}/contracts/${dubheConfig.name}/build/${dubheConfig.name}/bytecode_modules/${dubheConfig.name}.mv`
	);
	const readWriteBytes = fs.readFileSync(
		`${path}/contracts/${dubheConfig.name}/build/${dubheConfig.name}/bytecode_modules/read_write.mv`
	);
	const decodedModule = await MoveBuilder.decode_module_bytes(codeBytes);
	console.log('decodedModule: ', decodedModule);

	const decodedReadWrite = await MoveBuilder.decode_module_bytes(
		readWriteBytes
	);
	console.log('decodedReadWrite: ', decodedReadWrite);
	const msgs = [
		new MsgPublish(client.getAddress(), [codeBytes.toString('base64')], 1),
	];
	console.log('MsgPublish Payload: ', msgs);

	// sign tx
	// send(broadcast) tx
	const wallet = new Wallet(client.client(), client.getSigner());
	console.log('wallet.key.accAddress', wallet.key.accAddress);
	console.log(
		'wallet account to hex',
		AccAddress.toHex(wallet.key.accAddress)
	);

	// sign tx
	const signedTx = await wallet.createAndSignTx({ msgs });
	// send(broadcast) tx
	client
		.client()
		.tx.broadcastSync(signedTx)
		.then(res => console.log(res));

Log info:
addtionalNamedAddresses:  [ [ 'counter', '0x18ced7410ef397b346338b0fc06f7adc138dbf48' ] ]
Compiling, may take a little while to download git dependencies...
INCLUDING DEPENDENCY InitiaStdlib
INCLUDING DEPENDENCY MoveNursery
INCLUDING DEPENDENCY MoveStdlib
BUILDING counter
decodedModule:  {"address":"0x18efbfbdefbfbd410eefbfbd4633efbfbd0fefbf","name":"counter","friends":[],"exposed_functions":[{"name":"value","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":[],"return":["u64"]},{"name":"increase","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]}],"structs":[{"name":"Counter","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"value","type":"u64"}]}]}
decodedReadWrite:  {"address":"0x18efbfbdefbfbd410eefbfbd4633efbfbd0fefbf","name":"read_write","friends":[],"exposed_functions":[{"name":"read","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":[],"return":["0x1::string::String"]},{"name":"write","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","0x1::string::String"],"return":[]},{"name":"write_internal","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","0x1::string::String"],"return":[]}],"structs":[{"name":"Store","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"content","type":"0x1::string::String"}]}]}
MsgPublish Payload:  [
  fe {
    sender: 'init1rr8dwsgw7wtmx33n3v8uqmm6msfcm06glyvufp',
    code_bytes: [
      'oRzrCwcAAAoLAQAEAgQEAwgYBSAPBy89CGxABqwBIhDOAUAKjgIFDJMCTQ3gAgIAAAEFAAEIAAACAAEAAQADAgAAAQAEAgAAAQEGAgQAAQABAwEGDAEIAAEFAQcIAAdjb3VudGVyB0NvdW50ZXIFdmFsdWULaW5pdF9tb2R1bGUIaW5jcmVhc2UGc2lnbmVyCmFkZHJlc3Nfb2YAAAAAAAAAAAAAAAAY77+977+9QQ7vv71GM++/vQ/vvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBSAAAAAAAAAAAAAAAAAY77+977+9QQ7vv71GM++/vQ/vvxRjb21waWxhdGlvbl9tZXRhZGF0YQkAAzIuMAMyLjATaW5pdGlhOjptZXRhZGF0YV92MAwAAAEFdmFsdWUBAQAAAgECAwABAAEAAAUHACsAEAAUAgEAAAADBwYAAAAAAAAAABIADAELAAsBLQACAgEEAQAFDQsAEQMqAAwBCgEQABQGAQAAAAAAAAAWCwEPABUCAAAA'
    ],
    upgrade_policy: 1
  }
]
wallet.key.accAddress init1rr8dwsgw7wtmx33n3v8uqmm6msfcm06glyvufp
wallet account to hex 0x18ced7410ef397b346338b0fc06f7adc138dbf48

@vladilen11 thank you for report. we have resolved the issue. the problem was caused by a bug in address encoding when making an FFI call.(v0.2.26 buidler.js is published)

using multiple Move modules at once is currently not supported. We recommend using the code below to fetch modules individually:

const moduleNames = ['a', 'b', 'c'];

await Promise.all(
  moduleNames.map(async (moduleName) => {
    return [...(await builder.get(moduleName))];
  })
);

Awesome! thanks for fixing that. ❤
By the way, My requirement is that I don't want to let the developer pass in the module name when deploying the contract. I think I should be able to retrieve the filename of bytecode_modules/*mv to sort out all the module names, but I'm not sure if I'm missing anything, please let me know what you think. @djm07073

@vladilen11 I'm sure it would be nice to have, and we'll include it in my plans to support it in the future, but for now, we recommend to use that method. please or make pr for supporting get all module names and bytes.

got it. thanks~

It worked on my code, thanks again!


Add ncc options and zip up all assets

I was trying to use this plugin but needed the option to handle assets as well.
Please let me know if changes are needed.
-- Dirk

@dirkdev98 thanks for the PR.
This is included in the release 0.2.0 🎉


Note type posts throws Type Error: Cannot read property '0' of undefined

This package currently throws an error (shown below) if the provided mf2 object doesn’t include a name property, which is often the case for note type posts.
TypeError: Cannot read property '0' of undefined
    at getValue (/Users/paulrobertlloyd/Sites/indiekit/node_modules/post-type-discovery/index.js:12:15)
    at getType (/Users/paulrobertlloyd/Sites/indiekit/node_modules/post-type-discovery/index.js:74:14)
    at Object.module.exports [as createPost] (/Users/paulrobertlloyd/Sites/indiekit/app/lib/micropub/create-post.js:33:12)
    at getResult (/Users/paulrobertlloyd/Sites/indiekit/app/routes/micropub.js:88:23)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)

Updating the following on line 74 fixes this issue:
- var name = getValue( prop.name );
+ var name = prop.name ? getValue( prop.name ) : undefined;

Happy to make a PR if you feel this is the right approach.

Thanks for reporting the issues @paulrobertlloyd 🙂The approach looks correct, I'd be happy to merge a PR.

Do you have an example of when this happens? I tried a note from your website and it seems to contain the name: https://glennjones.net/tools/microformats/?url=https%3A%2F%2Fpaulrobertlloyd.com%2Fnotes%2F1563227099&callback=&dateformat=auto


update tensorrt to 8.2 on aarch64

These changes make possible to run apollo on Jetson Xavier AGX with Jetson r32.6.

Use of tensorrt api updated according to changes at tensorrt 8.2.
Biggest changes are switch IPlugin -> IPluginV2, DimsNCHW -> Dims4, DimsCHW -> Dims3
See 1, 2.
Little arch conditionals addition to make it compile on aarch64 like remove SSE opt, add #ifdef __aarch64__, and include to build inside conditional if_x86_64().

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Alexander Krutikov seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@sanblch I run darkSCNN according to the code you modified, but all the output is 0. Have you ever met this situation？

Have you solved this problem?

@sanblch我按照你修改的代码运行darkSCNN，但是输出全部为0，你遇到过这种情况吗？

请问你解决这个问题了吗，我叶遇到了

@QiTianDaShengMaoHuiFei 没有，我还是用的7

Jetson Xavier AGX

@QiTianDaShengMaoHuiFei 没有，我还是用的7

请问您是在Jetson Xavier AGX上跑的tensorRT_7吗？能成功吗？


Latest version contains a node_modules with own rxjs

Select one ...  (check one with "x")
[X ] bug
[ ] feature request
[ ] enhancement

Expected behavior
Clarity design to use the same version of rxjs as defined in the project package.json.
Actual behavior
Latest version contains node_module directory. This contains @angular-devkit and rxjs. This creates collisions with rxjs version defined in my own package.json

Example error
src/app/shared/datagrid/custom-list-filter.component.ts(9,14): error TS2420: Class 'CustomListFilterComponent' incorrectly implements interface 'ClrDatagridFilterInterface<any>'.                                                                                Types of property 'changes' are incompatible.                                                                                Type 'EventEmitter<any>' is not assignable to type 'Observable<any>'.
Environment details

Angular version: 5.2.9

Clarity version: 0.11.13+

OS and version:

Browser: [all  ]

Due to schematics, we need the @angular-devkit/schematics and @angular-devkit/core packages (which depend upon rxjs). How is it colliding with your rxjs in your package.json?
The example error you show is known to us, and is being fixed but is not part of our actual library (its just the demo app we build upon).

I got the same error when creating custom data grid filters:

This seems like two separate issues, but related.
First, there is concern about us adding dependency packages and it conflicting with node_modules. For this, are you using a lock file for your packages? It could be an issue if you don't, because depending on the way your dependencies are listed it could install a different version after module version resolution.
As far as the interface error, we've seen this issue lately as well, and I believe it is because of changes in TypeScript. Subject implements an Observable, but is not, and with a stricter compiler it fails. We have to fix this in our documentation as well.

It is actually the same issue as described by whizkidwwe1217.

I thought the problem was the node_modules, because the Subject used in the custom filter is colliding with Subject from the interface ( different versions ). If I removed the node_modules folder in the @clr/angular library everything works and compiles.This made me believe that the issue was linked to the rxjs in the @clr/angular library.
I'm using a lock file.
angular 5.2.9
rxjs 5.5.7
clarity 0.11.14
angular/cli 1.7.3

This should be resolved for 0.11.


Hide sidebar panel overflow

When you navigate the to a subpage in the sidebar, the animation is currently overflowing the panel. In my opinion this is not a designers intention, it shouldn't overflow, the focus should stay inside of the panel.
Before:
https://github.com/user-attachments/assets/e9b73b96-ebed-41f2-8104-d4e228c5b5f4
After:
https://github.com/user-attachments/assets/b23fa97a-5853-4d37-b94d-07309d2f3b46
The result looks aesthetically more pleasing.
I've also checked if a11y is still given when I'm on a smaller screen, thus the sidebar panel children are still able to overflow vertically as expected.

Wow thank you @kllmanu  this has been bothering me and I agree that it's not meant to look like it does currently.

Thank you very much @lb- 🐱


Build failed because of old buggy versions of setuptools and virtualenv

Details

Project URL: http://fluidimage.readthedocs.io
Build URL: https://readthedocs.org/projects/fluidimage/builds/4912706/
Read the Docs username: paugier

Expected Result
Build the doc (with virtualenv --system-site-packages) .
Actual Result
Build failed with error:
pkg_resources.VersionConflict: (setuptools 3.3 (/usr/lib/python3/dist-packages), Requirement.parse('setuptools>=18.5'))

See also https://github.com/rtfd/readthedocs.org/issues/2547
I've already encountered such problems locally with virtualenv --system-site-packages. setuptools 18.5 is installed in the virtualenv but import setuptools loads the old system setuptools package /usr/lib/python3/dist-packages because of a path problem (bug virtualenv). The problem is solved after updating virtualenv, setuptools and pip:
sudo pip3 install pip -U
sudo pip3 install setuptools -U
sudo pip3 install virtualenv -U

The build for another documentation also failed with the same error:
Details

Project URL: http://fluidlab.readthedocs.io
Build URL: https://readthedocs.org/projects/fluidlab/builds/4940488/
Read the Docs username: paugier

I see:
Successfully installed Jinja2-2.9.4 Markdown-2.6.7 MarkupSafe-0.23 PyYAML-3.12 Pygments-2.1.3 alabaster-0.7.9 babel-2.3.4 backports-abc-0.5 click-6.7 commonmark-0.5.4 docutils-0.12 livereload-2.5.1 mkdocs-0.15.0 mkdocs-bootstrap-0.1.1 mkdocs-bootswatch-0.4.0 mock-1.0.1 nilsimsa-0.3.8 pillow-2.6.1 pytz-2016.10 readthedocs-sphinx-ext-0.5.4 recommonmark-0.1.1 requests-2.13.0 setuptools-21.2.1 six-1.10.0 snowballstemmer-1.2.1 sphinx-1.3.5 sphinx-rtd-theme-0.1.9 tornado-4.4.2

but finally get the error:
Exception occurred:
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 632, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (setuptools 3.3 (/usr/lib/python3/dist-packages), Requirement.parse('setuptools>=18.5'))

We've now upgraded our version of setuptools. I believe this should be fixed.


Error Code 20 on Android

Bug Report
Problem
What is expected to happen?
What does actually happen?

Information

Command or Code

Environment, Platform, Device

Version information

Checklist

[x] I searched for existing GitHub issues
[x] I updated all Cordova tooling to most recent version
[x] I included all the necessary information above

Please edit the post and provide the requested information in the form. Definitely include code snippets and version information.

Good Morning @breautek,
The same issue occurs in android 11 "Camera issue:20" to unable open the camera. Below I include the AndroidManifest.xml file for your reference. can you please help me to resolve this issue
<?xml version='1.0' encoding='utf-8'?> <manifest android:hardwareAccelerated="true" android:versionCode="50100" android:versionName="5.1" package="com.test.app" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">     <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />     <uses-permission android:name="android.permission.INTERNET" />     <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:requestLegacyExternalStorage="true" android:supportsRtl="true" android:usesCleartextTraffic="true">         <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:exported="true" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity"<EMAIL_ADDRESS>android:windowSoftInputMode="adjustResize">             <intent-filter android:label="@string/launcher_name">                 <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>         <provider android:authorities="${applicationId}.cordova.plugin.camera.provider" android:exported="false" android:grantUriPermissions="true" android:name="org.apache.cordova.camera.FileProvider">             <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/camera_provider_paths" />         </provider>         <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService" />         <service android:exported="false" android:name="org.apache.cordova.firebase.FirebasePluginMessagingService">             <intent-filter>                 <action android:name="com.google.firebase.MESSAGING_EVENT" />             </intent-filter>         </service>         <receiver android:name="org.apache.cordova.firebase.OnNotificationOpenReceiver" />         <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/accent" />         <meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id" />         <meta-data android:name="firebase_analytics_collection_enabled" android:value="true" />         <meta-data android:name="firebase_performance_collection_enabled" android:value="true" />         <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="true" />         <meta-data android:name="firebase_messaging_auto_init_enabled" android:value="true" />         <service android:name="cordova.plugin.floatview.MyService" />     </application>     <uses-permission android:name="android.hardware.location" />     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />     <uses-permission android:maxSdkVersion="29" android:name="android.permission.WRITE_EXTERNAL_STORAGE" />     <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />     <uses-permission android:maxSdkVersion="32" android:name="android.permission.READ_EXTERNAL_STORAGE" />     <uses-permission android:name="android.permission.CAMERA" />     <queries>         <intent>             <action android:name="android.media.action.IMAGE_CAPTURE" />         </intent>         <intent>             <action android:name="android.intent.action.GET_CONTENT" />         </intent>         <intent>             <action android:name="android.intent.action.PICK" />         </intent>         <intent>             <action android:name="com.android.camera.action.CROP" />             <data android:mimeType="image/*" android:scheme="content" />         </intent>     </queries>     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />     <uses-permission android:name="android.permission.WAKE_LOCK" />     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />     <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />     <uses-feature android:name="android.hardware.location.gps" android:required="true" />     <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />     <uses-permission android:name="android.permission.BLUETOOTH" />     <uses-permission android:name="android.permission.CALL_PHONE" />     <uses-feature android:name="android.hardware.telephony" android:required="false" /> </manifest>

Same error here. Here's my code. I'm upgrading my Ionic app (where selecting a photo from the gallery previously worked) to support API 33, using Cordova 12.0.0. I upgraded the camera plugin to 6.0.0, but still get error 20.
    const options: CameraOptions = {
      mediaType: this.camera.MediaType.PICTURE,
      correctOrientation: true,
      targetWidth: 1024,
      sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
      destinationType: this.camera.DestinationType.FILE_URI
    };

    this.camera.getPicture(options).then((imageData) => {
        ....
    }, (err) => {
      console.log(err); <== This outputs "20".
    });

Getting the same issue with the README.md example
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.FILE_URI });

function onSuccess(imageURI) {
    var image = document.getElementById('myImage');
    image.src = imageURI;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

I think code 20 must is probably related to permissions.
It's probably going to be covered by
https://github.com/apache/cordova-plugin-camera/pull/814

To fix the problem you can use the following fork. The 'Error code 20' problem is due to the failure to request the READ_MEDIA_IMAGES permission; this permission was introduced by android starting from api level 33 link

Thx.
I tried this your fork and it didn't work for me, the camera hangs too.
But from what I saw, the changes you have there are covered in this PR too aren't they?

same problem

I'm experiencing the same issue.
Running<EMAIL_ADDRESS>(command line tools)
these settings don't work with the camera plugin:
<preference name="android-targetSdkVersion" value="33" />
<engine name="android" spec="12.0.0" />
it works fine rolling back to these settings:
<preference name="android-targetSdkVersion" value="32" />
<engine name="android" spec="11.0.0" />
changing the targetSdk to 32 without also setting android to 11 throws an error at build
the ticking clock here is Google's targetSdk 33 requirement starting on Aug 31, 2023
https://developer.android.com/google/play/requirements/target-sdk

EDIT: the fork by levieu above did not work for me

same here for me. Testing on Android 13.0.0 on a OnePlus 9 Pro:
I've tried the following repos and finally found a working one:

apache:

current Master https://github.com/apache/cordova-plugin-camera (which includes https://github.com/apache/cordova-plugin-camera/commit/23642f09b5e72d38bce171041f260674ba297c0e - which is obviously NOT related to THIS issue)
result: Error 20

fork OutSystems:

I actually came here googling for the error 20 issue, and at first found this discussion https://www.outsystems.com/forums/discussion/86980/cordova-camera-plugin-returning-error-20/ so I gave the OutSystems fork a try
release https://github.com/OutSystems/cordova-plugin-camera/releases/tag/4.2.0-OS42 (via plugin name="cordova-plugin-camera" spec="https://github.com/OutSystems/cordova-plugin-camera.git#4.2.0-OS42" />)
result: various Build errors (Failed to install 'cordova-plugin-camera': Error: pod: Command failed with exit code 1 in node_modules/cordova-common/src/superspawn.js:136:25, even after increasing my <preference name="android-minSdkVersion" value="22" /> to <preference name="android-minSdkVersion" value="26" /> which only the OutSystems fork needs apparently!)

fork levieu:

current Master https://github.com/levieu/cordova-plugin-camera (which contains https://github.com/levieu/cordova-plugin-camera/commit/06186bc150fe56f8a9adb40a8393dca1298e50f8 which looked promising)
result: Error 20 still

fork jalios

current Master https://github.com/jalios/cordova-plugin-camera/ (which contains https://github.com/jalios/cordova-plugin-camera/commit/bd1dd6a742bafc63591169eb371e39ad63007d97 which looks promising, too)
result: OK, finally I can take pictures again!

So I've solved the Issue for me by including
<plugin name="cordova-plugin-camera" spec="https://github.com/jalios/cordova-plugin-camera.git" />
instead of
<plugin name="cordova-plugin-camera" spec="6.0.0" />

@cyril23  🔥 🙌
It also works on my Samsung S20, with Cordova 12, Android 13 API 33.

Thx @cyril23 🔥 🙌
It also works on my Samsung S20, with Cordova 12, Android 13 API 33.

glad to hear, but the https://github.com/jalios/cordova-plugin-camera/ fork still has some problems on an old X10302 tablet running Android 7.0.0. On that Android 7 device it is not the error 20 though:

so on this Android 7 device I get an error Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=7790, uid=10046 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
In order to take pictures on the Android 7 within my app, I needed to manually set the storage permission within Settings -> Apps -> (my app) -> permissions.
The "camera" setting has been requested successfully by the plugin, but the "storage" permission apparently hasn't been requested correctly by the plugin, so I had to allow it myself manually. (This is probably caused because my app crashed when starting the camera for the first time and requesting permissions for the first time. During the crash apparently only the "camera" permission has been set successfully - and the "storage" permission not.)
On the Apache 6.0.0 Version the plugin requests two permissions, both camera and storage permissions, and therefore the Apache 6.0.0 works without a problem on this old Android 7.0.0 device. But the Apache 6.0.0 version of course has the error 20 problem on Android 13 phones, so there is that.
Anyhow: If the user is lucky and has already allowed the external storage successfully (e.g. via an old app using the Apache 6.0.0 version), and only gets an update of the app via Play Store, the camera can be used without a problem.

The same storage permission problem exists on Android 8.1.0 too, on an old Nexus 5X (LG H791).
In all cases, no error "20" though.

I've created an app from zero and ran on an emulator with android 13, i was getting this error as well.
Oddly enough, if i keep pressing the camera button multiples times really fast, it eventually opens the camera app (?!?) 😕

@cyril23 Here a fork inspired from the work of @jalios. Work perfectly on Android 13, 7 and 8 :tada:
I've only change that rows to match original code :
-        boolean saveAlbumPermission;
-        if (this.saveToPhotoAlbum) {
-            saveAlbumPermission = hasPermissions(storagePermissions);
-        } else {
-            saveAlbumPermission = true;
-        }
+        boolean saveAlbumPermission = hasPermissions(storagePermissions);

I'm using ionic 6 (capacitor 5).
As mentioned by @cyril23 the jalios fork worked for me (the fix is here).
To that follow these steps:
// uninstall cordova-plugin-camera
npm uninstall cordova-plugin-camera
// install jalios fork
npm i https://github.com/jalios/cordova-plugin-camera.git
// if it's not already installed
npm install @awesome-cordova-plugins/camera
ionic cap sync

Using Cordova the jalios branch works fine under Android 12 and 13 (didn't test others).
I believe Apache should merge this into the main branch urgently as of next month targeting SDK 33 is required for Android / Google PlayStore. Thanks all for the community effort to solve this.

@cyril23 Here a fork inspired from the work of https://github.com/jalios. Work perfectly on Android 13, 7 and 8 🎉
https://github.com/DaedalusDev/cordova-plugin-camera/

Thanks a lot for your work! I've tested it, too on the following the devices - everything works perfectly:

Android 7.0, Medion LifeTab X10302 (the only tablet in my tests)
Android 7.1.2, Zebra TC 25
Android 8.0.0, Samsung Galaxy S7
Android 8.1.0, Nexus 5X (LG H791)
Android 11, Newland NFT 10
Android 13, OnePlus 9 Pro
Android 13, Pixel 7
(iOS 16.5.1, iPhone 11 Pro)

Using Cordova the jalios branch works fine under Android 12 and 13 (didn't test others).
I believe Apache should merge this into the main branch urgently as of next month targeting SDK 33 is required for Android / Google PlayStore. Thanks all for the community effort to solve this.

yes, but I would recommend DaedalusDev' Branch on https://github.com/DaedalusDev/cordova-plugin-camera/ (I mean his merge request) because of its Android 7-8 downwards compability.

I've followed the above steps for switching to the Daedalus branch and it is still not working for me. Using s22 Ultra on Android 13 and OneUI 5.1

+1 this is great. Need it merged!

+1 would be cool to merge, thanks for the fix.

+1 if you can prioritize this

Please merge ASAP.

I have tried ALL of these and still getting error 20 with API level 33

I get an error 20 even by granting successfully the permission READ_MEDIA_IMAGES. It's on an emulator with Android SDK 33.
Anyone knows which permission is required to remove error code 20?
Or how to know what error code 20 means exactly in this situation, because it's not very accurate and i don't know where to go from here?

@TomPretorius check that ure really using the fork instead of the apache release.
Yet, time limit is tomorrow and still no release of this fix... u can ask to google to delay the restriction a little bit (by 4 months if i remember right) and just have to wait the release of the fix..
Please consider to resolve and release a fix of this fast

I have tried ALL of these and still getting error 20 with API level 33

Make sure you remove the existing cordova-plugin-camera before you install the mentioned one.
cordova plugin uninstall cordova-plugin-camera
cordova plugin add https://github.com/jalios/cordova-plugin-camera.git
Thanks @cyril23 for the fix 😍

Should be fixed by https://github.com/apache/cordova-plugin-camera/pull/844

@cyril23   error is gone  but the new error came "no image selected",
after taking the image click on the check icon, this error came
https://github.com/apache/cordova-plugin-camera/assets/111554315/60b1a06a-9daa-4494-9a22-04d6fcc34de6

not working with https://github.com/jalios/cordova-plugin-camera.git ,  camera not opening now.

git clone https://github.com/apache/cordova-plugin-camera.git

open the cordova-plugin-camera directory in any code editor

search the cordova-android in project and then change cordova-android value to the version which is greater than yours cordova-android version used by you in your current project

then install the plugin using :-  cordova plugin add ./path_to cordova-plugin-camera ( directory )

then run prepare command

add
 in androidmanifest file

add this in application tag of manifest file
android:largeHeap="true" android:requestLegacyExternalStorage="true" android:usesCleartextTraffic="true"

that's it

now u can use the camera in ur cordova application

if u want to shift ur project to cordova-android 12
then the solution is
1 ionic cordova platform rm android
2 ionic cordova plugin rm cordova-plugin-camera
3 ionic cordova platform add<EMAIL_ADDRESS>4 cordova plugin add https://github.com/apache/cordova-plugin-camera.git
5 In project structure (Project) change
gradle plugin version : 7.1.2
gradle version :  7.5
6 In project structure (SDK Location) of Gradle Settings
Gradle Jdk :  corretto-17

git clone https://github.com/apache/cordova-plugin-camera.git

Use current release instead of the tip of master of the development branch which will be unstable. At the time of writing, there has been no commits between the current release and the master branch outside of chore commits (e.g. bumping to 7.0.1-dev version) so if the master branch works, then so should 7.0.0.

android:largeHeap="true" android:requestLegacyExternalStorage="true" android:usesCleartextTraffic="true"

This is overall simply bad advice

android:largeHeap="true"

This will allow the Java heap to grow much larger than the standard 256mb the OS gives you. Garbage collection can be delayed and when GC does occur it can take a significantly longer time to accomplish leading to stuttering UI and poor app performance.

android:requestLegacyExternalStorage="true"

Today this is a no-op, it only applies if you're targeting API 29, and only applies if you had the app published before API 29 was released. Today, Google Play requires targeting API 33.

android:usesCleartextTraffic="true"

This should only be used in testing/development environments. Google expects you to be using secured traffic whenever possible so that your user data is properly secured.
I've locked this thread to respect the OP's inbox, because it seems to be going off topic (e.g. we can't provide assistance if you're using a fork of this plugin). If there are issues with v7 of this plugin, I'd recommend raising a new issue with the details filled out so that it can be tracked and addressed accordingly.


Setting the star rating resorts the array!

If you set a star rating, the array is refiltered! This is especially a problem with the Random view, as the items are re-randomised! 👎
Possibly reordering the filtering, or using a seed for the randomness might work?

Will look at it later this week.  Will also:

[ ] add a star icon
[ ] update app to allow 5 stars max ⭐ ⭐ ⭐ ⭐ ⭐


Suggestions for adding TIPC protocol to net

Like what you folks are doing with your coroutine framework and am currently doing a C++20 embedded project (g++ 13.2) that uses TIPC (tipo.io), and would perhaps like to add it to your framework for some investigative work I'm currently persuing. I think it would be a good fit and thought you might have a few tips what to add or modify, as well as thoughts on the matter before I got started.
TIPC is available natively on most Linux distros via a kernel module, and available on several other OS's as well.
TIPC is a transport protocol with some unique features for high speed clustering applications.  It typically uses ethernet packets directly (no IP stack needed), but may also be configured to use UDP.  Under Linux it uses sockets, but all socket calls are wrapped by a thin system supplied C TIPC library, no io_uring support yet).  Addressing is also completely different, and it too is also defined in the TIPC library include file.
TIPC uses reliable datagrams to send and receive message between peers.  But the stack has higher level constructs whereby it has a notion of a "service" bus, which connnotes server use and their client users for transactional type processing.
Check out the link above for further information on TIPC.

Hi @lordvictory, thanks for the inquiry, is this the documentation for TIPC? https://docs.kernel.org/networking/tipc.html Currently on the GitHub mobile app and wasn't able to see the link you mentioned.
This sounds like an interesting addition, I would probably suggest by adding a new client under net::tipc namespace to start and see what other net objects can be reused or if we need to augment them, e.g. net::socket. It's not clear yet to me if you need a server or if every client would be more like the libcoro udp client? I've never used this protocol so my best help for now is probably just project organization.
Do you have a possible example or pseudo code on how you would expect a sample program to use tipc via libcoro, that might go a long way in helping determine how it should be implemented.

Hi @lordvictory, thanks for the inquiry, is this the documentation for TIPC? https://docs.kernel.org/networking/tipc.html
These docs are the Linux implementation notes.  The opther link has better programming information. TIPC is an IETF RFC/Standard and is also implemented on othere systems, but has the best support under Linux.  It was originally designed by Ericsson and is used within their own Cellular networks.  I came across it a few years ago when I was working in the datacenter for a company that had contracts with Verizon for Enhanced Caller-ID.

TIPC has some unique clustering features I've not seen in other protocol stacks.  It is also extremely fast! It may be configured and used in a number of different scenarios, but the one I'm most interested in at the moment is it's Group Communications features.  Peers can create a Group whereby unicast messages may be exchanged between peers, or groupcast messages may be broadcast to all peers simulatneously.  A groupcast message is like a multicast message, except it is only delivered to group members. The same socket can both send/receive unicast messages, or send groupcast messages.
TIPC also has a Topology Server built into the stack that sends OOB messages when members join/leave the group.
To this end, since my intention (at the moment) is not to design an all encompassiong TIPC interface, but to simply add the interface functionality needed to exercise libcoro using TIPC Group Communications.  Once it appears to be stable then perhaps other TIPC features may be introduced.
So, I've opted to produce a libcoro UDP datagram-like interface for TIPC.  FIrst thing I noticed what that the definitions for coro::net::domain_t needed to be moved out from that file into a seperate file for a more non-IP protocol approach.  I created a file called net.hpp and moved said definition, with newly added TIPC address family.  Also moved the to_string() helper there too.
I then proceeded to duplicate the UDP logic, but in tipc directories for the peer include and code files.  I also added a new peer method to create a group socket (make_group_socket vs make_socket).  Interestingly enough, TIPC does not need to bind() to a socket (like UDP) to get notified via poll() that I/O is ready.
Fortunately, your design for socket() was able to pass the args all the way thru to create the proper TIPC socket type, so I didn't have to call the TIPC library to create the socket...you logic was able to create it correctly.  But am calling the TIPC library in several other places internally.
So, I've got the logic compiling and have a small test program and starting to run/debug the changes.  WIll let you know how it goes.

Awesome, sorry I've been quite busy the last few weeks and my personal laptop for programming (5 years old!) took a nose dive so I just got a new one. Looking forward to seeing the PR when it is available. It sounds like your design around net/domain/socket are so far fitting in nicely based on your description.

Yes, I've got it up and running in a test program. Seems to be operating correctly.  I was able to get a Group Socket created and send Groupcast or Unicast messages.
For my immediate purposes this is what I was after.  But this is just a small part of what TIPC is actually capable of.

Not sure how to integrate my changes into your repo, I don't often contribute to public source code...last time was probably over 7-8 years ago...an enhancement/fix to gnu libmicrohttpd...and it didn't use github.  I simply provided them a copy of the gzip'd changes to the repo, and they folded it in and released it.
In hindsight, I didn't actually need to change much code, or add much new code. Most of my time was spend becoming familair with how you organized the library, as well as trying to figure out how it was put together so I could change/build it simultaneously as I was also writing some test code.
My current work position is as Senior Software Engineer doing custom Embedded Linux ARM development for RFID Readers. In my out-of-tree cross compilation Linux dev environment I created a directory & cmake wrapper above your libcoro-0.12.1 subdirectory, and invoked your cmake file (with no changes to your build system) that would build & install libcoro to a custom location using some command line definitions, like so:
cmake -DLIBCORO_FEATURE_NETWORKING=ON -DLIBCORO_FEATURE_TLS=OFF -DLIBCORO_BUILD_TESTS=OFF -DLIBCORO_BUILD_EXAMPLES=OFF -DLIBCORO_FEATURE_NETWORKING_TIPC=ON -DCMAKE_INSTALL_INCLUDEDIR=inc ..
I added a definition of LIBCORO_FEATURE_NETWORKING_TIPC to conditionally include the TIPC logic.  Last time I checked my build built fine also without this definition.
I've only got one "loose end", namely, the TIPC library single include file (tipcc.h), which I lazily just copied over into the include/coro/net directory during development.  This file would be a dependency for a TIPC build. It also includes other Linux system include files that further define the TIPC implementation on Linux.
To build libcoro this include file is the only dependency, but to actually build a libcoro using TIPC suuport also requires linking with the TIPC Utils library (https://github.com/TIPC/tipcutils).
I've put together some test code, and it seems to be working fine, but nothing I'd present as an example.  But feel it would likely be simple to change your existing UDP test logic to accomodate TIPC, as the TIPC support I added is for reliable datagrams with TIPC Group support.  The only difference would be the call to create the group socket.  Group datagrams are sent to the Group Address by any member, to be received by all other members.
I could also put together a small standalone TIPC/libcoro example.
Unfortunately, I've no experience with the test system you have set up for this project, nor do I really want to learn it.  It's not something I'd likely use again as my day-to-day programming duties don't use those tools.
To use TIPC on Linux one first must make sure that the TIPC protocol stack is loaded and operational.  It comes as a Linux Kernel Module, and may be loaded using:
sudo modprobe tipc
The TIPC stack may operate in two different modes: Local or Networked.  By default after the above command the TIPC stack is in Local mode (only TIPC processes on the local system may communicate together).  To have other systems participate in the TIPC network they too must have their TIPC protocol stack loaded, but and additional command must be used to "bind" the Ethernet Adapter to the TIPC protocl stack.  For this, there is a command line tool called tipc (part of the iproute2 package).  A typical bind statement might be:
tipc bearer enable media eth dev eth0
where eth0 is the ethernet device name to bind to (use ifconfig to discover if unknown).
Once this is done any TIPC test code may then execute, once build and linked to the TIPC User library, which also may require building if not available in your Linux distro.  In my test environment I've already got this built.
Let me know how you'd like to proceed.  Perhaps it might be better to communicate this privately?

Unfortunately, I've no experience with the test system you have set up for this project, nor do I really want to learn it. It's not something I'd likely use again as my day-to-day programming duties don't use those tools.
I'm sorry but I won't be willing to merge anything into this repository that is untested. Obviously based on the license you may have your own fork and support it yourself, but from my perspective this is a feature I am unfamiliar with and will not be able to support it moving forward if it does not have tests as I won't know if its broken by new upcoming changes.
I think catch2 is one of the easier C++ test frameworks available and is not an unreasonable requirement for additions to this repository.


chore: Bump to v0.42.0 to start release process

part of #3503

What's Changed
Added

feat(binding/java): add rename support by @G-XD in https://github.com/apache/incubator-opendal/pull/3238
feat(prometheus): add bytes metrics as counter by @flaneur2020 in https://github.com/apache/incubator-opendal/pull/3246
feat(binding/python): new behavior testing for python by @laipz8200 in https://github.com/apache/incubator-opendal/pull/3245
feat(binding/python): Support AsyncOperator tests. by @laipz8200 in https://github.com/apache/incubator-opendal/pull/3254
feat(service/libsql): support libsql by @G-XD in https://github.com/apache/incubator-opendal/pull/3233
feat(binding/python): allow setting append/buffer/more in write() call by @jokester in https://github.com/apache/incubator-opendal/pull/3256
feat(services/persy): change blocking_x in async_x call to tokio::task::blocking_spawn by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3221
feat: Add edge test cases for OpenDAL Core by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3274
feat(service/d1): Support d1 for opendal by @realtaobo in https://github.com/apache/incubator-opendal/pull/3248
feat(services/redb): change blocking_x in async_x call to tokio::task::blocking_spawn by @shauvet in https://github.com/apache/incubator-opendal/pull/3276
feat: Add blocking layer for C bindings by @jiaoew1991 in https://github.com/apache/incubator-opendal/pull/3278
feat(binding/c): Add blocking_reader for C binding by @jiaoew1991 in https://github.com/apache/incubator-opendal/pull/3259
feat(services/sled): change blocking_x in async_x call to tokio::task::blocking_spawn by @shauvet in https://github.com/apache/incubator-opendal/pull/3280
feat(services/rocksdb): change blocking_x in async_x call to tokio::task::blocking_spawn by @shauvet in https://github.com/apache/incubator-opendal/pull/3279
feat(binding/java): make Metadata a POJO by @G-XD in https://github.com/apache/incubator-opendal/pull/3277
feat(bindings/java): convey backtrace on exception by @tisonkun in https://github.com/apache/incubator-opendal/pull/3286
feat(layer/prometheus): Support custom metric bucket for Histogram by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3275
feat(bindings/python): read APIs return memoryview instead of bytes to avoid copy by @messense in https://github.com/apache/incubator-opendal/pull/3310
feat(service/azfile): add azure file service support by @dqhl76 in https://github.com/apache/incubator-opendal/pull/3312
feat(services/oss): Add allow anonymous support by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3321
feat(bindings/python): build and publish aarch64 and armv7l wheels by @messense in https://github.com/apache/incubator-opendal/pull/3325
feat(bindings/java): support duplicate operator by @tisonkun in https://github.com/apache/incubator-opendal/pull/3330
feat(core): Add enabled for Scheme by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3331
feat(bindings/java): support get enabled services by @tisonkun in https://github.com/apache/incubator-opendal/pull/3336
feat(bindings/java): Migrate behavior tests to new Workflow Planner by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3341
feat(layer/prometheus): Support output path as a metric label by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3335
feat(service/mongodb): Support mongodb service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3355
feat: Make PrometheusClientLayer Clonable by @flaneur2020 in https://github.com/apache/incubator-opendal/pull/3352
feat(service/cloudflare_kv): support cloudflare KV by @my-vegetable-has-exploded in https://github.com/apache/incubator-opendal/pull/3348
feat(core): exposing Metadata::metakey() api by @G-XD in https://github.com/apache/incubator-opendal/pull/3373
feat(binding/java): add list & remove_all support by @G-XD in https://github.com/apache/incubator-opendal/pull/3333
feat: Add write_total_max_size in Capability by @realtaobo in https://github.com/apache/incubator-opendal/pull/3309
feat(core): service add DBFS API 2.0 support by @morristai in https://github.com/apache/incubator-opendal/pull/3334
feat(bindings/java): use random root for behavior tests by @tisonkun in https://github.com/apache/incubator-opendal/pull/3408
feat(services/oss): Add start-after support for oss list by @wcy-fdu in https://github.com/apache/incubator-opendal/pull/3410
feat(binding/python): Export full_capability API for Python binding by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3402
feat(test): Enable new test workflow planner for python binding by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3397
feat: Implement Lazy Reader by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3395
feat(binding/nodejs): upgrade test behavior and infra by @eryue0220 in https://github.com/apache/incubator-opendal/pull/3297
feat(binding/python): Support Copy operation for Python binding by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3454
feat(bindings/python): Add layer API for operator by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3464
feat(bindings/java): add layers onto ops by @tisonkun in https://github.com/apache/incubator-opendal/pull/3392
feat(binding/python): Support rename API for Python binding by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3467
feat(binding/python): Support remove_all API for Python binding by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3469
feat(core): fix token leak in OneDrive by @morristai in https://github.com/apache/incubator-opendal/pull/3470
feat(core): service add OpenStack Swift support by @morristai in https://github.com/apache/incubator-opendal/pull/3461
feat(bindings/python)!: Implement File and AsyncFile to replace Reader by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3474
feat(services): Implement ConfigDeserializer and add S3Config as example by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3490
feat(core): add OpenStack Swift e2e test by @morristai in https://github.com/apache/incubator-opendal/pull/3493
feat(doc): add OpenStack Swift document for the website by @morristai in https://github.com/apache/incubator-opendal/pull/3494
feat(services/sqlite): add SqliteConfig by @hoslo in https://github.com/apache/incubator-opendal/pull/3497
feat(bindings/C): implement capability by @Ji-Xinyou in https://github.com/apache/incubator-opendal/pull/3479
feat: add mongodb gridfs service support by @realtaobo in https://github.com/apache/incubator-opendal/pull/3491
feat(services): add RedisConfig by @hoslo in https://github.com/apache/incubator-opendal/pull/3498

Changed

refactor(services/sqlite): Polish sqlite via adding connection pool by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3249
refactor: Remove cucumber based test in python by @laipz8200 in https://github.com/apache/incubator-opendal/pull/3253
refactor: Introduce OpenDAL Workflow Planner by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3258
refactor(bindings/C): Implement error with error message by @Ji-Xinyou in https://github.com/apache/incubator-opendal/pull/3250
refactor(oay): import dav-server-opendalfs by @Young-Flash in https://github.com/apache/incubator-opendal/pull/3285
refactor(bindings/java): explict error handling by @tisonkun in https://github.com/apache/incubator-opendal/pull/3288
refactor(services/gdrive): Extract folder search logic by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3234
refactor(core): use list_with in Operator::list by @G-XD in https://github.com/apache/incubator-opendal/pull/3305
refactor(!): Bump and update MSRV to 1.67 by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3316
refactor(tests): Apply OPENDAL_TEST for behavior test by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3322
refactor(bindings/java): align test idiom with OPENDAL_TEST by @tisonkun in https://github.com/apache/incubator-opendal/pull/3328
refactor(bindings/java): split behavior tests by @tisonkun in https://github.com/apache/incubator-opendal/pull/3332
refactor(ci/behavior_test): Migrate to 1password instead by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3338
refactor(core/{fuzz,benches}): Migrate to OPENDANL_TEST by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3343
refactor(bindings/C): Alter naming convention for consistency by @Ji-Xinyou in https://github.com/apache/incubator-opendal/pull/3282
refactor(service/mysql): Migrate to new task planner by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3357
refactor(service/postgresql): Migrate task to new task planner by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3358
refactor(services/etcd): Migrate etcd task to new behavior test planner by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3360
refactor(services/http): Migrate http task to new behavior test planner by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3362
refactor(services/sqlite): Migrate sqlite task to new behavior test planner by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3365
refactor(services/gdrive): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3368
refactor(services/redis): migrate to test planner for kvrocks,dragonfly by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3369
refactor(services/azblob): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3370
refactor(services/cos,obs): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3371
refactor(services/oss): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3375
refactor(services/memcached): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3377
refactor(services/gcs): migrate tot test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3391
refactor(services/moka): migrate to test planner by @G-XD in https://github.com/apache/incubator-opendal/pull/3394
refactor(services/dashmap): migrate to test planner by @G-XD in https://github.com/apache/incubator-opendal/pull/3396
refactor(services/memory): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3390
refactor(services/azdls): migrate to test planner by @G-XD in https://github.com/apache/incubator-opendal/pull/3405
refactor(services/mini_moka): migrate to test planner by @dqhl76 in https://github.com/apache/incubator-opendal/pull/3416
refactor(core/fuzz): Fix some bugs inside fuzzer by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3418
refactor(tests): Extract tests related logic into raw::tests for reuse by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3420
refactor(service/dropbox): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3381
refactor(services/supabase): migrate to test planner by @G-XD in https://github.com/apache/incubator-opendal/pull/3406
refactor(services/sftp): migrate to test planner by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3412
refactor(services/wasabi)!: Remove native support for wasabi services by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3455
refactor(ci): Polish the test planner code by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3457
refactor(services/webdav): migrate to test planner for webdav by @shauvet in https://github.com/apache/incubator-opendal/pull/3379
refactor(services/redis): Enable rustls support by default for redis by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3471
refactor(bindings/python): Refactor layout for python bindings by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3473
refactor(services/libsql): Migrate libsql task to new behavior test planner by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3363
refactor(service/postgresql): Add PostgresqlConfig to implement ConfigDeserializer by @sd44 in https://github.com/apache/incubator-opendal/pull/3495
refactor(binding/python): Add multiple custom exception for each of error code in Rust Core by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3492
refactor(service/libsql): Add LibsqlConfig to implement ConfigDeserializer by @sd44 in https://github.com/apache/incubator-opendal/pull/3501

Fixed

fix: Fix read result not full by @jiaoew1991 in https://github.com/apache/incubator-opendal/pull/3350
fix(services/cos): fix prefix param by @G-XD in https://github.com/apache/incubator-opendal/pull/3384
fix(services/ghac)!: Remove enable_create_simulation support for ghac by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3423
fix: ASF event URL by @tisonkun in https://github.com/apache/incubator-opendal/pull/3431
fix(binding/java): fix return value of presign-related method by @G-XD in https://github.com/apache/incubator-opendal/pull/3433
fix(mongo/backend): remove redundant code by @bestgopher in https://github.com/apache/incubator-opendal/pull/3439
fix: nodejs test adapt OPENDAL_DISABLE_RANDOM_ROOT by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3456
fix(services/s3): Accept List responses without ETag by @amunra in https://github.com/apache/incubator-opendal/pull/3478
fix(bindings/python): fix type annotations and improve docs by @messense in https://github.com/apache/incubator-opendal/pull/3483

Docs

docs: Add docs in website for sqlite/mysql/postgresql services by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3290
docs: add docs in website for atomicserver by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3293
docs: Add docs on website for GHAC service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3296
docs: Add docs on website for cacache services by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3294
docs: Add docs on website for libsql services by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3299
docs: download link for v0.41.0 by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3298
docs: Add docs on website for persy service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3300
docs: Add docs on website for d1 services by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3295
docs: Add docs on website for redb service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3301
docs: Add docs on website for tikv service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3302
docs: Add docs on website for Vercel Artifacts service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3303
docs: update release doc by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3306
docs(bindings): bindings README and binding release status by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3340
docs(bindings/java): update how to run behavior test by @tisonkun in https://github.com/apache/incubator-opendal/pull/3342
docs: fix something in docs by @my-vegetable-has-exploded in https://github.com/apache/incubator-opendal/pull/3353
docs: Update mysql connection_string config description in doc by @xring in https://github.com/apache/incubator-opendal/pull/3388
doc: apply range_reader change in upgrade doc  by @wcy-fdu in https://github.com/apache/incubator-opendal/pull/3401
docs(readme): Fix capitalization about the ABFS service in README.md by @caicancai in https://github.com/apache/incubator-opendal/pull/3485

CI

ci: Add bindings_go workflow by @jiaoew1991 in https://github.com/apache/incubator-opendal/pull/3260
ci: Only fetch origin while in pull request by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3268
ci: add a new test case for the disk is full by @sunheyi6 in https://github.com/apache/incubator-opendal/pull/3079
ci: Passing GITHUB_TOKEN to avoid rate limit by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3272
ci(services/hdfs): Use dlcdn.apache.org instead by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3308
ci: Fix HDFS test by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3320
ci: Fix plan not generated correctly for PR from forked repo by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3327
ci(services/azfile): add azfile integration test by @dqhl76 in https://github.com/apache/incubator-opendal/pull/3409
ci: Fix behavior tests been ignored by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3422
ci(binding/java): remove testWriteFileWithNonAsciiName behavior test by @G-XD in https://github.com/apache/incubator-opendal/pull/3424
ci(bindings/python): Remove not passing test cases until we addressed by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3432
ci(services/sftp): Move setup logic into docker-compose by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3430
ci(test): Add health check for WebDAV docker compose config by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3448
ci: Switch to 1password connect to avoid rate limit by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3447
ci: Use cargo test instead of carge nextest by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3505

Chore

chore(ci): publish to pypi with github OIDC credential by @everpcpc in https://github.com/apache/incubator-opendal/pull/3252
chore(bindings/java): align mapping POJO pattern by @tisonkun in https://github.com/apache/incubator-opendal/pull/3289
chore: do not export unreleased bindings by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3339
chore: update object_store unit tests and s3 endpoint docs by @thorseraq in https://github.com/apache/incubator-opendal/pull/3345
chore: Fix typo in mysql doc by @lewiszlw in https://github.com/apache/incubator-opendal/pull/3351
chore: try format yaml files by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3364
chore(bindings/java): move out convert fns by @tisonkun in https://github.com/apache/incubator-opendal/pull/3389
chore(bindings/java): use JDK 8 time APIs by @tisonkun in https://github.com/apache/incubator-opendal/pull/3400
chore: remove unused dependencies by @xxchan in https://github.com/apache/incubator-opendal/pull/3414
chore(test): Compare with digest instead of whole content by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3419
chore: remove useless workflow file by @suyanhanx in https://github.com/apache/incubator-opendal/pull/3425
chore(deps): bump minitrace from 0.5.1 to 0.6.1 by @andylokandy in https://github.com/apache/incubator-opendal/pull/3449
chore(deps): bump korandoru/hawkeye from 3.4.0 to 3.6.0 by @dependabot in https://github.com/apache/incubator-opendal/pull/3446
chore(deps): bump toml from 0.7.8 to 0.8.6 by @dependabot in https://github.com/apache/incubator-opendal/pull/3442
chore(deps): bump actions/setup-node from 3 to 4 by @dependabot in https://github.com/apache/incubator-opendal/pull/3445
chore(deps): bump etcd-client from 0.11.1 to 0.12.1 by @dependabot in https://github.com/apache/incubator-opendal/pull/3441
chore(services/libsql): Fix typos in backend by @sd44 in https://github.com/apache/incubator-opendal/pull/3506

New Contributors

@jokester made their first contribution in https://github.com/apache/incubator-opendal/pull/3256
@shauvet made their first contribution in https://github.com/apache/incubator-opendal/pull/3276
@lewiszlw made their first contribution in https://github.com/apache/incubator-opendal/pull/3351
@my-vegetable-has-exploded made their first contribution in https://github.com/apache/incubator-opendal/pull/3353
@xring made their first contribution in https://github.com/apache/incubator-opendal/pull/3388
@bestgopher made their first contribution in https://github.com/apache/incubator-opendal/pull/3439
@eryue0220 made their first contribution in https://github.com/apache/incubator-opendal/pull/3297
@amunra made their first contribution in https://github.com/apache/incubator-opendal/pull/3478
@caicancai made their first contribution in https://github.com/apache/incubator-opendal/pull/3485
@sd44 made their first contribution in https://github.com/apache/incubator-opendal/pull/3495
@hoslo made their first contribution in https://github.com/apache/incubator-opendal/pull/3497

Full Changelog: https://github.com/apache/incubator-opendal/compare/v0.41.0...v0.42.0

Please fix typo:
error: `explict` should be `explicit`
  --> ./CHANGELOG.md:71:2[8](https://github.com/apache/incubator-opendal/actions/runs/6783376113/job/18437485331?pr=3509#step:4:9)
   |
71 | * refactor(bindings/java): explict error handling by @tisonkun in https://github.com/apache/incubator-opendal/pull/3288
   |                            ^^^^^^^
   |

LGTM so far, let's wait for another two approval.

Thanks @PsiACE and @tisonkun, let's merging...

I was hoping to get a new small 3 line change in for java's build.py to enable linux/arm support.
It seems to compile just fine and it's a platform we need ro target.
Sorry for the last minute request! Raising PR in 1h.

cc @silver-ymz, can you wait a bit for this change?

Sure

Thank you guys!
https://github.com/apache/incubator-opendal/pull/3527
Here's the PR.


RALI - Failure due to missing package

RALI failure due to the missing packages should not occur. The lib should quit without failure.
rali/rali/CMakeLists.txt - find_package(Protobuf REQUIRED)
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindProtobuf.cmake:543 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  rali/rali/CMakeLists.txt:27 (find_package)

-- Configuring incomplete, errors occurred!

PR #368 merged


stim_channel="auto" in read_raw_edf renames stim channel

The new default for mne.io.read_raw_edf in MNE 0.16 will be stim_channel="auto". Using this argument, the stim channel is called Status instead of the usual STI 014. This causes mne.find_events to fail because by default it looks for a channel called STI 014. Is this intended?

Not only that, but when I use stim_channel="auto" the resulting stim channel in the data contains negative values whereas it looks normal with the previous default of taking the last channel.

there is maybe a bug but you can can set a default name for your stim
channels with the set_config

This causes mne.find_events to fail because by default it looks for a channel called STI 014. Is this intended?

Different systems sometime have different names. FWIW the default for the last number of years (10 maybe?) for Neuromag has even been STI101, so all newer systems use this. We usually use STI 014 when we synthesize a new events channel only. So this part is okay I think.

when I use stim_channel="auto" the resulting stim channel in the data contains negative values whereas it looks normal with the previous default of taking the last channel.

This sounds like a bug

Using the exact same file, the stim channel is called STI 014 if stim_channel=True (the current default) and Status if stim_channel="auto" (the default in 0.16). This is also a bug. I'm currently trying to find a public EDF file with a stim channel to reproduce this behavior.

The problem seems to occur in BDF files and not in EDF files. To reproduce, download the BDF test files (unzip) and run:
print(mne.io.read_raw_edf("BDFtestfiles/Newtest17-256.bdf", preload=True, stim_channel=True).info["ch_names"][-1])
print(mne.io.read_raw_edf("BDFtestfiles/Newtest17-256.bdf", preload=True, stim_channel="auto").info["ch_names"][-1])

sorry no time to look.

@larsoner do you have time to confirm?

now on current master I get :
~/work/src/mne-python/mne/io/edf/edf.py in _get_info(fname, stim_channel, annot, annotmap, eog, misc, exclude, preload)
    562     # These are the conditions under which a stim channel will be interpolated
    563     if stim_channel is not None and not (annot and annotmap) and \
--> 564             tal_channel is None and n_samps[stim_channel] != int(max_samp):
    565         warn('Interpolating stim channel. Events may jitter.')
    566     info._update_redundant()

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

:(

I think we need somebody with EDF expertise/knowledge to tackle this one. @cbrnr do you know enough to have an idea of what the right thing would be to do in each of these situations? If so, maybe a table or bulleted list would be good to guide fixes and also add to the Notes docstring.

No, I'm not familiar enough with the internal workings of EDF to do this quickly. I assume @jaeilepp is not available anymore, right? In the worst case, we could revert his changes regarding the stim channel.

In the worst case, we could revert his changes regarding the stim channel.

This seems like a reasonable choice to me, but it's complicated by the changes already existing in 0.15 (and it might work properly for some users in 'auto' mode, and we would cause them pain with removal). So it's probably better to fix it rather than remove it.

Cf #4750

The last channel in the test file I've linked above is the stim channel. Since the previous default was -1, this channel was correctly detected as a stim channel. Now the new default is 'auto', which results in the last channel being interpreted as an EEG channel (and hence the weird values).
What exactly does stim_channel='auto' do?

To answer my question, maybe stim_channel='auto' should behave differently. Currently, it adds a stim channel if EDF annotations are present. If not, no stim channel is added. Maybe it should add the last channel in the latter case instead. Thoughts?

It's a mess. I'm discovering weird behavior as I go. I thought that stim_channel=None wouldn't add a stim channel. Consider this example EDF file. If I load it with stim_channel=None, an additional MISC channel is still appended, even though this file does not have such a stim channel (events are stored as EDF annotations).

It sounds like there are now several problematic files. If you have time, making a bulleted list (one per file) at the top of one of these issues that contains file link + existing behavior + what it should do would go a long way to setting up for a proper fix.

#4760

I think the backport label can be removed, because nothing is really broken (now that I understand the internals of EDF better), but only less ideal from a usability perspective.

cool. can you document this somewhere ? and maybe suggest API improvements?

Yeah, it's all in #4760.

@agramfort @larsoner slightly OT, when is 0.15.1 planned to be released? The viz bug in raw.plot is pretty serious and 0.15.1 fixes it. This issue is for 0.16 because everything (EDF-related stuff) is still working in 0.15.

just pushed 0.15.1 https://pypi.python.org/pypi/mne

Thanks @agramfort! So far pip isn't seeing the new version, but I'm hoping this won't take too long.


Password resets.

Current coverage is 97.51%

Merging #3 into master will decrease coverage by -1.38% as of 0a718ba

@@            master      #3   diff @@
======================================
  Files           30      40    +10
  Stmts          271     403   +132
  Branches         0       0
  Methods         49      75    +26
======================================
+ Hit            268     393   +125
  Partial          0       0
- Missed           3      10     +7

Review entire Coverage Diff as of 0a718ba

Powered by Codecov. Updated on successful CI builds.


Falcon X doesn't run at startup

Falcon X doesn't start when the pc is turned on, despite having ticked the "Run at startup" checkbox and added the app to C: \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

You should update to <IP_ADDRESS> as the option "Run at startup" doesn't exist any more.


issue_340 Add caching to animation player and navigation to avoid unnecessary calls

See https://github.com/carenalgas/popochiu/issues/340

Just a couple minor fixes and this can be merged to me!
Please see above comment on removing "face_direction(target_pos)" from the "walk" function.

I decided to remove the redundant face_direction call in the walk function.


shiny: generate index into root directory

Currently, it's being generated into the reference folder, but the py-shiny API site just uses the root index.

Addressed by #64


Adding test case against ConnectorCompatibility suggestions

Issue https://github.com/microsoft/Power-Fx/issues/2047

✅ No public API change.

✅ No public API change.


feat: custom backdrop support

Overview
resolves #263
Adds a render prop customBackdrop, which returns the component used as a backdrop.
Usage example:
<Modal
  customBackdrop={backdropProps => (
    <View {...backdropProps} />
  )}
>
  Modal content
</Modal>

If you want to add custom styles:
<Modal
  customBackdrop={backdropProps => (
    <View style={[{backgroundColor: "white"}, backdropProps.style]} />
  )}
>
  Modal content
</Modal>

The backdropProps object passed as a parameter has only one attribute, style. The user can overwrite any styling in it or not include it at all.
Any feedback or changes are welcome 🙂
Test Plan
I've added a "Custom backdrop" button in the example app, that opens a modal with this new feature.

Example using react-native-blur to blur the contents bellow the modal:
import React, {useState, useRef, useEffect} from 'react';
import {StyleSheet, Text, View, Button, findNodeHandle} from 'react-native';
import Modal from 'react-native-modal';
import {BlurView} from '@react-native-community/blur';

function App() {
  const [isModalVisible, setIsModalVisible] = useState(false);
  const [contentRef, setContentRef] = useState(null);
  const tempRef = useRef(null);

  useEffect(() => {
    setContentRef(findNodeHandle(tempRef.current));
  }, [tempRef.current]);

  const handleOpenModalPress = () => setIsModalVisible(true);
  const handleCloseModalPress = () => setIsModalVisible(false);

  return (
    <View style={styles.container}>
      <View ref={tempRef}>
        <Text style={styles.message}>
          Example text to show the blur effect 🙂
        </Text>
        <Button title="Open modal" onPress={handleOpenModalPress} />
      </View>

      <Modal
        isVisible={isModalVisible}
        backdropOpacity={1} // This is needed, because the default is 0.7
        customBackdrop={props =>
          contentRef ? (
            <BlurView
              {...props}
              viewRef={contentRef}
              blurAmount={10}
              blurRadius={9}
              blurType="light"
            />
          ) : null
        }
      >
        <View style={styles.modalContentContainer}>
          <Text style={styles.modalMessage}>Hello!</Text>
          <Button title="Close modal" onPress={handleCloseModalPress} />
        </View>
      </Modal>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    backgroundColor: '#F5FCFF'
  },
  message: {
    fontSize: 16,
    marginTop: 30,
    marginBottom: 10
  },
  modalMessage: {
    marginBottom: 10
  },
  modalContentContainer: {
    backgroundColor: 'white',
    alignItems: 'center',
    padding: 10
  }
});

export default App;

@kenyontu thanks for submitting this PR!
Sorry if I missed something but I have a question: What would be backdropProps used for? As far as I understand it is always sending just flex: 1 in the style, right? In this case it might make more setting it as a component and leave it to the user adding flex: 1 to the component (and adding it to the docs).

Following what @mmazzarolo said, we can eventually pass an Element instead of a Component. It would cut out an other level of indirection.

Thanks for the feedback!
@mmazzarolo You are right, it would be much better to pass the component directly. I will add an item in the docs explaining that the backdrop size is up to the user, with an example using flex: 1.
@rewieer I will change the prop to receive an Element.

Thanks @kenyontu !


Handler such like notche

Icon name
Notche
Use cases
For handler to resize a pannel
Design ideas
equivalent icon on phosphor lib
Checklist

[X] I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
[X] I have searched existing icons to make sure it does not already exist and I didn't find any.
[X] I am not requesting a brand logo and the art is not protected by copyright.
[X] I am not requesting an icon that includes religious, political imagery or hate symbols.
[X] I have provided appropriate use cases for the icon(s) requested.

Duplicates #1793


Failed to run rexray

Hi,
I got following error when running rexray (0.3.3)
docker run -tid --volume-driver=rexray -v vc-d-rdb:/mystore \
>   --name temp01 busybox
a7fdfaca97bf164566727431a585ae26f202725f095451797b0757caf30dfb34
docker: Error response from daemon: Container command 'sh' not found or does not exist..

the volume vc-d-rdb was created from snapshot ( by a volume created by rexray).
This issue even happens to newly created volume
docker volume create --driver rexray --opt size=10 --name hellopersistence
hellopersistence

and
 docker run -tid --volume-driver=rexray -v hellopersistence:/mystore   --name temp02 busybox
a7c1897b4020d6798b327480f744e0547075b9d64225020a013645dca0341917
docker: Error response from daemon: Container command 'sh' not found or does not exist..

rexray version
rexray version
Binary: /usr/bin/rexray
SemVer: 0.3.3
OsArch: Linux-x86_64
Branch: v0.3.3
Commit: b30fb870b5b94cd8368824460ad020bfcf20be3a
Formed: Thu, 21 Apr 2016 19:41:36 UTC

and
cat /etc/*-release
NAME="Amazon Linux AMI"
VERSION="2016.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2016.03"
PRETTY_NAME="Amazon Linux AMI 2016.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2016.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2016.03

Can you please give some more information? What storage driver and OS/AMI,  Docker version, and Steps to recreate?
Have you examined the logs or changed logging to debug and examined the logs?
Kendrick Coleman
kendrickcoleman.com
@KendrickColeman
github.com/kacole2

On Jul 20, 2016, at 5:27 AM, iapilgrim<EMAIL_ADDRESS>wrote:
Hi,
I got following error when running rexray (0.3.3)
docker run -tid --volume-driver=rexray -v vc-d-rdb:/mystore \

--name temp01 busybox
a7fdfaca97bf164566727431a585ae26f202725f095451797b0757caf30dfb34
docker: Error response from daemon: Container command 'sh' not found or does not exist..
the volume vc-d-rdb was created from snapshot ( by a volume created by rexray).

This issue even happens to newly created volume
docker volume create --driver rexray --opt size=10 --name hellopersistence
hellopersistence
and
docker run -tid --volume-driver=rexray -v hellopersistence:/mystore   --name temp02 busybox
a7c1897b4020d6798b327480f744e0547075b9d64225020a013645dca0341917
docker: Error response from daemon: Container command 'sh' not found or does not exist..
rexray version
rexray version
Binary: /usr/bin/rexray
SemVer: 0.3.3
OsArch: Linux-x86_64
Branch: v0.3.3
Commit: b30fb870b5b94cd8368824460ad020bfcf20be3a
Formed: Thu, 21 Apr 2016 19:41:36 UTC
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@pilgrim2go sorry, please excuse my previous email.
This could be related to #510 because we haven't called out support for Amazon Linux in our docs. Please try with Ubuntu or CentOS.

@pilgrim2go have a look at #510 , I found a solution for Amazon Linux.. you just need to modify the initscript for docker.

Thank @derfloh : I'm to try it ( busy with other task).


Add global configuration and methods to enable the use of calc by default in numeric operations

Looking at https://github.com/twbs/bootstrap/blob/72d3b6efc4b92e83a4abca6f5bc0cd7e6fd25931/scss/_variables.scss#L925
while add is using calc by default (See https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss#L222), if $input-padding-y is overridden to use calc (say calc(2 * 14px)), then the entire assignment will fail with an error such as
Undefined operation "calc(2 * 14px) * 2".

because the outer multiplication by 2 is not using calc itself.
Could we add a global and overridable SCSS variable ($return-calc) and introduce a multiply function that would use that variable to decide whether to return calc or not? The existing add could also benefit from that global $return-calc variable.
The original assignment would then turn change to the below and would no longer fail.
add(multiply($input-line-height, 1em), multiply($input-padding-y, 2)) !default;

I would be happy to supply a PR for this if you see value in it.
Cheers

Thanks @julien-deramond for labelling this issue. This got me thinking. the way the CSS is currently written for example negative margins (See https://github.com/twbs/bootstrap/blob/7ff271bd8a8386b09a9eca78ea998356bc133ca8/scss/forms/_form-control.scss#L170), means that if a user overrides variables to use calc, the compilation will also fail. Is this a known limitation and is there a plan to make bootstrap Sass variable overrides support calc?

Is this a known limitation and is there a plan to make bootstrap Sass variable overrides support calc?

This is a known limitation, though perhaps not specifically for this use case. There are various constraints related to different calculations (calc, add, etc.), negative values, and the overrides for both Sass and CSS variables with different values or units. The construction of components can vary significantly based on when they were initially built and how they evolved with user feedback.
Addressing these issues comprehensively is challenging. However, we hope to undertake some refactoring in this area for the v6 release. While it might be possible to address parts of this in v5, it would likely be limited to specific components and done cautiously to avoid regressions, which can be quite tricky.
Although I haven't tested it, one potential approach could be using Sass unit testing. By modifying each Sass variable (and/or CSS variable) and compiling the components in different configurations, we could maybe at least verify if the code compiles correctly.