how to close temple when programmer is stop?

i use temple to send message, but i don't find any way to close temple.
i found test case, use template is template.send() and template.flush
if i use kafkaProducer, i will kafkaProducer.close and print log Closing the Kafka producer with timeoutMillis =<PHONE_NUMBER>854775807 ms. but when use temple i am not see any close message.
would temple will close kafkaProducer auto?

Hi @dragontree101 ,
To initialise KafkaTemplate, you have to specify ProducerFactory. And DefaultKafkaProducerFactory implements DisposableBean. So you may store the reference to your DefaultKafkaProducerFactory call destroy() when necessary:
	@Override
	public void destroy() throws Exception { //NOSONAR
		CloseSafeProducer<K, V> producer = this.producer;
		this.producer = null;
		if (producer != null) {
			producer.delegate.close();
		}
	}

Or Spring will call it upon destroying the appropriate bean.

@artembilan
Is there any benefit in using Spring's DisposableBean in comparison to AutoClosable from Java 7 ?
Tried "googling", but have not found a good answer.

thanks @stepio
before i have create DefaultKafkaProducerFactory this not as a bean
after i add @Bean  annotation i see the log print already
and seems if a bean implements Closeable interface, and spring will auto call close() method?

and i haven another question.
i want to use @Scheduled to flush() producer, but if a producer has not send() and it's producer is null, and throw NullPointerException
so i am not flush template by @Scheduled?

and seems if a bean implements Closeable interface, and spring will auto call close() method?

Yes, Spring documentation states so:
http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/Bean.html

To disable destroy method inference for a particular @Bean, specify an empty string as the value, e.g. @Bean(destroyMethod=""). Note that the DisposableBean and the Closeable/AutoCloseable interfaces will nevertheless get detected and the corresponding destroy/close method invoked.

i want to use @Scheduled to flush() producer, but if a producer has not send() and it's producer is null, and throw NullPointerException
so i am not flush template by @Scheduled?

I'm not sure that you need to do this. If you want to interact with Kafka synchronously, maybe you just need to specify autoFlush as true using the appropriate constructor?
	/**
	 * Create an instance using the supplied producer factory and autoFlush setting.
	 * Set autoFlush to true if you wish to synchronously interact with Kafaka, calling
	 * {@link Future#get()} on the result.
	 * @param producerFactory the producer factory.
	 * @param autoFlush true to flush after each send.
	 */
	public KafkaTemplate(ProducerFactory<K, V> producerFactory, boolean autoFlush) {
		this.producerFactory = producerFactory;
		this.autoFlush = autoFlush;
	}

@artembilan

but if a producer has not send() and it's producer is null, and throw NullPointerException

Maybe null-check should be added there - to ignore calls to flush if lazy-loading producer is not initialised yet?

i not want to synchronously to send message, so i want to Scheduled to flush message , i think it will maybe raise perform by Schedule flush message rather than synchronously send message

In my case messages are delivered successfully without explicit flushing - so I recommend you also ignore flushing.

why producer not call flush method and message also will be send to kafka?

Javadocs to Kafka's flush say:

Invoking this method makes all buffered records immediately available to send (even if linger.ms is greater than 0) and blocks on the completion of the requests associated with these records.

So scheduling of flush makes no sense - it's needed only if you need to commit the current batch immediately (like in case of synchronous sending). Regular "flushing" is handled by KafkaProducer itself - if you need to tune it, try updating properties linger.ms and batch.size.

thanks very much

Maybe null-check should be added there - to ignore calls to flush if lazy-loading producer is not initialised yet?

Maybe not - exception helped to prevent invalid usage of the method.

@dragontree101 , sorry for delay. That was long Independence Day weekend here in US.
But I'm sure @stepio 's help was useful for you.
Thank you very much, @stepio , for this kind of contribution as well.
Regarding NPE. Well, I think it is a bug and we should fix it as an IllegalStateException and let end-user to know that he/she must send a message to Kafka before flushing the producer.
That's it.
Feel free to raise a PR on the matter to close this issue properly!

@artembilan
Using IllegalStateException seems fair enough. As it's not a high priority task, I can do this myself - approximately within a couple of days.

Well, actually it may be considered as a high priority.
@garyrussell has fixed today some nasty bug and commented there this way:
https://github.com/spring-projects/spring-kafka/issues/135#issuecomment-230486287.
That's not a big deal to push the button for release, but he is on PTO and off-line now, so I need some time to discuss with him about his immediate release idea.
Thank you for considering PR.
(I guess I should stop saying that all the time to you, because you help so much that I only do that like tell "Thank you!" :smile: )

I am not so sure an ISE is necessary; we can simply ignore the flush() if there's no producer - but I don't mind either way.

Well, just make flush() as void to swallow NPE isn't good anyway.
We have to tell end-user that his architecture rickety to use component that way in that state.
If it doesn't not make sense to call flash when we haven't made any sending, it should say about that.
That's why our typical Assert.state(this.producer != null) would be the best compromise.


Tweaks

Coverage remained the same at 93.857% when pulling f2b5f067a30d48b975a2c1032fa2256dbdb2a41a on tweaks into 93bae729e8c9b2f059a4a1ef75d076a8d8d8e7f2 on master.

Coverage remained the same at 93.857% when pulling f2b5f067a30d48b975a2c1032fa2256dbdb2a41a on tweaks into 93bae729e8c9b2f059a4a1ef75d076a8d8d8e7f2 on master.

Coverage remained the same at 93.857% when pulling f2b5f067a30d48b975a2c1032fa2256dbdb2a41a on tweaks into 93bae729e8c9b2f059a4a1ef75d076a8d8d8e7f2 on master.


When a PR has been merged, label the corresponding issue w/ 'validate'

Is this still relevant in our current workflow?

@kimadeline probably not like it was.


Added parallelization

Added the ability to parallelize. It is currently passing on Mac & Ubuntu on my GH Actions but failing for Windows. Although when I test it locally it works.
I have added ncore to the config file so you can control the number of cores from there.
##############################
##  EnKF setup
##############################
ensemble_size:  100 #221 #441
localization_distance: .na #distance in meters were covariances in the model error are used
vert_decorr_length: 5.0
no_negative_states: TRUE
assimilate_first_step: FALSE
ncore: 2

Currently if one core is selected it still creates a folder for each ensemble. Will look into this soon

The one core issue is straightforward to fix.  I can fix it after the merge.  The PR works on my Mac.


Don't have phone country codes disappear upon entry

The phone entry field shows
Phone
+886 1 2345 6789

but when the user tries to fill it in, the +886 disappears, necessitating the user to type it back in for each place in the whole country.

Ohh this is just how placeholder text works in browsers.  It's only displayed as a hint and goes away as soon as the user starts typing.  Even the html5 spec says this.   Sorry!

Please use pre-filled text. It is the same for the entire country.

A textbox with the value already filled in which the user can then edit.

https://stackoverflow.com/questions/30516391/html-input-already-filled-in-text
https://www.w3.org/TR/html5/forms.html#attr-input-value


ex unit

https://drafts.csswg.org/css-values/#ex
https://developer.mozilla.org/en-US/docs/Web/CSS/length#Browser_compatibility

Probably supported "everywhere", in which case a search result would be nice.

+1

+1

+1

Available at https://caniuse.com/#feat=mdn-css_types_length_ex


Remove unnecessary methods.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

@darkdef that could be a use case, but in case you have Params added via join, the setJoin call will not remove them and the query will not work because more params are bound than are used in the query.

@darkdef that could be a use case, but in case you have Params added via join, the setJoin call will not remove them and the query will not work because more params are bound than are used in the query.

More syntetical examples:
$query->join('LEFT', 't1', 't1.id=t2.id')
join can be without parameters

OK. So we aren't removing methods.


[Feature Request] Documentation update

Existing Component
No
Component Name
Documentation
Description
Hello guys,
Any plan to update the online documentation ? It's still locked at 1.2.3.
Thanks !

Hi,
Documentation is up to date for me:
http://element.eleme.io/#/en-US/component/installation


Add v1 of the SDK

Description
This adds the v1 of the SDK for interacting with the Multi-Collateral Mento contracts. Most of the time I spent on this was trying to come up with a simple interface so that consumers don't need to know much about the internals of our contracts.
The SDK is built under two assumptions:

Each exchange has exactly 2 assets
There's only one exchange for a given pair of assets

While I know both of these assumptions won't be true in the future I thought it didn't make a lot of sense to overcomplicate things at the moment when we won't have them at launch. Nonetheless the code should be structured in a way which should make extending to more assets and exchanges relatively easy.
From a consumer perspective the usage will look like this:
const mento = await mento.create(ethersProvider, ethersSigner)

// this is an expensive call since it also fetches symbols for the assets
// but it can be cached by consumers
const pairs = await mento.getTradeablePairs()
//  [
        [{
          address: '0x62492A644A588FD904270BeD06ad52B9abfEA1aE',
          symbol: 'cUSD'
        },
        {
          address: '0xdDc9bE57f553fe75752D61606B94CBD7e0264eF8',
          symbol: 'CELO'
        }],
      ...
    ]

// selling 1 CELO for cUSD
const one = ethers.utils.parseUnits('1', 18)
const amontOutMinQuote = await mento.getAmountOut(
    celoAddr,
    cUSDAddr,
    one
)

// currently not added because I ran into some issues with this while writing e2e tests, but soon
const allowanceTx = mento.increaseTradingAllowance(celoAddr, one)

const tx = await mento.swapIn(
    celoAddr,
    cUSDAddr,
    one,
    amontOutMinQuote
)

And the idea would be that once we have exchanges with 2+ assets or multiple exchanges with different price functions for the same set of assets we can keep the same interface and internally do the job of fetching the correct exchanges and the best quote without passing that burden to the consumer.
Tested
Everything is unit tested under test/
$ dts test --coverage
 PASS  test/util.test.ts
 PASS  test/mento.test.ts
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 |
 mento.ts |     100 |      100 |     100 |     100 |
 utils.ts |     100 |      100 |     100 |     100 |
----------|---------|----------|---------|---------|-------------------

Test Suites: 2 passed, 2 total
Tests:       16 passed, 16 total
Snapshots:   0 total
Time:        6.125 s
Ran all test suites.

I'm working on adding some e2e tests that execute swaps on the different networks for all the exchanges but I ran into some issues related to increasing the allowance before trading. Will add those soon
Related issues

Fixes https://github.com/mento-protocol/mento-core/issues/15

Documentation
No docs written on this yet, will probably create another issue about it to define an acceptance criteria for that. My current feeling is that it makes sense to have the docs in gitbook and link to them in the readme here but I'm curious to hear others opinion.

@jmrossy @bowd Updated addressing all comments except for the providerOrSigner recommendation.
I like this idea but I'm playing around with it locally before making the changes. I'm mainly thinking if we want to just change the create function signature and then internally handle signer/provider separately as we do right now or if we want to use a single signerOrProvider object everywhere, which seems like it should work with ethers and the typechain types.

Pushed the last v1 changes 🚢

The signerOrProvider interface is now used everywhere (+ tests)
Added the increaseTradingAllowance function in the Mento class
Added an e2e sample usage to the readme in the meantime while we update the docs

@bowd updated


importlib.metadata.PackageNotFoundError: riscv-dv

It is more a question than an issue
I install riscv-dv and I can run it, but other users run into this issue by running the same command.
Any idea how to fix it?
/home/xxx/.local/bin/run --test riscv_arithmetic_basic_test --simulator ius -i 1 --target rv32i
Getting this error
Traceback (most recent call last):
File "/home/xxx/.local/bin/run", line 33, in
sys.exit(load_entry_point('riscv-dv', 'console_scripts', 'run')())
File "/home/xxx/.local/bin/run", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
File "/share/common/pkgs/python/v3.9.0/lib/python3.9/importlib/metadata.py", line 524, in distribution
return Distribution.from_name(distribution_name)
File "/share/common/pkgs/python/v3.9.0/lib/python3.9/importlib/metadata.py", line 187, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: riscv-dv

Please try
python3 run.py --test riscv_arithmetic_basic_test --simulator ius -i 1 --target rv32i

[xxx@hw-sh riscv-dv]$ python3 run.py --test riscv_arithmetic_basic_test --simulator ius -i 1 --target rv32i --isa=rv32ima --mabi ilp32
Mon, 22 Mar 2021 00:23:04 INFO     Creating output directory: out_2021-03-22
Mon, 22 Mar 2021 00:23:04 INFO     Processing regression test list : /fac/proj_xxx/xxx/riscv-dv/target/rv32i/testlist.yaml, test: riscv_arithmetic_basic_test
Traceback (most recent call last):
File "/fac/proj_xxx/xxx/riscv-dv/scripts/lib.py", line 63, in read_yaml
yaml_data = yaml.safe_load(f)
AttributeError: module 'yaml' has no attribute 'safe_load'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "run.py", line 1144, in
main()
File "run.py", line 1036, in main
matched_list, cwd)
File "/fac/proj_xxx/xxx/riscv-dv/scripts/lib.py", line 216, in process_regression_list
yaml_data = read_yaml(testlist)
File "/fac/proj_xxx/xxx/riscv-dv/scripts/lib.py", line 64, in read_yaml
except yaml.YAMLError as exc:
AttributeError: module 'yaml' has no attribute 'YAMLError'
Do I need to git pull the latest? Thx


Server datastreams with explicit timestamp transmitted with no timestamp

Server-owned datastreams are transmitted to devices with no timestamp in the BSON file even when the explicit_timestamp is set in the interface definition.
Replicate transmitting a boolean type using CURL:
        curl -v -X PUT -H "Accept: application/json" -H "Content-Type: application/json" \
        -H "Authorization: Bearer $APPENGINE_TOKEN" \
        https://$APPENGINE_URL/v1/$REALM/devices/$DEVICE_ID/interfaces/$INTERFACE/boolean_endpoint \
        --data '{"data" :true}'

The received BSON is the following:
09 00 00 00 08 76 00 00 00

Which in human readable form is:
{ "v": false }

Interface definition to use to replicate this issue: datastream_individual_interface.json
Tested with Astarte v1.1.1.

See also #785 (TL;DR: does explicit_timestamp make sense on server-owned interfaces, as AppEngine API do not provide a way to set it?)


Continuous Integration

Continuous Integration setup

Not sure of this error message
ERROR: Could not find a version that satisfies the requirement gfortran (from versions: none)
ERROR: No matching distribution found for gfortran
##[error]Process completed with exit code 1.

Do you need gfortran for jax?

Not sure of this error message
ERROR: Could not find a version that satisfies the requirement gfortran (from versions: none)
ERROR: No matching distribution found for gfortran
##[error]Process completed with exit code 1.

Do you need gfortran for jax?

Now that error messages is surpassed for 3.7 build. 3.8 is still running

Not sure of this error message
ERROR: Could not find a version that satisfies the requirement gfortran (from versions: none)
ERROR: No matching distribution found for gfortran
##[error]Process completed with exit code 1.

Do you need gfortran for jax?

A quick search seems to suggest that had to do with scipy, and not JAX

The gfortran issue is strange, I never had to install it for scipy. Glad that now tests pass. Merging!


Analyser dosent work in files where it uses an self created class method named "catchError"

Steps to Reproduce

create an class with an method named "catchError".
use this method in another file.
.The analyser/linter dosent work in this file, because it uses the self created catchError method.

Expected results: That the analyser should work. If "catchError" should not be a name of an self created method, the analyser should tell so.
Actual results: Analyser dosent detect errors in the file that uses the self created catchError method.
I have reproduced the error here https://github.com/henrikskul/Flutter_catch_error_bug.
Output of flutter analyze in the project
flutter analyze
Analyzing flutter_catc_error_bug...
No issues found! (ran in 3.1s)

Output of flutter run in the project

logs
flutter run
Using hardware rendering with device Android SDK built for x86. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
lib/ButtonWithoutLinting.dart:15:11: Error: 'the' isn't a type.

          the linter should show an error here

          ^^^

lib/ButtonWithoutLinting.dart:15:15: Error: Expected ';' after this.

          the linter should show an error here

              ^^^^^^

lib/ButtonWithoutLinting.dart:15:22: Error: 'should' isn't a type.

          the linter should show an error here

                     ^^^^^^

lib/ButtonWithoutLinting.dart:15:29: Error: Expected ';' after this.

          the linter should show an error here

                            ^^^^

lib/ButtonWithoutLinting.dart:15:34: Error: 'an' isn't a type.

          the linter should show an error here

                                 ^^

lib/ButtonWithoutLinting.dart:15:37: Error: Expected ';' after this.

          the linter should show an error here

                                    ^^^^^

lib/ButtonWithoutLinting.dart:15:43: Error: Expected ';' after this.

          the linter should show an error here

                                          ^^^^

lib/ButtonWithoutLinting.dart:15:43: Error: The getter 'here' isn't defined for the class 'ButtonWithoutLinting'.

 - 'ButtonWithoutLinting' is from 'package:flutter_catc_error_bug/ButtonWithoutLinting.dart' ('lib/ButtonWithoutLinting.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'here'.

          the linter should show an error here

                                          ^^^^

FAILURE: Build failed with an exception.

* Where:

Script 'C:\dev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 991

* What went wrong:

Execution failed for task ':app:compileFlutterBuildDebug'.

> Process 'command 'C:\dev\flutter\bin\flutter.bat'' finished with non-zero exit value 1

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 14s
Running Gradle task 'assembleDebug'...                             15,4s
Exception: Gradle task assembleDebug failed with exit code 1

flutter doctor -v
flutter doctor -v
[√] Flutter (Channel stable, 2.0.6, on Microsoft Windows [Version 10.0.19041.450], locale nb-NO)
    • Flutter version 2.0.6 at C:\dev\flutter
    • Framework revision 1d9032c7e1 (2 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\henriks\AppData\Local\Android\Sdk
    • Platform android-30, build-tools 29.0.2
    • ANDROID_HOME = C:\Users\henriks\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code (version 1.56.1)
    • VS Code at C:\Users\henriks\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[√] Connected device (2 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 90.0.4430.212

• No issues found!

Hi @henrikskul
Thanks for filing the issue!

logs
[  +25 ms] Running "flutter pub get" in Flutter_catch_error_bug... (completed in 1,554ms)
[ +117 ms] Generating
C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistr
ant.java
[  +43 ms] ro.hardware = ranchu
[  +11 ms] Using hardware rendering with device Android SDK built for x86. If you notice graphics artifacts, consider
enabling
           software rendering with "--enable-software-rendering".
[  +24 ms] Initializing file store
[  +10 ms] Skipping target: gen_localizations
[   +7 ms] Skipping target: gen_dart_plugin_registrant
[   +2 ms] _composite: Starting due to {}
[   +1 ms] _composite: Complete
[   +4 ms] complete
[   +6 ms] Launching lib\main.dart on Android SDK built for x86 in debug mode...
[   +6 ms] C:\Users\Taha\Code\flutter_master\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\Users\Taha\Code\flutter_master\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\Users\Taha\Code\flutter_master\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental --target=flutter
--debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
C:\Users\Taha\AppData\Local\Temp\flutter_tools.cd4f8a37\flutter_tool.923c604a\app.dill --packages
C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\.dart_tool\package_config.json -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root
--initialize-from-dill build\f245b0b7cc30f460f818fcec6bcf01fb.cache.dill.track.dill --flutter-widget-cache
--enable-experiment=alternative-invalidation-strategy
[  +20 ms] executing: C:\Users\Taha\Code\SDK\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
[  +19 ms] <- compile package:flutter_catc_error_bug/main.dart
[  +44 ms] --------- beginning of main
           05-14 17:41:01.973 E/GnssHAL_GnssInterface( 1790): gnssSvStatusCb: b: input svInfo.flags is 8
[   +9 ms] executing: C:\Users\Taha\Code\SDK\platform-tools\adb.exe version
[  +54 ms] Android Debug Bridge version 1.0.41
           Version 31.0.2-7242960
           Installed as C:\Users\Taha\Code\SDK\platform-tools\adb.exe
[   +2 ms] executing: C:\Users\Taha\Code\SDK\platform-tools\adb.exe start-server
[  +28 ms] Building APK
[  +18 ms] Running Gradle task 'assembleDebug'...
[   +5 ms] Using gradle from C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\android\gradlew.bat.
[  +11 ms] executing: C:\Users\Taha\Code\android-studio\jre\bin\java -version
[ +116 ms] Exit code 0 from: C:\Users\Taha\Code\android-studio\jre\bin\java -version
[   +1 ms] openjdk version "11.0.8" 2020-07-14
           OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
           OpenJDK 64-Bit Server VM (build 11.0.8+10-b944.6842174, mixed mode)
[   +1 ms] executing: [C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\android/]
C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\android\gradlew.bat -Pverbose=true -Ptarget-platform=android-x86
-Ptarget=C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\lib\main.dart
-Pdart-defines=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== -Pdart-obfuscation=false -Ptrack-widget-creation=true
-Ptree-shake-icons=false -Pfilesystem-scheme=org-dartlang-root assembleDebug
[+2350 ms] lib/ButtonWithoutLinting.dart:15:11: Error: 'the' isn't a type.
[        ]           the linter should show an error here
[        ]           ^^^
[  +25 ms] lib/ButtonWithoutLinting.dart:15:15: Error: Expected ';' after this.
[        ]           the linter should show an error here
[        ]               ^^^^^^
[        ] lib/ButtonWithoutLinting.dart:15:22: Error: 'should' isn't a type.
[        ]           the linter should show an error here
[        ]                      ^^^^^^
[        ] lib/ButtonWithoutLinting.dart:15:29: Error: Expected ';' after this.
[        ]           the linter should show an error here
[        ]                             ^^^^
[        ] lib/ButtonWithoutLinting.dart:15:34: Error: 'an' isn't a type.
[        ]           the linter should show an error here
[        ]                                  ^^
[        ] lib/ButtonWithoutLinting.dart:15:37: Error: Expected ';' after this.
[        ]           the linter should show an error here
[        ]                                     ^^^^^
[        ] lib/ButtonWithoutLinting.dart:15:43: Error: Expected ';' after this.
[        ]           the linter should show an error here
[        ]                                           ^^^^
[   +1 ms] lib/ButtonWithoutLinting.dart:15:43: Error: The getter 'here' isn't defined for the class
'ButtonWithoutLinting'.
[        ]  - 'ButtonWithoutLinting' is from 'package:flutter_catc_error_bug/ButtonWithoutLinting.dart'
('lib/ButtonWithoutLinting.dart').
[        ] Try correcting the name to the name of an existing getter, or defining a getter or field named 'here'.
[        ]           the linter should show an error here
[        ]                                           ^^^^
[+2199 ms] > Task :app:compileFlutterBuildDebug
[        ] [  +77 ms] executing: [C:\Users\Taha\Code\flutter_master/] git -c log.showSignature=false log -n 1
--pretty=format:%H
[   +5 ms] [  +78 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 9108c06217c2c1363dbc0659048d6f94329adf2a
[        ] [        ] executing: [C:\Users\Taha\Code\flutter_master/] git tag --points-at
9108c06217c2c1363dbc0659048d6f94329adf2a
[        ] [  +52 ms] Exit code 0 from: git tag --points-at 9108c06217c2c1363dbc0659048d6f94329adf2a
[        ] [   +1 ms] executing: [C:\Users\Taha\Code\flutter_master/] git describe --match *.*.* --long --tags
9108c06217c2c1363dbc0659048d6f94329adf2a
[        ] [  +86 ms] Exit code 0 from: git describe --match *.*.* --long --tags
9108c06217c2c1363dbc0659048d6f94329adf2a
[        ] [        ] 2.3.0-1.0.pre-205-g9108c06217
[        ] [   +5 ms] executing: [C:\Users\Taha\Code\flutter_master/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [  +34 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/master
[        ] [        ] executing: [C:\Users\Taha\Code\flutter_master/] git ls-remote --get-url origin
[        ] [  +31 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +56 ms] executing: [C:\Users\Taha\Code\flutter_master/] git rev-parse --abbrev-ref HEAD
[        ] [  +33 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] master
[        ] [  +62 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [ +101 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [   +3 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[        ] [  +43 ms] Initializing file store
[        ] [  +22 ms] Skipping target: gen_localizations
[        ] [  +13 ms] Skipping target: gen_dart_plugin_registrant
[        ] [   +2 ms] kernel_snapshot: Starting due to {}
[   +1 ms] [  +11 ms] C:\Users\Taha\Code\flutter_master\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\Users\Taha\Code\flutter_master\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\Users\Taha\Code\flutter_master\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --target=flutter
--no-print-incremental-dependencies -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false -Ddart.vm.product=false
--enable-asserts --track-widget-creation --no-link-platform --packages
C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\.dart_tool\package_config.json --output-dill
C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\.dart_tool\flutter_build\4b312ede7e44295aeef9638b9864385e\app.dill
--depfile
C:\Users\Taha\StudioProjects\Flutter_catch_error_bug\.dart_tool\flutter_build\4b312ede7e44295aeef9638b9864385e\kernel_sn
apshot.d package:flutter_catc_error_bug/main.dart
[+1855 ms] [+2440 ms] lib/ButtonWithoutLinting.dart:15:11: Error: 'the' isn't a type.
[        ] [   +1 ms]           the linter should show an error here
[        ] [        ]           ^^^
[   +1 ms] [   +4 ms] lib/ButtonWithoutLinting.dart:15:15: Error: Expected ';' after this.
[   +1 ms] [        ]           the linter should show an error here
[        ] [        ]               ^^^^^^
[        ] [   +2 ms] lib/ButtonWithoutLinting.dart:15:22: Error: 'should' isn't a type.
[        ] [        ]           the linter should show an error here
[        ] [        ]                      ^^^^^^
[        ] [        ] lib/ButtonWithoutLinting.dart:15:29: Error: Expected ';' after this.
[        ] [        ]           the linter should show an error here
[        ] [        ]                             ^^^^
[        ] [        ] lib/ButtonWithoutLinting.dart:15:34: Error: 'an' isn't a type.
[        ] [        ]           the linter should show an error here
[        ] [        ]                                  ^^
[        ] [        ] lib/ButtonWithoutLinting.dart:15:37: Error: Expected ';' after this.
[        ] [        ]           the linter should show an error here
[        ] [        ]                                     ^^^^^
[        ] [        ] lib/ButtonWithoutLinting.dart:15:43: Error: Expected ';' after this.
[        ] [        ]           the linter should show an error here
[        ] [        ]                                           ^^^^
[        ] [   +6 ms] lib/ButtonWithoutLinting.dart:15:43: Error: The getter 'here' isn't defined for the class
'ButtonWithoutLinting'.
[        ] [        ]  - 'ButtonWithoutLinting' is from 'package:flutter_catc_error_bug/ButtonWithoutLinting.dart'
('lib/ButtonWithoutLinting.dart').
[        ] [        ] Try correcting the name to the name of an existing getter, or defining a getter or field named
'here'.
[        ] [        ]           the linter should show an error here
[        ] [        ]                                           ^^^^
[+5795 ms] [+5720 ms] Persisting file store
[        ] [   +2 ms] Done persisting file store
[   +1 ms] [   +3 ms] Target kernel_snapshot failed: Exception
[   +1 ms]            #0      KernelSnapshot.build (package:flutter_tools/src/build_system/targets/common.dart:229:7)
[   +1 ms]            <asynchronous suspension>
[   +1 ms]            #1      _BuildInstance._invokeInternal
(package:flutter_tools/src/build_system/build_system.dart:838:9)
[   +1 ms]            <asynchronous suspension>
[   +1 ms]            #2      Future.wait.<anonymous closure> (dart:async/future.dart)
[        ]            <asynchronous suspension>
[        ]            #3      _BuildInstance.invokeTarget
(package:flutter_tools/src/build_system/build_system.dart:776:32)
[   +1 ms]            <asynchronous suspension>
[        ]            #4      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:605:16)
[   +1 ms]            <asynchronous suspension>
[        ]            #5      AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:314:32)
[        ]            <asynchronous suspension>
[        ]            #6      FlutterCommand.run.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command.dart:1090:27)
[   +1 ms]            <asynchronous suspension>
[        ]            #7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #8      CommandRunner.runCommand (package:args/command_runner.dart:196:13)
[        ]            <asynchronous suspension>
[        ]            #9      FlutterCommandRunner.runCommand.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
[        ]            <asynchronous suspension>
[        ]            #10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #11     FlutterCommandRunner.runCommand
(package:flutter_tools/src/runner/flutter_command_runner.dart:232:5)
[        ]            <asynchronous suspension>
[        ]            #12     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
[        ]            <asynchronous suspension>
[        ]            #13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #14     main (package:flutter_tools/executable.dart:91:3)
[        ]            <asynchronous suspension>
[        ] [   +4 ms]
[        ]            #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
[        ]            #1      AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:331:7)
[        ]            <asynchronous suspension>
[        ]            #2      FlutterCommand.run.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command.dart:1090:27)
[        ]            <asynchronous suspension>
[        ]            #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #4      CommandRunner.runCommand (package:args/command_runner.dart:196:13)
[        ]            <asynchronous suspension>
[        ]            #5      FlutterCommandRunner.runCommand.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
[   +1 ms]            <asynchronous suspension>
[        ]            #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #7      FlutterCommandRunner.runCommand
(package:flutter_tools/src/runner/flutter_command_runner.dart:232:5)
[        ]            <asynchronous suspension>
[        ]            #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
[        ]            <asynchronous suspension>
[        ]            #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #10     main (package:flutter_tools/executable.dart:91:3)
[        ]            <asynchronous suspension>
[        ] [   +9 ms] "flutter assemble" took 8,418ms.
[        ] [  +72 ms] ensureAnalyticsSent: 71ms
[        ] [   +1 ms] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 1
[  +35 ms] > Task :app:compileFlutterBuildDebug FAILED
[   +1 ms] FAILURE: Build failed with an exception.
[   +1 ms] * Where:
[   +1 ms] Script 'C:\Users\Taha\Code\flutter_master\packages\flutter_tools\gradle\flutter.gradle' line: 1035
[   +1 ms] * What went wrong:
[        ] Execution failed for task ':app:compileFlutterBuildDebug'.
[        ] > Process 'command 'C:\Users\Taha\Code\flutter_master\bin\flutter.bat'' finished with non-zero exit value 1
[        ] * Try:
[        ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log
output. Run with --scan to get full insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 12s
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
[        ] 1 actionable task: 1 executed
[ +514 ms] Running Gradle task 'assembleDebug'... (completed in 13.0s)
[   +4 ms] Exception: Gradle task assembleDebug failed with exit code 1
[   +1 ms] "flutter run" took 15,411ms.
[   +3 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:664:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command.dart:1090:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:196:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure>
           (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:232:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:91:3)
           <asynchronous suspension>

[  +33 ms] ensureAnalyticsSent: 30ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[   +1 ms] exiting with code 1
PS C:\Users\Taha\StudioProjects\Flutter_catch_error_bug>

Reproduced on the following channels

stable
master

✅
✅

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on Microsoft Windows [Version 10.0.19042.928], locale en-US)
    • Flutter version 2.0.6 at C:\Users\Taha\Code\flutter_stable
    • Framework revision 1d9032c7e1 (2 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java.exe
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.4)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31205.134
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[✓] Connected device (4 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19042.928]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 90.0.818.56

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.3.0-2.0.pre.205, on Microsoft Windows [Version 10.0.19042.928], locale en-US)
    • Flutter version 2.3.0-2.0.pre.205 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 9108c06217 (9 hours ago), 2021-05-14 02:14:03 -0400
    • Engine revision c75ec8ea4d
    • Dart version 2.14.0 (build 2.14.0-115.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.4)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31205.134
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.2.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[✓] Connected device (4 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19042.928]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 90.0.818.56

• No issues found!

@henrikskul would you mind re-filing this in https://github.com/dart-lang/sdk/ so the dart team can take a look?

issue is now re-filled here: https://github.com/dart-lang/sdk/issues/46051

Thanks, @henrikskul! Closing.


Reconsider errorClass implementation

Hey. Thanks for this package.
I noticed the implementation of errorClass here:
https://github.com/stvp/roll/blob/master/client.go#L204
I've been having an issue with the handling of strings as errors. Today, I forgot an if statement (dumb mistake) and caused an error that only happens on production (obviously, my fault), but it generated quite a few identical errors with different error strings. I'm trying to stay on the free tier with this project since it's a hobby project, and in a minute or two it racked up like 2500+ events (more than half for the month), flooded my inbox and our project's Slack channel.
In general, aside from my dumb typo, I think it would be more useful if some other method were used instead of the string checksum trick. For example, timeouts generate this message:
write tcp <IP_ADDRESS>:5000-><IP_ADDRESS>:33893: write: broken pipe

Here's the full raw JSON that was sent to rollbar:
https://gist.github.com/hut8/80557e834856756f6b98
Before I jump into coding and open a PR, what are your thoughts on this? My first thought was that if it really is a string, then errorClass could simply return "string". Or, alternatively, it could base a checksum or something off of the stack trace, or maybe even allow you to specify the class in some other way.

@hut8, sorry for the late follow-up here. I think #8 resolves your problem – can you re-open and provide more detail if not?


MRG, FIX: Fix trans check

Follow-up to #6715 that fixes the other underlying bug (rather than working around it by passing a str).

@drammock feel free to merge if you're happy (Travis should come back happy soon)

thx @larsoner


Update release versions for all readme and build files.

Codecov Report

Merging #1398 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1398   +/-   ##
=========================================
  Coverage     84.19%   84.19%
  Complexity     1475     1475
=========================================
  Files           228      228
  Lines          6795     6795
  Branches        639      639
=========================================
  Hits           5721     5721
  Misses          888      888
  Partials        186      186

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 d2af3dd...c3f2f38. Read the comment docs.

Thanks!


Various transaction verification fixes (testnet up to 4586)

Problem
Changing verifyBlocks to true breaks synchronization with Testnet.
Solution
This set of fixes allows to proceed up to the block number 4586, the block number 4587 fails at APPCALL invocation at the moment, but that's for the next set of fixes (not sure how much time it would take).

LGTM but codecov is angry =/

We'll make it happy, but not today.


SAMM constituent nationality URLs

Don't use per-object constituent nationality URLs like http://data.americanartcollaborative.org/saam/constituent/id/1008/nationality.
Use per-museum URLs like http://data.americanartcollaborative.org/saam/nationality/French

Fixed.
http://data.americanartcollaborative.org/page/saam/thesauri/nationality/american


better request timeout management

Addressing https://github.com/nats-io/nats.java/issues/687

Committed a undesired changed in NatsJetStream so starting over


TransactionRecord.transferList protobuf definition out of sync with testnet

testnet returns transferList via field number 10 in the TransactionRecord protobuf message definition, whereas the current SDK is expecting it in field number 9. At some point these definitions diverged.
The protobuf definition between client and server are incompatible in this regard and the SDK will not return any transferLists to callers.

We're going to fix this by removing the copies of the protobufs here and using the published Maven version of https://github.com/hashgraph/hedera-protobuf as the main source of truth so it doesn't have to be manually kept in-sync.


Require JWT authentication for all routes

Except for some public routes like login, all routes should require a valid JSON web token for an existing user.

please link with #177


subject: short description

u := "https://t.me/toupiao111"
	invite, err3 := client.API().MessagesCheckChatInvite(ctx, u)

	channel, err3 := client.API().ChannelsJoinChannel(ctx, &tg.InputChannel{
		ChannelID:  0,
		AccessHash: 0,
	})

加入这个公共群组 ，我需要ChannelID 和 AccessHash ，目前官网 api上面 没看见通过邀请链接获取的 这个该怎么实现呢

u := "toupiao111"
invite, err3 := client.API().MessagesImportChatInvite(ctx, u)
这样也是一直报hash 错误

Please see userbot example:
https://github.com/gotd/td/blob/2acd01f5c7994c53b060bc28fdcad901d664128b/examples/userbot/main.go#L140-L147
Make sure that you are using resolver cache.
Also, please dont resolve instantly after logging in (e.g. right after start of the program) and be careful, I've got my test account banned while testing cache because I was resolving immediately after start.


Added New Java Complicated Pattern

Here I have added new java complicated pattern by following all necessary guidelines and code of conduct!!

Hey, on my hacktoberfest dashboard on this pull request of this repo, its showing excluded project
below i have attached screenshot!

please @aritraroy24


Tracking issue for manual upstream setting

@jasonkarns I'll take a look at implementing custom upstreams this weekend. I'm thinking something like specifying on a fork a webhook like http://backstroke.us?upstream=user/upstream. Does that fit your use case?

I think it would!

@jasonkarns Give custom upstreams a try with what's live right now (usage is how I described above). Keep in mind that they may still be a little (lotta?) buggy;

Got an error :(
Added the webhook to https://github.com/nodenv/node-build as http://backstroke.us?upstream=rbenv/ruby-build and got:

Uhh, error: Error: The repository nodenv/node-build isn't a fork.

@jasonkarns Hmm, it looks like Github won't let a PR be created between two unrelated repos. If you can think of a workaround, I'll see what I can do but otherwise I'm unsure if I can make this work as you were thinking.

@1egoman Any idea what identifies a "related repo"?

@simenbrekken From my understanding, two repos are related if they both share a common upstream at some point or are a common upstream. For example, if I have repo a and repo b, and repo c is a fork of repo a, then repo a and c are related, and repo b isn't. In addition, if I made a fork of repo c to repo d, repo a, c, and d are all related, while repo b still isn't.
Sorry if that was confusing, let me know if you'd like clarification.

Since this is a Github limitation and there's nothing I can do about it, going to close this.


USD: Specific file cause an unexpected exception

Describe the bug
Loading this file cause an unexpected exception: https://github.com/mwestphal/assets/tree/main/full_assets/StandardShaderBall
Works fine in blender
Warning: in _ReportErrors at line 2885 of /__w/f3d-superbuild/f3d-superbuild/build/superbuild/openusd/src/pxr/usd/usd/stage.cpp -- In </standard_shader_ball_scene/materials/examples/mtlx>: Could not open asset @/home/glow/tmp/assets/full_assets/StandardShaderBall/example_materials/plastic.mtlx@ for reference introduced by @/home/glow/tmp/assets/full_assets/StandardShaderBall/layers/example_materials.usda@</standard_shader_ball_scene/materials/examples/mtlx> -- Cannot determine file format for<EMAIL_ADDRESS>(instantiating stage on stage @/home/glow/tmp/assets/full_assets/StandardShaderBall/standard_shader_ball_scene.usda@ <0x55d062890640>)
Warning: in _ReportErrors at line 2885 of /__w/f3d-superbuild/f3d-superbuild/build/superbuild/openusd/src/pxr/usd/usd/stage.cpp -- In </standard_shader_ball_scene/materials/examples/mtlx>: Could not open asset @/home/glow/tmp/assets/full_assets/StandardShaderBall/example_materials/gold.mtlx@ for reference introduced by @/home/glow/tmp/assets/full_assets/StandardShaderBall/layers/example_materials.usda@</standard_shader_ball_scene/materials/examples/mtlx> -- Cannot determine file format for<EMAIL_ADDRESS>(instantiating stage on stage @/home/glow/tmp/assets/full_assets/StandardShaderBall/standard_shader_ball_scene.usda@ <0x55d062890640>)
Warning: in _ReportErrors at line 2885 of /__w/f3d-superbuild/f3d-superbuild/build/superbuild/openusd/src/pxr/usd/usd/stage.cpp -- In </standard_shader_ball_scene/materials/examples/mtlx>: Could not open asset @/home/glow/tmp/assets/full_assets/StandardShaderBall/example_materials/glass.mtlx@ for reference introduced by @/home/glow/tmp/assets/full_assets/StandardShaderBall/layers/example_materials.usda@</standard_shader_ball_scene/materials/examples/mtlx> -- Cannot determine file format for<EMAIL_ADDRESS>(instantiating stage on stage @/home/glow/tmp/assets/full_assets/StandardShaderBall/standard_shader_ball_scene.usda@ <0x55d062890640>)
Warning: in _ReportErrors at line 2885 of /__w/f3d-superbuild/f3d-superbuild/build/superbuild/openusd/src/pxr/usd/usd/stage.cpp -- In </standard_shader_ball_scene/materials/examples/mtlx>: Could not open asset @/home/glow/tmp/assets/full_assets/StandardShaderBall/example_materials/bubblegum.mtlx@ for reference introduced by @/home/glow/tmp/assets/full_assets/StandardShaderBall/layers/example_materials.usda@</standard_shader_ball_scene/materials/examples/mtlx> -- Cannot determine file format for<EMAIL_ADDRESS>(instantiating stage on stage @/home/glow/tmp/assets/full_assets/StandardShaderBall/standard_shader_ball_scene.usda@ <0x55d062890640>)
F3D encountered an unexpected exception:
Used null prim

Managed to fix the problem but there's now a new issue unrelated to USD: we cannot read EXR files from memory.
I'll open another issue.

https://github.com/f3d-app/f3d/issues/1187

Confirmed now working without texture.

closing as the main issue is fixed


What / how is the ColumnsScript attribute used?

I'm trying to build a report similar to the example "Stored Procedure Grid" and really struggling to get it to work because there are a lot of naming conventions and TS build processes happening behind the scenes that I don't completely understand. At any rate, what does the [ColumnsScript] attribute do and control, and in reference to?
Part of the reason I ask is I have the grid "sort of" working. I can see the postback to the service, data is queried and returned from the List endpoint, but the data that gets back to the browser is just an array of empty objects, ex. [{},{},{}].
A side question - how are the names of the Imports > ServiceTypings >*.tt files generated?

If that is not an empty array but array of empty objects then your Row.cs property names are not matching ones returned from query.


TypeError: An op outside of the function building code is being passed a Graph tensor

System information

Have I written custom code: Yes.
OS Platform and Distribution: Mac OS Catalina: 10.15 (19A602)
TensorFlow installed from: binary
TensorFlow version: 2.0.0
Python version: 3.7.4
GPU model and memory: Intel Iris Pro 1536 MB

Describe the current behavior
I am getting the error

tensorflow.python.eager.core._SymbolicException: Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Tensor 'conv2d_flipout/divergence_kernel:0' shape=() dtype=float32>]

After having gotten the exception

TypeError: An op outside of the function building code is being passed a Graph tensor

See the detailed traceback below.
Describe the expected behavior
No error.
Code to reproduce the issue
from __future__ import print_function

import tensorflow as tf
import tensorflow_probability as tfp

# tf.compat.v1.disable_eager_execution()

def get_bayesian_model(input_shape=None, num_classes=10):
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Input(shape=input_shape))
    model.add(tfp.layers.Convolution2DFlipout(6, kernel_size=5, padding="SAME", activation=tf.nn.relu))
    model.add(tf.keras.layers.Flatten())
    model.add(tfp.layers.DenseFlipout(84, activation=tf.nn.relu))
    model.add(tfp.layers.DenseFlipout(num_classes))
    return model

def get_mnist_data(normalize=True):
    img_rows, img_cols = 28, 28
    (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()

    if tf.keras.backend.image_data_format() == 'channels_first':
        x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
        x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
        input_shape = (1, img_rows, img_cols)
    else:
        x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
        x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
        input_shape = (img_rows, img_cols, 1)

    x_train = x_train.astype('float32')
    x_test = x_test.astype('float32')

    if normalize:
        x_train /= 255
        x_test /= 255

    return x_train, y_train, x_test, y_test, input_shape

def train():
    # Hyper-parameters.
    batch_size = 128
    num_classes = 10
    epochs = 1

    # Get the training data.
    x_train, y_train, x_test, y_test, input_shape = get_mnist_data()

    # Get the model.
    model = get_bayesian_model(input_shape=input_shape, num_classes=num_classes)

    # Prepare the model for training.
    model.compile(optimizer=tf.keras.optimizers.Adam(), loss="sparse_categorical_crossentropy",
                  metrics=['accuracy'])

    # Train the model.
    model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1)
    model.evaluate(x_test, y_test, verbose=0)

if __name__ == "__main__":
    train()

Other info / logs
WARNING:tensorflow:From /Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_probability/python/layers/util.py:104: Layer.add_variable (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.
Instructions for updating:
Please use `layer.add_weight` method instead.
2019-10-25 20:38:32.504579: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-10-25 20:38:32.517426: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fe25e59f290 executing computations on platform Host. Devices:
2019-10-25 20:38:32.517438: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
Train on 60000 samples
Traceback (most recent call last):
  128/60000 [..............................] - ETA: 7:32  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/execute.py", line 61, in quick_execute
    num_outputs)
TypeError: An op outside of the function building code is being passed
a "Graph" tensor. It is possible to have Graph tensors
leak out of the function building context by including a
tf.init_scope in your function building code.
For example, the following function will fail:
  @tf.function
  def has_init_scope():
    my_constant = tf.constant(1.)
    with tf.init_scope():
      added = my_constant * 2
The graph tensor has name: conv2d_flipout/divergence_kernel:0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/nbro/Desktop/my_project/my_module.py", line 63, in <module>
    train()
  File "/Users/nbro/Desktop/my_project/my_module.py", line 58, in train
    model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py", line 728, in fit
    use_multiprocessing=use_multiprocessing)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py", line 324, in fit
    total_epochs=epochs)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py", line 123, in run_one_epoch
    batch_outs = execution_function(iterator)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2_utils.py", line 86, in execution_function
    distributed_function(input_fn))
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 457, in __call__
    result = self._call(*args, **kwds)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 520, in _call
    return self._stateless_fn(*args, **kwds)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1823, in __call__
    return graph_function._filtered_call(args, kwargs)  # pylint: disable=protected-access
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1141, in _filtered_call
    self.captured_inputs)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1224, in _call_flat
    ctx, args, cancellation_manager=cancellation_manager)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 511, in call
    ctx=ctx)
  File "/Users/nbro/Desktop/my_project/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/execute.py", line 75, in quick_execute
    "tensors, but found {}".format(keras_symbolic_tensors))
tensorflow.python.eager.core._SymbolicException: Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Tensor 'conv2d_flipout/divergence_kernel:0' shape=() dtype=float32>]

The problem is apparently related to the layer tfp.layers.Convolution2DFlipout. I know that if I use tf.compat.v1.disable_eager_execution() after having imported TensorFlow, I do not get the mentioned error anymore, but I would like to use TensorFlow's eager execution, avoid sessions or placeholders.
I opened the same issue here: https://github.com/tensorflow/probability/issues/620.

@nbro
I tried reproducing the issue. However i am seeing different errorValueError: No gradients provided for any variable: ['conv2d_flipout/kernel_posterior_loc:0', 'conv2d_flipout/kernel_posterior_untransformed_scale:0', 'conv2d_flipout/bias_posterior_loc:0', 'dense_flipout/kernel_posterior_loc:0', 'dense_flipout/kernel_posterior_untransformed_scale:0', 'dense_flipout/bias_posterior_loc:0', 'dense_flipout_1/kernel_posterior_loc:0', 'dense_flipout_1/kernel_posterior_untransformed_scale:0', 'dense_flipout_1/bias_posterior_loc:0'].Please, find the gist here.Thanks!

@ravikyram Please, use the following dependencies
Package                Version
---------------------- -------
absl-py                0.8.1
astor                  0.8.0
cloudpickle            1.1.1
decorator              4.4.1
gast                   0.2.2
google-pasta           0.1.7
grpcio                 1.24.3
h5py                   2.10.0
Keras-Applications     1.0.8
Keras-Preprocessing    1.1.0
Markdown               3.1.1
numpy                  1.17.3
opt-einsum             3.1.0
pip                    10.0.1
protobuf               3.10.0
setuptools             39.1.0
six                    1.12.0
tensorboard            2.0.0
tensorflow             2.0.0
tensorflow-estimator   2.0.1
tensorflow-probability 0.8.0
termcolor              1.1.0
Werkzeug               0.16.0
wheel                  0.33.6
wrapt                  1.11.2

I only had to install TensorFlow 2 (without GPU support) and TensorFlow Probability with the following requirements.txt file inside an empty virtual environment (which contained only the usual setuptools and wheel packages)
tensorflow==2.0.0
tensorflow-probability

The other dependencies you see above have been installed recursively. You should also try to use Python 3.7 (given that I am using it and I don't have Python 3.6 installed), but I don't think this is the problem. Furthermore, you should try to use Mac OS X (with the specific version above), but I also don't think this is the problem.

@ravikyram , @ymodak Apparently, if I set the parameter experimental_run_tf_function to False when calling model.compile, that is, model.compile(..., experimental_run_tf_function=False), I do not get this error anymore.  There's a related issue https://github.com/tensorflow/addons/issues/428.
What is experimental_run_tf_function exactly supposed to do?
However, while training the model, even though the loss decreases throughout the epochs (from ~911194 to ~8), the accuracy does not increase but slightly oscillates even though it is always very small (it starts at 0.0688 and ends at like 0.1). I've tried this with both TensorFlow 2.0.0. and 2.1.0rc0. I've also tried with both the sparse_categorical_crossentropy and categorical_crossentropy loss functions (of course, in the latter case, I've converted the labels to binary with tf.keras.utils.to_categorical).
On the other hand, if I use the following custom loss function
def neg_log_likelihood_with_logits(y_true, y_pred):
    y_pred_dist = tfp.distributions.Categorical(logits=y_pred)
    return -tf.reduce_mean(y_pred_dist.log_prob(tf.argmax(y_true, axis=-1)))

The accuracy with the validation dataset (which is 0.1 of the training dataset) is more than 0.9 after the first epoch, but, rather than progressively increasing in the next epochs, it oscillates (even though it never goes under 0.9). Maybe this oscillation is due to the fact that I set the parameter validation_split=0.1 of the fit method to specify the fraction of the training dataset to be used for validation, but, according to the documentation of the fit method, the fraction of the training dataset used for validation seems to be selected before training, so, given that apparently that fraction is always the same, this should not be the cause of the oscillation of the accuracy, even considering that the forward pass of the model is stochastic, so, given the same input, the output might not always be the same. According to https://datascience.stackexchange.com/a/38956/10640, the fraction of the training dataset used for validation is selected before training, so it is fixed across epochs, so this should confirm the idea that this is not the cause of the oscillation of the accuracy.
Anyway, I thought that the sparse_categorical_crossentropy and categorical_crossentropy losses should compute something similar to the custom loss neg_log_likelihood_with_logits, but without using tfp.distributions.Categorical, but they probably use softmax. I suppose that these Keras' loss functions just call the corresponding TensorFlow ones.
What is the difference between sparse_categorical_crossentropy (or categorical_crossentropy) and  neg_log_likelihood_with_logits, in terms of functionality or, more precisely, what are the possible causes of these different results (or accuracies)?
For example, in the documentation of the DenseFlipout layer, you provide the following example
import tensorflow_probability as tfp

model = tf.keras.Sequential([
    tfp.layers.DenseFlipout(512, activation=tf.nn.relu),
    tfp.layers.DenseFlipout(10),
])

logits = model(features)
neg_log_likelihood = tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits)
kl = sum(model.losses)
loss = neg_log_likelihood + kl
train_op = tf.train.AdamOptimizer().minimize(loss)

which uses softmax_cross_entropy_with_logits to compute the negative log-likelihood part of the loss. However, the example of the Bayesian neural network https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/bayesian_neural_network.py does something similar to the custom loss neg_log_likelihood_with_logits, that is, it uses TensorFlow Probability's tfd.Categorical.

I think that this issue is related to the parameter kernel_divergence_fn of tfp.layers.Convolution2DFlipout. In fact, if you set it to Noneor you create a custom function that returns the KL divergence, then this issue doesn't occur anymore even without the need for experimental_run_tf_function=False.
As far as I understand, experimental_run_tf_function=False would go back to the previous way of TensorFlow of handling computation (i.e. using multiple paths). Honestly, I still don't get how and why this affects this particular issue with tfp.layers.Convolution2DFlipout (but e.g. not the other Bayesian layers).

This issue doesn't seem to occur anymore with the following versions
tf-nightly             2.2.0.dev20200422
tfp-nightly            0.11.0.dev20200422

Can this be closed since the error is not seen in tf-nightly version? Thanks!

@ymodak I wouldn't close this until the new stable version is released.

TF 2.2 final version has released and this works successfully. Please give it a try. Thanks!


Implement Dropdown changes from reactjs-components upgrade

Here's the scroll event handler working with both native overlay scrollbars and Gemini overlay scrollbars:
Native:

Gemini:

Reviewer: @Poltergeist


Turn -Wconversion -Wsign-conversion back on ❓

It seems we're still cautious about conversions between signed and unsigned integers and conversions of varying lengths. Those two compilation options can assist us in monitoring both behaviors. So, should we turn them back on?
https://github.com/bytecodealliance/wasm-micro-runtime/blob/f1d03db8e58a268e1745ece954b44772c9522349/product-mini/platforms/linux/CMakeLists.txt#L149C1-L149C72

# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wsign-conversion")

warning: conversion from ‘uint32’ {aka ‘unsigned int’} to ‘uint8’ {aka ‘const unsigned char’} may change value [-Wconversion]

warning: conversion to ‘int32’ {aka ‘int’} from ‘uint32’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]

We might use -Werror in CI to make sure we focus on the convention? 🤔

From what I understand, a major reason for turning off those conversion checks is that enabling those options would result in numerous warnings from 3rd-party headers. The important information that we are concerned with would be overwhelmed by these warnings.
Using set_property() can assist us in specifying which files we want to lint. This prevents 3rd-party headers from generating too many unfixable warnings by excluding the source files that will use those headers.
set_property(
  SOURCE ${PASS_LINT_FILES}
  APPEND_STRING PROPERTY COMPILE_FLAGS "-Wconversion -Wsign-conversion"
)


Couldn't find meta-data for provider with authority <package.name>.flutter.image_provider

I'm using image_picker package for uploading user's profile picture.
It is working fine in debug mode but for signed APK (release mode) its showing me the following exception:
Exception

PlatformException(error, Couldn't find meta-data for provider with authority com.cui.adam.flutter.image_provider, null, java.lang.IllegalArgumentException:
Couldn't find meta-data for provider with authority com.cui.adam.flutter.image_provider

Solution Tried

uninstalled and re-installed the app from real-device
flutter clean
downgraded the gradle version classpath 'com.android.tools.build:gradle:3.5.4'

Flutter Doctor
[√] Flutter (Channel beta, 2.0.0, on Microsoft Windows [Version 10.0.19043.1165], locale en-US)
    • Flutter version 2.0.0 at D:\flutter20
    • Framework revision 60bd88df91 (7 months ago), 2021-03-03 09:13:17 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Hamza\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] VS Code (version 1.60.2)
    • VS Code at C:\Users\Hamza\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.27.0

[√] Connected device (3 available)
    • CPH1909 (mobile) • RGMFGAFIYDW8AQ5S • android-arm64  • Android 8.1.0 (API 27)
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 94.0.4606.61
    • Edge (web)       • edge             • web-javascript • Microsoft Edge 94.0.992.38

• No issues found!

Channel beta, 2.0.0

@mhmzdev
You are on very old version of beta. Current one is  beta and master: 2.6.0, stable is 2.5.2. I suggest you to upgrade to latest framework version and try again to see if you still get same behavior or not.
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


WIP: Support Show/Follow for Kubernetes Container Logs

This is the initial version for the ability to follow/tail logs (#235).
Opening an PR for gather early feedback.
I have tried to keep it as DRY as possible.

Thanks!  Can you rebase onto Azure/master please?  Looks like this PR includes all the changes from your previous one, which are now (squash-)merged into master.

Will do.

@itowlson had to abandon this PR due to an rebase issue. Sorry about that. Have opened #237 which is rebased on master.


Is it possible to make the lengths of arrays a bit more explicit

I'm writing some Haskell bindings to VulkanMemoryAllocator, and it would be really nice to have information on the lengths of arrays being passed into commands in VMA, providing the same information that the len attribute in the Vulkan xml spec does.
For example in the below definition, perhaps we could change: @param[out] pAllocations Pointer to array that will be filled with handles to created allocations. to @param[out] pAllocations Pointer to array of allocationCount VmaAllocation values that will be filled with handles to created allocations.
/** \brief General purpose memory allocation for multiple allocation objects at once.

@param allocator Allocator object.
@param pVkMemoryRequirements Memory requirements for each allocation.
@param pCreateInfo Creation parameters for each alloction.
@param allocationCount Number of allocations to make.
@param[out] pAllocations Pointer to array that will be filled with handles to created allocations.
@param[out] pAllocationInfo Optional. Pointer to array that will be filled with parameters of created allocations.

You should free the memory using vmaFreeMemory() or vmaFreeMemoryPages().

Word "pages" is just a suggestion to use this function to allocate pieces of memory needed for sparse binding.
It is just a general purpose allocation function able to make multiple allocations at once.
It may be internally optimized to be more efficient than calling vmaAllocateMemory() `allocationCount` times.

All allocations are made using same parameters. All of them are created out of the same memory pool and type.
If any allocation fails, all allocations already made within this function call are also freed, so that when
returned result is not `VK_SUCCESS`, `pAllocation` array is always entirely filled with `VK_NULL_HANDLE`.
*/
VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryPages(
    VmaAllocator allocator,
    const VkMemoryRequirements* pVkMemoryRequirements,
    const VmaAllocationCreateInfo* pCreateInfo,
    size_t allocationCount,
    VmaAllocation* pAllocations,
    VmaAllocationInfo* pAllocationInfo);

Putting this in the documentation would not be the end of the world, but better yet would be in an attribute on the member/parameter like __attribute__ ((length (allocationCount))), this may be a little too out there though. This would be behind a macro like LEN_ANN(allocationCount) to avoid tripping -Wattributes.
Optionality information I think is complete in the documentation already, but I'm not certain.

Ah, VmaAllocation pAllocations[static allocationCount] exists for exactly this purpose!
And non-optionality can be specified by [static 1] too.


Automated cherry pick of #2801: fix: api gateway logout handler error and fix go fmt issues

Cherry pick of #2801 on release/2.11.
#2801: fix: api gateway logout handler error and fix go fmt issues

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@cdcabd0). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.11   #2802   +/-   ##
==============================================
  Coverage                ?   7.17%
==============================================
  Files                   ?     472
  Lines                   ?   74929
  Branches                ?       0
==============================================
  Hits                    ?    5376
  Misses                  ?   69100
  Partials                ?     453

Flag
Coverage Δ

#aFlag
7.17% <ø> (?)

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 cdcabd0...9f03569. Read the comment docs.

/lgtm

/approve

/lgtm


Update Mojos to resolve artifacts via Aether

According to my Question on the Mailing List I updated the remaining goals to use Aether resolution.
I have two remarks on the changes.

In general there were two ways how artifacts could be resolved. Either via the provided project repositories (default case) or via a repository which is dedicated to the artifact (if not null). The currently provided interface for resolving artifacts via Aether (org.apache.karaf.tooling.features.DependencyHelper) does not provide any way to edit the repositories which are used to resolve artifacts. The resolver always takes the project repositories which are defined as read only. First I thought the right way would be to extend the interface to take a List of repositories to resolve artifacts against. This would allow me to pass the artifact's repository to the resolver. When trying to test my changes I did not find any use case when such an artifact repository is used instead of the project repositories. In the git history I found that this functionality was introduced in 2009 when the Plugin was part of Felix. Bundle URI must have looked like <repo>!<dependency>. I am not sure whether this is relevant any longer. I first made the decision to take back the changes from the interface and remove the functionality to resolve artifacts using their dedicated repository.
I insufficiently tested Goal features-validate-descriptor as linked features can not be resolved. This is a major problem as Karaf Standard and Enterprise features are added to the validation by default (the same applies for 4.0.0.M1).

It's the case on K3 and K4. I close this PR.


Document the -A option

The -A option stems from a previous experiment and is currently not used.  It is confusing in the code, and needs proper documentation.
This should possibly be moved to a test program.  It is not really used. at the moment.

We should use this and generate a test set.  It should be moved to a separate script though, since it will not be used in production.

This is now only in the roulettetest program.


Token refresh on timer

As a user I would like it so my token is refresh every minute so that my API calls are not delayed with an extra round-trip to the server to request a new token.

Closed by #42


[FEATURE REQ] Collect usage data for credential-free plugin for PostgreSQL

Context
When developing the credential-free connection plugin supporting integration between Azure AD and PostgreSQL databases, we should collect the usage data of this credential-free plugin.
Solution

Sync with Azure PostgreSQL team for whether possible to collect usage and how to achieve that.
Implement the telemetry collection if possible.

Close this for duplication with #29222


Add sector_roots benchmark

I added a benchmark for computing the root of a sector. The implementation is not very sophisticated right now and running the benchmark with RUSTFLAGS='-C target-cpu=native' cargo bench results in about 17-18ms on a M2 Pro.
With this benchmark we will have an easy way to verify regressions by simply running cargo bench before the change and afterwards.
Running the benchmark looks like this:
     Running benches/merkle_root.rs (target/release/deps/merkle_root-e48e7ee8a6b77a0d)
Gnuplot not found, using plotters backend
sector_root             time:   [17.797 ms 17.830 ms 17.864 ms]
                        change: [+0.1857% +0.4226% +0.6849%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe

I also tried improving these numbers a bit but it's a bit of an uphill battle against the borrow checker to use the hash_many API of blake2_simd with the way we apply the leaf and node prefixes.

You can get it to around 3ms on mac with rayon
use rayon::prelude::*;

fn sum_leaf(params: &Params, leaf: &[u8]) -> [u8;32] {
    let h = params.to_state()
        .update(LEAF_HASH_PREFIX)
        .update(leaf)
        .finalize();

	h.as_bytes().try_into().unwrap()
}

fn sum_node(params: &Params, left: &[u8;32], right: &[u8;32]) -> [u8;32] {
    let h = params.to_state()
        .update(NODE_HASH_PREFIX)
        .update(left.as_ref())
        .update(right.as_ref())
        .finalize();

	h.as_bytes().try_into().unwrap()
}

/// Calculates the Merkle root of a sector
pub fn sector_root(sector: &[u8;SECTOR_SIZE]) -> [u8;32] {
    let mut params = Params::new();
    params.hash_length(32);

    let mut tree_hashes: Vec<[u8;32]> = sector.par_chunks_exact(SEGMENT_SIZE).map(|chunk| sum_leaf(&params, chunk)).collect();

    while tree_hashes.len() > 1 {
        tree_hashes = tree_hashes.par_chunks_exact(2).map(|nodes| sum_node(&params, &nodes[0], &nodes[1])).collect();
    }

    tree_hashes[0]
}

     Running benches/merkle_root.rs (target/release/deps/merkle_root-cf459af6122d0ea1)
Gnuplot not found, using plotters backend
sector_root             time:   [3.7420 ms 3.9206 ms 4.1350 ms]
                        change: [-80.694% -79.545% -78.246%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
  2 (2.00%) high mild
  6 (6.00%) high severe

@n8maninger added a variation of your proposal. This is the result on my M2 Pro.
     Running benches/merkle_root.rs (target/release/deps/merkle_root-9e0ec57c6e502a76)
Gnuplot not found, using plotters backend
sector_root             time:   [3.1849 ms 3.2125 ms 3.2437 ms]
                        change: [-1.2533% -0.0525% +1.1845%] (p = 0.93 > 0.05)
                        No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe

The change makes sure we reuse the vector instead of collecting one per layer of the tree.


Add a changelog section to README

This will be useful for documenting the API migrations (#6).

It's probably better to use a dedicated file (i.e. CHANGELOG.md) with a link on the README? What do you think?

Alternatively, we could describe changes in the release note since we have to create a new release in order to publish to https://github.com/marketplace?type=actions

I think the "releases" tab approach can work OK, but it's often better to have a separate file, because then you can add notes on what is in master but not released.  But it doesn't super matter; I think what's most important is that the README.md have a link to the changelog so that it's easy to find where we put it.


Consider changing parameter name from no-trash to use-trash

i like a positive option, rather than a negative one.
default would be use-trash=1.

My only gripe with changing to use-trash is the word use.
It feels weird to me. I'll try and explain.
When I run irm -f, I read that in two ways:

Delete the data object permanently
Delete the data object and don't put it in the trash

The text in bold translate to the no-trash option must better IMO
I feel no-trash also matches how people think about this (I have no evidence for this either :-) )

I feel use doesn't convey how people read/interpret removal well. I also don't have a better alternative that includes the word trash.
How do you feel about permanent=0 or permanently=0? (not sure I like the ly)
Here's an idea.
What if we just offered two operations?

op=remove (this moves things to trash collection)
op=remove_permanently (this does what you think)

The downside is that there would be two remove operations. While is clean, it still feels off to me.

well, we're stuck with the trashcan metaphor in the server and in the logical namespace and the rules and the microservices... so leaving it out feels like a confusion-trap as well.  hmm....
no-trash is fine for the reasons you say.     or... perhaps --skip-trash?   meh.

Wondering naively... Why isn't just force considered? Like in other clients and relevant msis, force positive - 'force=1'- deletes permanently (meaning no-trash=1).

No one mentioned that as a possibility and no_trash is what is used by the C++ filesystem lib.
We'll consider force moving forward though.

After some more thought and deliberation... no-trash actually conveys the intent of the option in the clearest and most concise way. I think it's fine the way that it is.

agreed.   i think we're okay to close this.

For future @alanking...
The reason no-trash conveys this the best way - despite having a negation in the name - is because we are instructing the API to bypass the server-defined trash policy. The positive alternative would be use-trash, but this isn't necessarily correct - the server could be configured to not use a trash can (i.e. data is surprisingly gone!). Another way to convey this would be express intent to delete the underlying data no matter what, but what is this really saying? We want to request that the server bypass the trash policy. So, we are really wanting to bypass-trash-policy and delete the data along with the catalog entry. This could be put more concisely as no-trash.


Reuse component if the new path resolves to the same route

What problem does this feature solve?
I'm aware of the watchQuery parameter but it only works for the query parameters. Consider the following case:
/report and /report/10 resolves to the same page component and when the user is in the /report page and saves the report, we redirect the user to the /report/10 but prevent Nuxt to reload the page component as we have all the data and the state is updated.
I tried to use watchQuery but it didn't work so I had to try native history.pushState but it seems to cause trouble in navigation. (user triggered back/forward buttons).
What does the proposed changes look like?
If /report and /report/10 resolves to the same route, when I call $route.push, I should be able to reuse the component so the page reload should not be triggered when an optional flag is enabled.

This feature request is available on Nuxt community (#c8686)

Duplicate of https://github.com/nuxt/nuxt.js/issues/4663

@manniL Unfortunately, the previous issue doesn't provide any reliable solution for this feature.
The first problem with the key approach is that on the latest version of Nuxt, it calls data() so reset the state even though we have key attribute which is a static value.
Also setting the value of key automatically disable the navigation and every $route.push that resolves to the same components ends up being impotent. It would be much better to have an API similar to watchQuery, the purpose of key seems to be different than this use-case. I would vote for the issue to be re-opened.

Makes sense. 👍

I realized that even though I redirect the user to another route, the page redirect doesn't work when key is defined.

Hi @buremba
In this particular scenario, you want to tell Nuxt to not load any asyncData from the matched page when you call this.$router.push('/report/10') right?

Hey @Atinux, correct but the issue seems to be more complex than the asyncData issue. Nuxt doesn't really load pages even though the path resolves to another route.

Hi @buremba
Can you look at my issue https://github.com/nuxt/nuxt.js/issues/5257, Is it related to this discussion?

@webspilka I don't think so. This one is a feature request.

Side note: this would also somewhat help with #4132 because the transition (presumably) wouldn't trigger.

@johnRivs that seems to be the case. I guess that this issue has many side-effects.

Any updates on this issue?

I'm also awaiting updates on this issue, as I'm suffering the consequences of #4132 - API content appears -> transition occurs -> API content re-appears. In my case I can't use beforeMount() as suggested in that issue.

An FYI, it's a hack, but I was able to work-around Nuxt data() refreshing my component data on route change by copying forward the data from the previous life-cycle as folows
export default {
  key: '_bar',
  data () {
    return {
       myVariable: this.myVariable || 'my default value'
    }
  }
}

We also use these tricks as a workaround but it caused other issues in our app. Is there anyone working on this issue? If not, the core maintainers let me know where to look, I can try to create a PR maybe?

Hi @buremba
You need to look into packages/vue-app/packages/vue-app/template/client.js
But his behavior is tricky since it bypasse middleware/validate. What about using the store to keep the last page data and avoid fetching again if the same data?

@Atinux yes, we again found a workaround but it's fragile and causes more issues as we upgrade Nuxt. :( I will look at it when I have time and try to send a PR, thanks!


Is the Realsense R200 no longer supported?

I could not find the R200 mentioned in the release notes of supported devices?

you need go to the legacy branch

I see, thanks.


Update to HEAD

With PARQUET-812

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Catch Touch ID prompt cancel

Hello,
I can't manage to catch if a user canceled the touch ID / password prompt => the key is always returned, as nil if the user canceled the prompt.
That's a major issue because if the key is nil, I (later in the code) assume there is none and so I create it:
=> so in fact I modify it => meaning basically if the user cancel the prompt, its key is updated....
I'm working on a MacOS app.
Any idea? Thanks.
func findKeychainKey(identifier: String) throws -> Data? {
    let keychain = Keychain(service: "XXXX", accessGroup: "XXXX")
    do {
        let findKey = try keychain.getData(identifier)
        return findKey! // always ends here, either the key is found or not, or even if the user cancel the touch ID / password prompt
    } catch (Status.userCanceled) {
        // A user canceled the touch ID / password prompt
        print("The user canceled the touch ID / password prompt.")
        throw KeychainError.userCancelled
    } catch let error {
        print("error: \(error)")
        throw KeychainError.emptyKey
    }
}

__Originally posted by @Ontokrat in https://github.com/kishikawakatsumi/KeychainAccess/issues/338#issuecomment-1016796343__

I have found the solution.
I believe is an issue only on MacOS.
The issue is that when a user cancel the Touch ID / password prompt, SecItemCopyMatching was returning a errSecItemNotFound () instead of a errSecUserCanceled (-128).
https://github.com/kishikawakatsumi/KeychainAccess/blob/6299daec1d74be12164fec090faf9ed14d0da9d6/Lib/KeychainAccess/Keychain.swift#L1845
https://github.com/kishikawakatsumi/KeychainAccess/blob/6299daec1d74be12164fec090faf9ed14d0da9d6/Lib/KeychainAccess/Keychain.swift#L1857
Therefore the result is nil, not an error.
https://github.com/kishikawakatsumi/KeychainAccess/blob/6299daec1d74be12164fec090faf9ed14d0da9d6/Lib/KeychainAccess/Keychain.swift#L619-L630
The query on MacOS needs the attribute kSecUseDataProtectionKeychain set to kCFBooleanTrue.

A key whose value indicates whether to treat macOS keychain items like iOS keychain items.

The data protection key affects operations only in macOS. Other platforms automatically behave as if the key is set to true, and ignore the key in the query dictionary. You can safely use the key on all platforms.

Tip It’s highly recommended that you set the value of this key to true for all keychain operations. This key helps to improve the portability of your code across platforms. Use it unless you specifically need access to items previously stored in a legacy keychain in macOS.

I don't see it as an option in the lib, so it'll need a PR.


Add missing comma in custom enum property hint

Fixing an issue that was causing : #60980 and maybe other issue related to enums.
Property hint in string format was missing the , to separate each value due to a small error on the first boolean handling.

Thanks!