First round of fixes for french langage

Fixes some obvious errors in the translation

Thank you!

Also not directly related but I saw that when translating.
Recommended size for avatar is 60, 60, 10240
https://github.com/forkbb/forkbb/blob/2a78f57a63d3b9e984316acf74b54b3351483362/app/lang/en/admin_options.po#L225-L239
When the default setup make them 160, 160, 51200
https://github.com/forkbb/forkbb/blob/2a78f57a63d3b9e984316acf74b54b3351483362/app/Models/Pages/Admin/Install.php#L1579-L1581

I think it's not a big deal. Each admin can set their own values for their forum. Perhaps the recommended values should be removed from the language files.

Yes, not a big deal: that's why I didn't opened an issue. Just a matter of consistency.
Removing the recommended values would do it !

https://github.com/forkbb/forkbb/commit/907ef1869a70e48469c0b39181098b23dbbb07bb


deprecate v1beta1 api

Add prerelease-lifecycle tags to KubeDescheduler
vendor prerelease-lifecycle-gen
add prerelease-lifecycle-gen targets to Makefile
make generate

Putting this on hold for now as kube-apiserver deprecated api support does not support CRDs.


[FEAT] Dedent list items that are zoomed in on

E.g. this is how Logseq handles this:

obsidian-outliner leaves the list item indented at the same level, which might be inconvenient for deeply indented list items.

@ivan-lednev Thank you for your idea!
This idea already have their own discussion https://github.com/vslinko/obsidian-outliner/discussions/54
Please follow the discussion to stay notified about the progress.
Closing this issue as the duplicate.


Exploding dice with >= miscounted.

/r 1d6>=4! # test

@tresi:  1d6>=4! test = (2, 0 successes) = 0  ## Correct
@tresi:  1d6>=4! test = (5, 1 success) = 1 ## Correct
@tresi:  1d6>=4! test = (6 3, 2 successes) = 2  ## Incorrect
@tresi:  1d6>=4! test = (6 1, 2 successes) = 2 ## Incorrect

Moving the ! earlier seems to work:

/r 1d6!>=4 # test 2
@tresi:  1d6!>=4 test 2 = (6 2, 1 success) = 1 ## Correct

This is a Burning Wheel-style roll, where 4's, 5's, and 6's are successes, with a fate point being spent to explode 6's. In particular, I made a global macro $1D that maps to the above, and I noticed this bug when I tried $1D!.
This source to this is not public? I could attempt to fix this myself, or add some BW-specific changes, like setting a default die size so that '2d' would be sufficient for 2d6>=4 or the like.

The count you're getting is expected given the positional evaluation logic we're using currently.
>=4 only evaluates the rolls that are currently present (to the left of >=4).
And it switches the output from a sum of successes to the count of them.
The confusion is caused, perhaps, by propagating this count of successes mode through the ops.
The current behavior is:
  // Number of successes, exploded (#215).
  // Demonstrating the current behavior. Might want to change some of it.

  mock (&[6, 2]);  // `Six` explodes and adds `two`. Both count because `>= 4` is applied before explosion.
  assert_eq! (dice (&"1d6 >= 4 !".into()) .unwrap(), "(6 _2_, 2 successes) = 2");

  mock (&[6, 2]);  // `Six` explodes and adds `two`. The `two` is filtered out by `>= 4`.
  assert_eq! (dice (&"1d6 ! >= 4".into()) .unwrap(), "(6 _~~2~~_, 1 success) = 1");

  mock (&[6, 2]);  // `Six` explodes and adds `two`. The `two` is filtered out by `>= 3`.
  assert_eq! (dice (&"1d6 >= 4 ! >= 3".into()) .unwrap(), "(6 _~~2~~_, 1 success) = 1");

  mock (&[6, 2]);  // `Six` explodes and adds `two`. The `two` is allowed by `>= 2`.
  assert_eq! (dice (&"1d6 >= 4 ! >= 2".into()) .unwrap(), "(6 _2_, 2 successes) = 2");

And we can probably change it to:
  // Number of successes, exploded (#215).

  mock (&[6, 2]);  // `Six` explodes and adds `two`. Explosion `!` changes the mode back to the sum.
  assert_eq! (dice (&"1d6 >= 4 !".into()) .unwrap(), "(6_+2_) = 8");

  mock (&[6, 2]);  // `Six` explodes and adds `two`. The `two` is filtered out by `>= 4`.
  assert_eq! (dice (&"1d6 ! >= 4".into()) .unwrap(), "(6 _~~2~~_, 1 success) = 1");


Changed warning to be logged by checking instances.

Also added in a check for Django's middleware settings. This allows views
to have the middleware setting applied directly to it without triggering
the log. This is helpful for cases where there are multiple schemas using
different modes of authentication.
References #97

Hi @tim-schilling ,
Thanks for the PR,
I created a new release and I've removed the Django Middleware #125.
I close the PR, if you have any questions please let me know.


ArgumentError in Rails 7.0

You are passing a block expecting two parameters,
so the old hash behavior is simulated. As this is deprecated,
this will result in an ArgumentError in Rails 7.0.
(called from full_messages at /app/vendor/ruby/3.0.0/bundler/gems/russian-630526b320f9/lib/russian/active_model_ext/custom_error_message.rb:45)

agree with that, for the next errors array
[#<ActiveModel::Error attribute=facility, type=blank, options={:message=>:required, :if=>#<Proc:0x00000001117c7998 .rvm/gems/ruby-3.2.3@mt/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/builder/belongs_to.rb:129 (lambda)>}>]

it can't handle properly because here a message is an attribute of an error


⚠ Cioos National CKAN has degraded performance

In 631949d, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 6849 ms

Resolved: Cioos National CKAN performance has improved in 6a99ce6 after 8 minutes.


Upload JavaScript source maps to Rollbar after assets:precompile

This will allow us to have source maps in Rollbar for JavaScript errors.

I think that I used RestClient rather than HTTParty here because HTTParty did not support multi-part file posting at the time (which we need to post the sourcemaps to Rollbar). But now it does.
TODO:

Leverage the fact that HTTParty now has multipart support to drop RestClient dependency


How to derive the from address of a decoded transaction?

The bytesToLegacyTx function does not return the from address of the decoded transaction (see #16). How can the from address be derived from the result?
The encoded transaction below corresponds to this one on the block explorer.
"CpgDCuQCCh8vZXRoZXJtaW50LmV2bS52MS5Nc2dFdGhlcmV1bVR4EsACCvABChovZXRoZXJtaW50LmV2bS52MS5MZWdhY3lUeBLRAQgBEg01MDAwMDAwMDAwMDAwGP3wAiIqMHhEQzViQkRiNEE0YjA1MUJEQjg1Qjk1OWVCM2NCRDFjOEMwZDBjMTA1KgEwMkSiLLRlAAAAAAAAAAAAAAAAejzbI2T5I2mmAsroEWfQZ5CH5qMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAToBVUIgLB9VIqNf1ehvCU+duvAioON8KnG/dm6uyCXm5ftj6G5KIAfE/UfA1uCbKVxlsqYWPgu22ORLlm0aGC3CiKawhcmJEQAAAAAAgGVAGkIweGQ4MmQ0ZmU3YWMzYzczZDYzOTQ5MjBlZGU5NDUzNmQyZjM0ZmU2MTAxYTljZWM5NzQxZmM3OTIzNThjNjlmNWT6Py4KLC9ldGhlcm1pbnQuZXZtLnYxLkV4dGVuc2lvbk9wdGlvbnNFdGhlcmV1bVR4EiUSIwodCgdiYXNlY3JvEhIyMzYxNDUwMDAwMDAwMDAwMDAQ/fAC"
Thanks @hanchon

I just added the example on the proto package, let me know if that works for you!
https://github.com/tharsis/evmosjs/blob/main/packages/proto/example/protoTransactionToEthTransaction.md

@hanchon Works great, thanks a lot!


Offline handling

Issue
When the client is installed as a PWA, and is started when the device is offline, it should show a proper error screen explaining that there is no internet.
If the device goes online, a new authentication attempt should be made without requiring user confirmation.

Resolved in PR #208


Clippy errors

Running the current next branch with cargo clippy -- -D clippy::correctness -D clippy::complexity -D clippy::pedantic -D clippy::nursery -D clippy::perf -D clippy::cargo -D clippy::restriction gives 1425 errors and 4 warnings.
I'm pretty sure some stuff is useful to resolve but not everything
Prob for 3.1 but can later be changed to 3.X or 4.0

I think this is a bit too much and probably doesn't matter
Definitely not for 3.1

Without the restriction bit (it seems all to be documentation problems) it only complains about 118 errors

eh..this still seems not much important

Most of the issues are either docs, opinionated or unimportant

Running the current next branch with cargo clippy -- -D clippy::correctness -D clippy::complexity -D clippy::pedantic -D clippy::nursery -D clippy::perf -D clippy::cargo -D clippy::restriction gives 1425 errors and 4 warnings. I'm pretty sure some stuff is useful to resolve but not everything Prob for 3.1 but can later be changed to 3.X or 4.0

This means nothing because some these lints are meant to be opinionated we actually need a list of lints that we agree with


old ncgen documentation should be removed

The documentation here: https://www.unidata.ucar.edu/software/netcdf/netcdf/ncgen.html
Says:
-c
    Generate C source code that will create a netCDF dataset matching the netCDF specification. The C source code is written to standard output. This is only useful for relatively small CDL files, since all the data is included in variable initializations in the generated program.

But when I try:
 /home/ed/local/netcdf-c-4.7.2/bin/ncgen -c ncdump.out > glm_write_ncgen.c
-c is deprecated: please use -lc

There is no mention of -lc in the docs...

OK, turns out that this is just out of date documentation. @oxelson perhaps you can remove it? It is coming up first on my google searches...

@edhartnett and @WardF -- those docs have been removed and archived offline.  Let me know if you need anything else!

Awesome work Jen!!


Add support for private git(hub) repos

Opening an issue to track this independently from  https://github.com/dependabot/dependabot-core/issues/1461
@feelepxyz can you please close this when it's added?

Can someone explain what this issue is about?
I read the linked thread, but unfortunately still not comprehending... is it somehow related to https://github.com/dependabot/dependabot-core/issues/6015 ?

It looks like this was referring to https://github.com/dependabot/dependabot-core/issues/1461#issuecomment-638899033 where at the time we didn't support private git repos. That has since shipped in https://github.blog/2021-03-15-dependabot-private-dependencies/ and documented in


LNW v2 user guide.

This PR will be appended with usecase documentation. Which will replace content of
es2k-linux-networking.md
es2k-linux-networking-ecmp.md
es2k-linux-networking-ipv6.md
es2k-linux-networking-frr.md
es2k-linux-networking-lag.md


This is the newest zh_CN language file for ae2stuff

I'm closing this issue as part of a spring cleaning of my issue trackers from old stuff.
If you believe it's a bug that is still relevant in Minecraft 1.12 - Feel free to reopen it.


Feat: Add test using Vitest - Part 2

Is your feature request related to a problem? Please describe.
Currently the test coverage for the app is very less.
Describe the Solution You'd Like
Add more test cases to the app.
Describe Alternatives You've Considered
N/A
Additional Context
This would be a part 2 of issue #35

@utk09-NCL please assign this to me, I'd like to work on it


Handle missing version in HTTP request line (a.k.a HTTP/0.9)

I don't know if it's worth pursuing but I came yesterday across a network appliance that seemed to perform malformed HTTP based health checks against our Netty application.
The HTTP requests looked like this GET /\r\n without the version and HttpVersion line 63 was throwing Exceptions.
Turns out it's HTTP/0.9 as per RFC 1945 (see section 3.1)

If the protocol version is not specified, the recipient must assume that the message is in the simple HTTP/0.9 format.

Expected behavior
Actual behavior
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
Netty version
JVM version (e.g. java -version)
OS version (e.g. uname -a)

Oh my.... let me see if we can easily fix this 😂

Am 12.05.2017 um 15:29 schrieb Roger<EMAIL_ADDRESS>I don't know if it's worth pursuing but I came yesterday across a network appliance that seemed to perform malformed HTTP based health checks against our Netty application.
The HTTP requests looked like this GET /\r\n without the version and HttpVersion line 63 was throwing Exceptions.
Turns out it's HTTP/0.9 as per RFC 1945 (see section 3.1)
If the protocol version is not specified, the recipient must assume that the message is in the simple HTTP/0.9 format.
Expected behavior
Actual behavior
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
Netty version
JVM version (e.g. java -version)
OS version (e.g. uname -a)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

You really want to implement HTTP/0.9 from the era of before 1996, when almost no web browser worked correctly?
For example, Chrome removed HTTP/0.9 https://developers.google.com/web/updates/2016/09/chrome-54-deprecations#http09_deprecated

HTTP/0.9 is the predecessor to HTTP/1.x. It lacks many features of its successors. A particular concern for the modern web is its lack of response headers. Without them, there's no way to verify that an HTTP/0.9 response is really an HTTP/0.9 response. This can cause several problems. Examples include, among other problems:

Clients that treat certain error responses as valid HTTP/0.9 responses.
Servers that fail to close the request socket causing clients to treat responses as a hanging GET which either stays alive eternally or until a user navigates from a page that made the request.
Servers that are unable to indicate to the browser that a request failed, which can cause problems with caching heuristics.

The only foolproof way to fix issues with HTTP/0.9 is to remove support altogether. Which is why support for HTTP/0.9 is removed in Chrome 54.

Please think twice before opening a can of worms.

Maybe augment HttpVersion line 63 from throwing IllegalArgumentException("text is empty") to IllegalArgumentException("text is empty, possibly HTTP/0.9") and call it a day.
The confusing thing about this issue was that Netty was sending these HttpRequestDecoder#createInvalidMessage() messages down the pipeline with the decoder state's exception message being "text is empty".

Sounds good... want to do a pr?

Am 25.05.2017 um 16:01 schrieb Roger<EMAIL_ADDRESS>Maybe augment HttpVersion line 63 from throwing IllegalArgumentException("text is empty") to IllegalArgumentException("text is empty, possibly HTTP/0.9") and call it a day.
The confusing thing about this issue was that Netty was sending these HttpRequestDecoder#createInvalidMessage() messages down the pipeline with the decoder state's exception message being "text is empty".
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

@normanmaurer sure, consider it done. :)

👌

Am 25.05.2017 um 17:19 schrieb Roger<EMAIL_ADDRESS>@normanmaurer sure, consider it done. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Fixed by https://github.com/netty/netty/pull/6780


"Property 'mode' is not allowed" warning shows in webpack config

When calling webpack using the node api like so:
 webpack(webpackConfig, (error, stats) => {           // Do stuff     });
I can't find any documentation on how I'm supposed to pass along the mode env (--mode) that has been added in V4.

It is part of the webpackConfig object

Yeah I just now figured that out, what confused me was that setting mode: '..' in the config will throw a warning saying that webpack doesn't allow this. I assume this hasn't been updated?

Could you please post your webpack version and warning message?

the link to 'webpack Options schema' also returns a 404 :)

What is that? We don't have control over IDE Integrations.
But guessing I would say that is IntelliJ https://www.jetbrains.com/help/idea/webpack.html and it is using https://github.com/webpack-contrib/schema-utils to validate webpack options, in that case, Could you please send a PR to https://github.com/webpack-contrib/schema-utils adding that new option?
Thanks!

I explored Jetbrains issue tracker and found https://youtrack.jetbrains.com/issue/WEB-14019#u=1497141261503, it never mentions exactly what is used :/

@Pixelatex What is the link?

https://github.com/webpack/webpack/blob/master/schemas/webpackOptionsSchema.json

I took a look at the node modules folder of webpack, in 'schemas' the WebpackOptions.json doesn't have 'mode'

Yep, just found it https://github.com/webpack/webpack/blob/master/schemas/WebpackOptions.json, the current file have mode option documented, so, it is an error from Jetbrains.
That file was renamed on https://github.com/webpack/webpack/commit/cdd593b8472526ebb46edb85f43e6f414240f122#diff-03af1a9344cf93838ad925ff61de02aa (Nov 11, 2017), maybe you have an outdated version of your editor?

latest version of webstorm but I guess I might have to make a bug report on their end then. Bit strange that the validation seems to be using an older version.

Are you sure you have the latest version of webpack installed, that file have mode option on my computer using webpack 4.1.1

Yeah, it's the latest one but it seems like I misread, mode is indeed in there.

So it seems that they are using the wrong file to validate the schema, maybe from a global installation?
Check your IDE Webpack Settings for any related option that could affect it.

IntelliJ-based products are using bundled copy of the schema. 2017.3.* and lower use schema from webpack 2 which is missing that attribute. 2018.1 will use proper schema depending on the webpack version (WEB-31469).

So many things that won't be fixed until 2018.1, hope they release it soon

@Pixelatex we're releasing Public Preview this week with the full release around the end of month.

@denofevil didn't realise you were part of intelij :p thanks for that info. Been waiting a while for some things!


Some code path doesn't return output for errors in update header file

Describe the bug
Update header file log error when success is false and there is output, or when there is an exception. However, there is no error log during the reproduction of e.g. #6.
To Reproduce
Steps to reproduce the behavior:

Reproduce any of the update header bugs, e.g. #6
Observe no error log in output

Expected behavior
There is error log.
Screenshots
N/A
Additional context
Suggest the code change the error handling/early exit branch to just throw, and the logging code to the throw block.

So it is this branch that isn't returning anything: https://github.com/madskristensen/MIDL/blob/master/src/MIDL/IdlTransformer.cs#L78
IMO even if the header file is not found, we should still see if build result has anything useful to say.

Looked up the doc, there is no built-in mechanism for build manager or build result to provide more output, but build parameters has a logger setter. Ends up implementing build log by adding
                BuildParameters buildParamters = new(projectCollection)
                {
                    Loggers = new List<ILogger> { new FileLogger()
                        {
                            Parameters = $"LOGFILE={Path.Combine(outputBasePath, "msbuild.log")}",
                        }
                    },
                };

So it's now possible to see what went wrong in building _IDL_TRANSFORMER.vcxproj, and the log file would be at $TEMP\VSIXIDL\{project.Name}\VSIX_Metadata_Folder\msbuild.log. We can ask users to navigate to this path if we encounter build failure (resuilt.OverallResult == Failure).
Confirmed the file can be overwritten by the build system upon next build (i.e. clicking update header file again) so no extra book keeping is required here.
Is it a solution you like? @madskristensen If so, I can submit a PR.
cc @asklar

Confirm the build log is present.


pass original mouse event to callback

would it be possible to pass along the mouse event that triggered the opening of the context menu in order to know what is the original element being concerned with the context menu? that would be super helpful

@GeorgianStan sure, i have a calendar, i attach the context menu on the whole calendar. i want to copy paste events, so for the copy event, i need to know which event is under the context menu, and same thing for pasting, i need to know which day.
attaching distinct context menus to all events and rows is just not very practical in my case

If we send the MouseEvent as argument to the callback which is declared for elements inside the menuItem array would work for you?

Ok! I'll work on it and update the library. Thanks for your input!

The library was updated.


Fatal Error in clean install as timber controller is missing

Fatal error: Uncaught Error: Class 'App\Controllers\Timber' not found in /srv/users/serverpilot/apps/chemistry/public/wp-content/themes/chemistry/app/Controllers/AppController.php:82 Stack trace: #0 /srv/users/serverpilot/apps/chemistry/public/wp-includes/class-wp-hook.php(298): App\Controllers\AppController->display_app_header_menu('') #1 /srv/users/serverpilot/apps/chemistry/public/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters('', Array) #2 /srv/users/serverpilot/apps/chemistry/public/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #3 /srv/users/serverpilot/apps/chemistry/public/wp-content/themes/chemistry/header.php(107): do_action('app_header_menu') #4 /srv/users/serverpilot/apps/chemistry/public/wp-includes/template.php(688): require_once('/srv/users/serv...') #5 /srv/users/serverpilot/apps/chemistry/public/wp-includes/template.php(647): load_template('/srv/users/serv...', true) #6 /srv/users/serverpilot/apps/chemistry/public/wp-includes/general-template.php(45): locate_template(Array, true) #7 /s in /srv/users/serverpilot/apps/chemistry/public/wp-content/themes/chemistry/app/Controllers/AppController.php on line 82

Use Timber;
after namespace declaration but before class declaration

Needs both of these so i think add them to the appcontroller by default
use Timber;
use TimberMenu;

ok


Just a precision

The Analysis Board on https://elephantchess.io doesn't support Fairy Stockfish - we use only Pikafish by default for all analysis. But you can select that engine to play against. Also we have a database of games.
Thanks for the mention :)

Ciao Luca. Per la parte di storia e per la parte introduttiva agli xiangqi c'è anche
https://www.amazon.it/dp/B0CNLTKS34
XIANGQI Introduction to Chinese Chess for beginners: The basics Tactics and Strategy Openings Middlegame Endgame History di mia moglie Lin Ye ;-)

@agogugu grazie!
Conosco il libro e, se non sbaglio, è già incluso nella lista nella sezione https://github.com/lucaferranti/awesome-xiangqi?tab=readme-ov-file#introductory-books ?
@benckx thanks for the correction, I am updating some fixes today and will update the section (

Grazie mille Luca,
mi era sfuggito.
Grazie ancora e buona giornata :-)
On Thu, Apr 11, 2024 at 1:36 PM Luca Ferranti @.***>
wrote:

@agogugu https://github.com/agogugu grazie!
Conosco il libro e, se non sbaglio, è già incluso nella lista nella
sezione
https://github.com/lucaferranti/awesome-xiangqi?tab=readme-ov-file#introductory-books
?
@benckx https://github.com/benckx thanks for the correction, I am
updating some fixes today and will clarify that section
—
Reply to this email directly, view it on GitHub
https://github.com/lucaferranti/awesome-xiangqi/issues/1#issuecomment-2049499804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ARYDEVZR4TFDO3KXRJABTY4ZYTZAVCNFSM6AAAAABF57EPSCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBZGQ4TSOBQGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

elephantchess.io inaccuracies fixed in c0bd51c . The websites to play section is now a table, which should make comparison easier, do let me know if I still got something wrong :)

Ciao Luca,
per tua informazione
https://youtu.be/YcjFsELBByI
@.***?si=bGqMZDWfpvopG4rV
Buona giornata
On Thu, Apr 11, 2024 at 1:36 PM Luca Ferranti @.***>
wrote:

@agogugu https://github.com/agogugu grazie!
Conosco il libro e, se non sbaglio, è già incluso nella lista nella
sezione
https://github.com/lucaferranti/awesome-xiangqi?tab=readme-ov-file#introductory-books
?
@benckx https://github.com/benckx thanks for the correction, I am
updating some fixes today and will clarify that section
—
Reply to this email directly, view it on GitHub
https://github.com/lucaferranti/awesome-xiangqi/issues/1#issuecomment-2049499804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ARYDEVZR4TFDO3KXRJABTY4ZYTZAVCNFSM6AAAAABF57EPSCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBZGQ4TSOBQGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


fix(wayland): Not show window inscratch for wayland

For detail, check issue #81

Thanks for the PR. LGTM.

@kgilmer LMK if you have any questions.

Thank you @tuanbass !


upload_symbols_to_crashlytics not working with Firebase/Crashlytics

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I'm trying to automate dSYM upload into Firebase/Crashlytics, but it doesn't work. The same fastlane script works perfectly with Fabric Crashlytics.
Command executed
  lane :upload_symbols do |options|
    download_dsyms(
      app_identifier: app_identifier,
      version: options[:version]
    )

    upload_symbols_to_crashlytics(
      gsp_path: "./inpreview/GoogleService-Info.plist"
    )

    clean_build_artifacts()
  end

fastlane upload_symbols version:"2.3.1"

Complete output when running fastlane, including the stack trace and command used

[17:24:33]: -------------------------------------------
[17:24:33]: --- Step: upload_symbols_to_crashlytics ---
[17:24:33]: -------------------------------------------
[17:24:33]: Extracting '/Users/larryonoff/Develop/Projects/work/in/inpreview-copy/instapreview-2.3.1-279.dSYM.zip'...
[17:24:33]: $ unzip -qo /Users/larryonoff/Develop/Projects/work/in/inpreview-copy/instapreview-2.3.1-279.dSYM.zip
[17:24:33]: Uploading 'f99ab8b0-2478-3868-829f-aa671ed5cdec.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '8a998e4d-bc5f-34b3-9ee8-2c657fedb00b.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '42b93d12-42b4-31e9-a3fe-52759c173b77.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '5aecd2f7-9240-3076-93f8-620fad49d99a.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'e17ccff5-8c37-3651-a5ba-091eb4bd1b73.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'edf0d3bb-2860-3116-a6a3-59c4f5e5672c.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '9a78aa6c-d05b-3d47-a3bc-1f1222aaa737.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'c7d2a741-d6bf-31e9-9266-3494cdbc209b.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '00d8140d-1e9d-3cd6-bc6c-f978d9722329.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '7ff5aae0-5e18-3c55-8bc4-4943c5e85383.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'e1ac9c33-2716-3a87-aef4-c6335c316f64.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'ce234f88-5b8c-35c0-8267-85d184d95576.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '1077c275-9af1-33d6-8487-4ad0fb1e9bd1.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '18660ba7-5640-3b60-8f97-87986f69427c.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '8351d394-a8df-3e39-9eb8-896023829bac.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '6cfbc89f-0ddb-312c-bc45-f5520c1caf91.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '7d0da550-79bc-3fd1-a966-5af79870c56b.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '1298b507-1658-3fca-8872-d8ce5aa39ee7.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'eef986bc-327e-3966-a647-3ad140f50645.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '4efb5150-777b-3c7b-9c29-343938240a86.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading 'a42eb771-1e36-356f-855c-b1fa393530ab.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Uploading '7f8e3be0-b7fb-3cc1-9f13-2c93dd3fca80.dSYM'...
[17:24:33]: Shell command exited with exit status 13 instead of 0.
[17:24:33]: Successfully uploaded dSYM files to Crashlytics 💯

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.15.3

Ruby
2.6.5

Bundler?
false

Git
git version 2.25.1

Installation Source
~/.rbenv/gems/2.6.0/bin/fastlane

Host
Mac OS X 10.15.3 (19D76)

Ruby Lib Dir
~/.rbenv/versions/2.6.5/lib

OpenSSL Version
OpenSSL 1.1.1d  10 Sep 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode-11.4.app/Contents/Developer/

Xcode Version
11.4

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane gems

Gem
Version
Update-Status

fastlane
2.143.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-settings_bundle
1.3.2
✅ Up-To-Date

fastlane-plugin-telegram
0.1.3
✅ Up-To-Date

Loaded gems

Gem
Version

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.2

claide
1.0.3

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.15.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

plist
3.5.0

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

tty-screen
0.7.1

tty-cursor
0.7.1

tty-spinner
0.9.3

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.72.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday
0.17.3

faraday_middleware
0.13.1

fastimage
2.1.7

gh_inspector
1.1.3

json
2.3.0

mini_magick
4.10.1

multi_xml
0.6.0

rubyzip
1.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.5

naturally
2.2.0

simctl
1.6.8

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mini_mime
1.0.2

multi_json
1.14.1

signet
0.13.0

memoist
0.16.2

os
1.0.1

googleauth
0.11.0

httpclient
2.8.3

google-api-client
0.36.4

google-cloud-env
1.3.1

google-cloud-errors
1.0.0

google-cloud-core
1.5.0

digest-crc
0.5.1

google-cloud-storage
1.25.1

emoji_regex
1.0.1

jmespath
1.4.0

aws-sdk-core
2.3.0

aws-sdk-resources
2.3.0

aws-sdk
2.3.0

bundler
2.1.4

mini_portile2
2.4.0

nokogiri
1.10.9

fastlane-plugin-settings_bundle
1.3.2

fastlane-plugin-telegram
0.1.3

generated on: 2020-03-13

we had the same issue. Downloading the files manually from itunesconnect and uploading using the firebase uploader tool that comes with the cocoapod seems to work as a workaround. Not sure if its related to how the files are downloaded or the plugin itself.

I was having this issue and then I realised my Pi-hole was blocking the Crashlytics domain. Once whitelisted it uploaded fine.

@liamjones not our case. We have open network.

Do you have the Fabric dependency in your project? If yes please remove it.

@ppamorim I don't. I removed it as documentation says.

I was having this issue too. After adding app_id parameter to upload_symbols_to_crashlytics call I was able to workaround this.

@eofs do you add app_id and remove gsp_path or you keep gsp ?

@eofs it works!
@tiagoalexbastos Now I have both and it works!

now it looks as FirebaseCrashlytics issue, but not fastlane.

Huh. Funny that it works if you include the gsp_path and app id even though the gsp file includes GOOGLE_APP_ID which is the same value as the app id you would pass in.
But when looking at the source, the app_id and gsp_path can both be added as arguments to the CLI upload tool. Making me think the new ios firebase crashlytics beta upload dsyms CLI tools requires both of these to be added as arguments to succeed?
I could be completely wrong here. My guess from the little research I've done.

As @levibostian pointed out, the app_id & gsp_path can both be added as arguments, but only one will be used with the preference being app_id > gsp_path > api_key (which you can see in the link Levi provided).  Using --verbose really helps to see what's going on.
Problem
I was getting the following error when I included the app_id for the Firebase app
INFO [2020-04-30 15:21:40.38]: Uploading '16b257d4-fe1c-3493-8a05-bf4ee433e3a4.dSYM'...
ERROR [2020-04-30 15:21:40.39]: Shell command exited with exit status 3 instead of 0.

By changing to provide only the gsp_path, I was able to get around the error, but because I use the Fabric SDK still (rather than Firebase Crashlytics SDK), this would still not get my crash reports properly uploaded.  The command would succeed, but checking Firebase & Fabric, it would say the dSYM was still needed.
Solution
The key is hidden in Firebase's Crashlytics dSYM page when you read about their new uploader.
If you're still using the Fabric SDK Cocoapod, you need to update to the latest Fabric version (1.10.0 or higher) & continue to use the api_key in order to upload (also delete the Fabric.app if you have it in your /Applications folder).
Only if you've removed Fabric & put in Firebase Crashlytics SDK should you then use the gsp_path or the app_id keys (with Google suggesting the gsp_path, but the fastlane action will prefer app_id if you provide it).

Hi @abotkin-cpi, thanks a lot!

I'm still not able to upload dSYMs using upload_symbols_to_crashlytics...
I've tried adding both gsp_path and app_id, only gsp_path and only app_id. I'm receiving a feedback that the upload was successful but I can't see it in firebase console:
Successfully uploaded dSYM files to Crashlytics 💯
Example:
  lane :submit_dsym do |params|
    upload_symbols_to_crashlytics(
       dsym_path: params[:dsym_path],
       gsp_path: params[:gsp_path],
       app_id: params[:app_id]
       binary_path: "./Scripts/upload-symbols"
      )
  end

Output:
INFO [2020-05-18 12:31:25.34]: ---------------------------
INFO [2020-05-18 12:31:25.34]: --- Step: opt_out_usage ---
INFO [2020-05-18 12:31:25.34]: ---------------------------
INFO [2020-05-18 12:31:25.34]: Disabled upload of used actions
INFO [2020-05-18 12:31:25.49]: gem 'clubhouse_workflow' is already installed
INFO [2020-05-18 12:31:25.52]: gem 'clubhouse_ruby' is already installed
INFO [2020-05-18 12:31:25.52]: gem 'json' is already installed
INFO [2020-05-18 12:31:25.52]: gem 'google_drive' is already installed
INFO [2020-05-18 12:31:25.68]: ------------------------------
INFO [2020-05-18 12:31:25.68]: --- Step: default_platform ---
INFO [2020-05-18 12:31:25.68]: ------------------------------
INFO [2020-05-18 12:31:29.63]: Driving the lane 'ios submit_dsym' 🚀
INFO [2020-05-18 12:31:29.97]: -------------------------------------------
INFO [2020-05-18 12:31:29.97]: --- Step: upload_symbols_to_crashlytics ---
INFO [2020-05-18 12:31:29.97]: -------------------------------------------
INFO [2020-05-18 12:31:29.97]: Extracting '/Users/dsyms/Cabify.dSYM.zip'...
INFO [2020-05-18 12:31:29.97]: $ unzip -qo /Users/dsyms/Cabify.dSYM.zip
INFO [2020-05-18 12:31:30.42]: Successfully uploaded dSYM files to Crashlytics 💯
INFO [2020-05-18 12:31:30.42]: -----------------------------------
INFO [2020-05-18 12:31:30.42]: --- Step: clean_build_artifacts ---
INFO [2020-05-18 12:31:30.42]: -----------------------------------
INFO [2020-05-18 12:31:30.42]: Cleaned up build artifacts 🐙

Running the command manually, it works and I can see the crashs perfectly in firebase console:
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols  -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

If you're seeing the message Successfully uploaded dSYM files to Crashlytics 💯, it probably means that it was successful. You don't view dsym files in the firebase console. It only tells you when there are missing dsyms. Which, you use the download dsyms action to get them.

@levibostian hey!
Actually no. It's not working! I'm downloading the dsyms at other point of my CI process which I inject in the lane here: params[:dsym_path].
If I manually download it and try to run fastlane submit_dsym  dsym_path: $dsym_path gsp_path: $gsp_path, app_id: $app_id  i keep receiving the success message, but they are not being uploaded (I can confirm it because i still have the alert of missing dsyms for the specific version I'm testing, and I can't see the crashes).
As I said, if I try to upload it using the upload-symbols manually (without fastlane) it works. The alert os missing dsyms disappear and I can see my crashes without problem.
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

I'm still not able to upload dSYMs using upload_symbols_to_crashlytics...
I've tried adding both gsp_path and app_id, only gsp_path and only app_id. I'm receiving a feedback that the upload was successful but I can't see it in firebase console:
Successfully uploaded dSYM files to Crashlytics 💯
Example:
  lane :submit_dsym do |params|
    upload_symbols_to_crashlytics(
       dsym_path: params[:dsym_path],
       gsp_path: params[:gsp_path],
       app_id: params[:app_id]
       binary_path: "./Scripts/upload-symbols"
      )
  end

Output:
INFO [2020-05-18 12:31:25.34]: ---------------------------
INFO [2020-05-18 12:31:25.34]: --- Step: opt_out_usage ---
INFO [2020-05-18 12:31:25.34]: ---------------------------
INFO [2020-05-18 12:31:25.34]: Disabled upload of used actions
INFO [2020-05-18 12:31:25.49]: gem 'clubhouse_workflow' is already installed
INFO [2020-05-18 12:31:25.52]: gem 'clubhouse_ruby' is already installed
INFO [2020-05-18 12:31:25.52]: gem 'json' is already installed
INFO [2020-05-18 12:31:25.52]: gem 'google_drive' is already installed
INFO [2020-05-18 12:31:25.68]: ------------------------------
INFO [2020-05-18 12:31:25.68]: --- Step: default_platform ---
INFO [2020-05-18 12:31:25.68]: ------------------------------
INFO [2020-05-18 12:31:29.63]: Driving the lane 'ios submit_dsym' 🚀
INFO [2020-05-18 12:31:29.97]: -------------------------------------------
INFO [2020-05-18 12:31:29.97]: --- Step: upload_symbols_to_crashlytics ---
INFO [2020-05-18 12:31:29.97]: -------------------------------------------
INFO [2020-05-18 12:31:29.97]: Extracting '/Users/dsyms/Cabify.dSYM.zip'...
INFO [2020-05-18 12:31:29.97]: $ unzip -qo /Users/dsyms/Cabify.dSYM.zip
INFO [2020-05-18 12:31:30.42]: Successfully uploaded dSYM files to Crashlytics 💯
INFO [2020-05-18 12:31:30.42]: -----------------------------------
INFO [2020-05-18 12:31:30.42]: --- Step: clean_build_artifacts ---
INFO [2020-05-18 12:31:30.42]: -----------------------------------
INFO [2020-05-18 12:31:30.42]: Cleaned up build artifacts 🐙

Running the command manually, it works and I can see the crashs perfectly in firebase console:
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
Any update on this issue?!

I'm still not able to upload dSYMs using upload_symbols_to_crashlytics...
I've tried adding both gsp_path and app_id, only gsp_path and only app_id. I'm receiving a feedback that the upload was successful but I can't see it in firebase console:
Successfully uploaded dSYM files to Crashlytics 💯
Example:
  lane :submit_dsym do |params|
    upload_symbols_to_crashlytics(
       dsym_path: params[:dsym_path],
       gsp_path: params[:gsp_path],
       app_id: params[:app_id]
       binary_path: "./Scripts/upload-symbols"
      )
  end

This binary_path, you have it pointing to the /path/to/pods/directory/FirebaseCrashlytics/upload-symbols & not to "./Scripts/upload-symbols" right? Remove app-id & ensure the "binary_path" is either removed or matched to what you're putting in the command below as that's the only differences I see between this & the below command.

Running the command manually, it works and I can see the crashs perfectly in firebase console:
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

Okay, I previously said I resolved my issues by having my Pi-hole unblock crashlytics.com.
While that was an issue I'm still getting some weird dSYM omissions on Firebase Crashlytics and then I have to go do uploads myself.
I'm wondering if this makes a difference; are the people having problems using the legacy Fabric SDK for the new Firebase Crashlytics SDK?. We're using the legacy Fabric SDK here.
Possibly related - we're on the legacy Fabric SDK but our project does have GoogleService-Info.plist in it for Firebase Analytics. Possibly the symbol upload is trying to use the gsp option and that's not working properly with the legacy SDK? I'm just guessing here though...

@liamjones We're using the legacy Fabric SDK, but following the steps I outlined in my earlier post resolved the issue.

If you're still using the Fabric SDK Cocoapod, you need to update to the latest Fabric version (1.10.0 or higher) & continue to use the api_key in order to upload (also delete the Fabric.app if you have it in your /Applications folder).
I still use Fabric SDK, so updating the Fabric SDK, ensuring I use the api_key still for the linked Fabric app, & made sure I deleted the Fabric.app in /Applications ended up resolving my issue & I can see my dSYMs successfully in Fabric & Firebase Crashlytics.

Ensure you're only providing api_key & not gsp_path or app_id as adding either of those will lead to the step claiming success but failing to get it to Firebase properly.

@abotkin-cpi Thanks! We are using a new enough version of the Fabric SDK but are currently calling upload_symbols_to_crashlytics with no parameters and allowing fastlane to work it out. I'll try specifying api_key explicitly and see if that fixes things.

The old way I found to make it work again is to add the app_id. The problem does still exists.


Update Jackson2Annotator to support @JsonFormat annotation.

Jackson supports JsonFormat but the current annotator (Jackson2Annotator) doesn't support it. This would be super useful in case we convert a date-time format string to a Date object. Check this link to see some example.
public class Event {
    public String name;

    @JsonFormat
      (shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss")
    public Date eventDate;
}

Yes, we support the JsonFormat annotation for dates. You just need to set <formatDateTimes>true</formatDateTimes> in your configuration.

Thank you @joelittlejohn for pointing out the documentation. The Gradle plugin documentation is not update. I think we should update the documentation.
I used this configuration to generate code for date-time field, but the current default format is yyyy-MM-dd'T'HH:mm:ss.SSS. I think it is following ISO-860 format.  Ideally it should have followed the RFC-339 format.
I tried to look jsonSchema standard documentation and did find any reference of customDateFormat field. Is customDateFormat part of standard jsonschema?
I don't want to use customDateFormat because the schema is shared between different teams who generate code in different languages and may not like to add a custom field.

@rakeshcusat no, customDateFormat is not part of the standard. There are a variety of 'extension' properties that this library provides, and since the standard allows any additional properties to be included there is no conflict there.
I'm not sure what you mean about the how the format should have followed RFC-3339. Can you elaborate about how you'd like the default date format to be different? RFC-3339 is a subset of ISO 8601 and the dates we produce are valid RFC-3339 dates.

I can understand not wanting to add the custom property to your schema though. Another option you have here is to ignore the formatDateTimes configuration option and instead configure the your Jackson ObjectMapper to set the format you want globally.


[No QA] Implement the SubScript avatar for workspace money requests

Sorry, I did a refactoring that ended up being much larger than I had intended when I moved the policy collection to be inside of ReportUtils. That's really going to speed up all those components that no longer are connected to the collection though.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/278889
Tests

Update ReportActionsList.js to set shouldShowSubscriptAvatar={true}
Open a chat with a workspace and send a message
Verify that the avatar shows with the workspace avatar as a subscript (all we're doing here is verify that the subscript avatar is displayed and it's the correct workspace avatar)

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

Offline tests
None
QA Steps
None. This can't be QA'ed yet because there is no way to request money from a workspace at this point.

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@aimane-chnaif @deetergp One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Code looks good and tests well on web.

@aimane-chnaif the subscript avatar should only show when requesting money, but that functionality is not yet available so we are hardcoding test steps. As for the tooltip, I agree that we should add it for the workspace avatar

ok so you mean that request money won't available at all in policy expense 1:1 chat?

It will be, but the feature is not ready yet.

Regarding the tooltip, I can add it, but we weren't using tooltip on the normal <Avatar> in that component either. So, it seems weird to use tooltips on <SubscriptAvatar> but not <Avatar>. I think we should add the tooltips to both or to neither of them, and since they didn't exist previously on <Avatar> I would probably choose to leave them off of <SubscriptAvatar> for now.

Right, Thanks. I'm saying, we should NOT add tooltips because we aren't displaying tooltips here in the first place.

because we aren't displaying tooltips here in the first place.

OK, I totally missed that we ARE using tooltips now (I missed the <Tooltip> component because I only looked inside the <OfflineWithFeedback>. So, I'll add the tooltips to the subscript too

OK, updated with tooltips:
https://user-images.githubusercontent.com/1228807/235523524-97e909b0-25a6-4f87-92b2-8fa29a939f25.mp4

🎯 @aimane-chnaif, thanks for reviewing and testing this PR! 🎉
An E/App issue has been created to issue payment here: https://github.com/Expensify/App/issues/18260.

Yes, it seems like all system messages will use this avatar.

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

🚀 Deployed to staging by https://github.com/luacmartins in version: 1.3.9-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Slow loading times on Operations.Receive

Hi,
we are currently having issues with long loading times within unity with the latest connector.
When we are getting an object with ~10k objects then we need to wait ~4min (at least!) for just the Receiving operation of speckle.
The algorithm which generates the game objects from the base object only takes around ~30seconds which is really good for that amount of objects.
The problem is at file Receiver.cs @ line 134.
        var @base = await Operations.Receive(           objectId,           remoteTransport: transport,           onErrorAction: OnErrorAction,           onProgressAction: OnProgressAction,           onTotalChildrenCountKnown: OnTotalChildrenCountKnown,           disposeTransports: true         );
Nearly the same code which I reproduced on .NET Core 3.1 Console Application with the latest NuGet package of speckle core only needs ~45seconds.
Why is it so slow? Is it a known problem? What can I do to speed it up?
We are using the connector within an application for an 3d cave environment with a customer.
Later on we want to load even larger models, the customer already told us that he experienced loading times up to 40 minutes.
The test above were taken both from our cave application and the provided unity speckle playground. There was no difference in performance.
I also tried to upgrade the speckle connectors speckle sharp dlls manually to the latest version, which also didn't help. Same issue.
Tested on hardware:
11th Gen Intel Core i7 1165G7 @ 2,8GHz
16GB DDR4 RAM 3200MHz
SSD
Integrated Graphics

After some further testing, I am noticing some quite significant slowness even in Unity 2021.
Compared with a .NET project, the Deserialisation appears to be around 10x slower in Unity 😢 not good.
Going to do some more rigorous measurements, and continue investigating.

I've tested it with unity 2019, 2020 and 2021 each with mono and il2cpp scripting background. There was no measureable performance difference.
What's strange: Shouldn't the models be cached? Then the second loading time should be much faster than the first, but it is not.
Unfortunately, I can not share the model, as it is a model from the customer.

hi, I might be able to help clarify what's happening here. I don't think the issue with Operations.Receive but with the conversion routines from a speckle stream to native unity geometry.

The algorithm which generates the game objects from the base object only takes around ~30seconds which is really good for that amount of objects.

This part ends up happening after the receive command has completed and starts dropping all the speckle data into the conversion process, and then I'm assuming that's where the long 20-40 minute delays are coming in. It doesn't matter if the geometry is cached locally on your machine, the conversion process still needs to rebuild all the speckle goodness into the unity scene. The converters are currently all bound to run on the main unity thread, and also have a few steps for serializing a speckle object that are creating the bottleneck.
I have some PR's coming in the near future that will address these issues. In the meantime, @LukasKlepper how are you using the connector? Is it for visualization purposes? If you don't need to worry about the properties of your objects and you're comfortable with jumping around the code you could comment out the part in the converter that uses SpeckleProperties, that would reduce the conversion overhead a bit.

Hi @haitheredavid ,
thanks for you answer. So correct me if im wrong:
the line Receiver.cs@134 takes part of getting all the data from the speckle server. Thats just the base informations which later on will be converted to game objects which get feeded with the speckle properties. We also use that exactly same method in other applications which build up on speckle, but in asp.net core server applications rather than unity. In other projects this method is very fast (~30 seconds for the same model as in unity)
the line Receiver.cs@142-152 takes those informations from the base object and then converts this base information to unity game objects ands adds the speckle properties to it. It gets queded by the Dispatcher to the main thread as only there you can build game objects or access specific api calls. Of course thats slower than multi-theading but I think thats the way unity currently works on the classical API. I'm not a unity expert so thats a pure idea: Maybe Unity DOTS is a way how those game objects could be built up multi threaded? I've never done it so I dont know if that could solve the problem of conversion process, but as you will later on read, thats (for me) not as much of a problem.
I've debugged the code with visual studio and got to the point where I moved trough it via procedure steps (so for every new call I needed to press it manually). For the timing I grabbed my phone and stopped the watch for the time I've started the method and when it arrived at the next call.
Thats the way I calculated (debugged) that the lines:
134: var @base = await Operations.Receive(...) takes around ~4min
146: var go = rc.ConvertRecursivelyToNative(@base, commitId); takes around ~30 seconds (sometimes its longer, but no longer than one minute)
for a model with ~10k objects in both Unity 2020 and Unity 2021.
Is that a wrong way to calculate it? Did I make an mistake? Or is Operations.Receive already doing a conversion in the background?

To answer your question: We are currently visualising a model to walk through it like in a vr application but in a cave. Later on there will be also the need to select objects and look at the speckle properties, so removing those properties is not a solution.

@haitheredavid Hi there,
i've just retested it, the operation now took 250 seconds with stopwatch for just the receiving part of speckle. I dont know why its so slow. Also interestingly I cannot even load the model in speckle.xyz. Its just loading forever. The model comes out of revit, its ~10k mep objects.
Code used to benchmark:
133: var transport = new ServerTransport(Client.Account, StreamId);
134: System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
135: Debug.Log("Starting stopwatch Operations.Receive().");
136: sw.Start();
137: var @base = await Operations.Receive(           objectId,           remoteTransport: transport,           onErrorAction: OnErrorAction,           onProgressAction: OnProgressAction,           onTotalChildrenCountKnown: OnTotalChildrenCountKnown,           disposeTransports: true         );
145: sw.Stop();
146: Debug.Log($"Stopped stopwatch Operations.Receive(). Stopwatch took {sw.Elapsed.TotalSeconds} seconds.");
The properties are there, after the stopwatch finished it just took seconds before the model was shown in unity. I dont think its a problem with the unity converter rather than the communication in the DLL between Unity and Speckle. Maybe its because its mono underneath and not native .net?

As of the performance things we already knew that, thats why our customer machine is very beefy:

gpu 2x RTX 3090
cpu 5950x
32 gb ram
ssd

Im sure it should be able to handle even more objects than ~10k as they are all static, but correct me if im wrong.
Im looking forward to the DOTS support, I always wanted to try it :)

Hi, are there any news up on this issue? Our problem still exisits within unity.

Hi, are there any news up on this issue? Our problem still exisits within unity.

Hi @LukasKlepper,
If you have time, please could you try the latest version of the Unity Connector.
I've made several improvements to the editor time receiving process that should have some noticeable speed-ups on receive performance.

For now, just the editor Speckle Receiver component has these improvements.
In a future update, I would like to consolidate these components with the runtime receiving components used in the Playground sample project.

When you get the chance, I'd greatly appreciate any feedback.
If you still think we need to improve performance, I can re-open this issue in our sharp SDK repo.


Remove unnecessary test

Closes: https://github.com/osmosis-labs/osmosis/issues/4703
What is the purpose of the change
Remove unnecessary RL test
Brief Changelog
Remove unnecessary RL test
Testing and Verifying
all tests pass
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? (yes / no)
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? (yes / no)
How is the feature or change documented? (not applicable   /   specification (x/<module>/spec/)  /  Osmosis docs repo   /   not documented)

Thank you


Is it possible to get immediate feedback without refreshing?

Just like in Inventing on Principle, I want to be able to change values and immediately see how effects how my visualization changes.

I second this. I think plugging into something like livereload would be super cool.

What do you mean? If the "swap" button is on, you should just have to save the file. Is this not the case? Do you mean something different?

I think he means without going to the debugger

Just like how figwheel works on Clojurescript apps. I hit save, renders change, state remains unchanged unless mutated (not reset to the beginning).

Tracking in #193, follow along there!


Wa/web/feature/web timeline view 340

[x] TimelineViewHomePage:

The HomePage displays a dynamic selection of posts, providing a snapshot of diverse content. It integrates user details like username and post creation time for a comprehensive timeline view.

[x] TimelineViewExplorePage:

Explore Page curates diverse content with random posts and tags, offering users a gateway to discover new and intriguing topics.
User.json Modifications:
Enriched user profiles with details like interests, follower counts, and following counts for a more engaging and personalized application experience.
Note:
I forgot to switch branches while changing follow modals.
In fact, this pull request doesn't have direct connections with the links.
I realized this later.

@alabeybahri
Could you please check for the conflict change?
This is my first time trying to resolve it. It seemed OK to me.


Fixed multiline source code , added build and check dependencies

The parser for APKBUILD should be refactored, as soon as the datamodel and use case is defined.


OpenWRT: netopeer2-server fails with error Server init failed

Hi,
Below are the packages build for OpenWRT 18.06 and on installing them, netopeer2-server failed to start with error "Module "ietf-netconf" feature "writable-running" not enabled in sysrepo.". Even tried cleaning up /etc/sysrepo/ and then reinstallation.
libev_4.22-1_x86_64.ipk
libnetconf2_0.12-r1_x86_64.ipk
libpcre_8.41-2_x86_64.ipk
libprotobuf-c_v1.3.0-1_x86_64.ipk
libredblack_0.2.3-a399310d99b61eec4d3c0677573ab5dddcf9395d_x86_64.ipk
libssh_0.7.5-1_x86_64.ipk
libsysrepo_0.7.7-5_x86_64.ipk
libyang_v0.16-r2-2ec826a984204d034f43a7ad72d835bc99974ede_x86_64.ipk
netopeer2-cli_0.7-r1-3_x86_64.ipk
netopeer2-keystored_0.7-r1-3_x86_64.ipk
netopeer2-server_0.7-r1-3_x86_64.ipk
openssh-keygen_7.7p1-1_x86_64.ipk
protobuf_3.3.0-1_x86_64.ipk
sysrepo_0.7.7-5_x86_64.ipk
sysrepocfg_0.7.7-5_x86_64.ipk
sysrepoctl_0.7.7-5_x86_64.ipk
Wjhile installing netopeer2-server package , observed below error
Enabling feature 'url' in the module 'ietf-netconf'.
[ERR] Error by processing of the feature-enable request (session id=1434141376): Requested schema model is not known.
[ERR] Error by processing of the request.
Error: Requested schema model is not known
Please suggest on how to proceed further.

Hi,
have you properly executed all steps of netopeer2-server installation? It should install ietf-netconf before trying to enable all these features, it seems this did not happen in your case.
Regards,
Michal


asp should be installable using setuptools or pip

First, stencil needs to be separated out into a new repository.  Then, asp's current setup.py needs to be refactored using best practices so it is installable using pip.

Need to add mock and discover as requirements.


SodaCL: A failed regex check causes a SELECT * query which fails due to data size

Using open source SodaCL against Databricks data frames
Running an invalid_count check with a valid regex definition causes a SELECT * after the initial test. This second query fails due to the breadth and size of the table. 100 columns and 31M rows.
I am not interested in the sampling of failed rows. Need a way to suppress this second query.
INFO   | Soda Core 3.0.4
DEBUG  | Scan execution starts
DEBUG  | Query test_df.test_df.aggregation[0]:
SELECT
COUNT(CASE WHEN NOT (ds2_admin_date IS NULL) AND NOT (ds2_admin_date rlike(’^\d4-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$‘)) THEN 1 END)
FROM test_df
DEBUG  | Query test_df.ds2_admin_date.failed_rows[invalid_count]:
SELECT *
FROM test_df
WHERE NOT ds2_admin_date IS NULL AND NOT ds2_admin_date rlike(’^\d4-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$‘)
ERROR  | Query error: test_df.ds2_admin_date.failed_rows[invalid_count]: An error occurred while calling o1256.collectToPython.
: org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of 10 tasks (4.1 GiB) is bigger than spark.driver.maxResultSize 4.0 GiB.
Running a check which passes
INFO   | Soda Core 3.0.4
DEBUG  | Scan execution starts
DEBUG  | Query test_df.test_df.aggregation[0]:
SELECT
COUNT(*)
FROM test_df
INFO   | Scan summary:
DEBUG  | 1/1 query OK
DEBUG  |   test_df.test_df.aggregation[0] [OK] 0:04:14.024403
INFO   | 1/1 check PASSED:
INFO   |     test_df in test_df
INFO   |       row_count > 1 [PASSED]
INFO   |         check_value: 31618722
INFO   | All is good. No failures. No warnings. No errors.

Adding scan._configuration.sampler = None seems to resolve the issue in the short term

Update - while setting scan._configuration.samples = None works for the simple COUNT() measures, it causes any failed rows or reference check between tables to fail with issues referencing the None value. So this is only a partial workaround.

numeric and duplicate checks have been refactored to work much better with large data sets, reference checks are in our backlog to be refactored as well.


Added Dataset collector exporter to the registry

In this PR - https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/22154 - I have added the final PR.
Based on the instructions here - https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md - I would like to ask you for adding this component to the registry.

Maybe this PR is not needed - since dataset is already part of this PR - https://github.com/open-telemetry/opentelemetry.io/pull/2756/files#diff-f3e17c8e81f56a12933bb502affd495a26edd5063621a5ec535810ac0cbce765

@svrnm : Thanks for merging :)


we have a question about asynchronous request data issues?

If I scroll too fast, the older request has not yet been completed, will it be requested in sequence? For example, if I scroll from 2 to 5, will components request 2,3,4 in order or directly request 5 of the data?

this question is about infinite-scroller

Yes it will fetch 2, 3, 4 and 5, as explained in the comment.

thanks


How to calibrate all nozzles z,x,y offset?

How to calibrate all nozzles z,x,y offset?
In case of prusa XL, It has probe.
https://youtube.com/shorts/5ZyMBhFUcWE?si=2teC6oXOfSA0gv8v

Nozzles calibration is done using Nudge. Its in the github
https://github.com/zruncho3d/nudge


[HOLD for payment 2023-04-27] Concierge Icon is not SVG

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

The concierge icon is referencing a PNG on cloudflare, but we should be using our local SVGs.

Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @alexxxwork
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1681739871513039
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0150e4f6bb1a38536b
Upwork Job ID:<PHONE_NUMBER>908111872
Last Price Increase: 2023-04-17

Triggered auto assignment to @abekkala (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Job added to Upwork: https://www.upwork.com/jobs/~0150e4f6bb1a38536b

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Triggered auto assignment to Contributor Plus for review of internal employee PR - @mananjadhav (Internal)

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.2-5 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/17501

If no regressions arise, payment will be issued on 2023-04-27. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@mananjadhav] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@mananjadhav] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@mananjadhav] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@abekkala] Determine if we should create a regression test for this bug.
[ ] [@mananjadhav] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@abekkala] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Internal Job
Pay out will be to @mananjadhav for PR Review
@grgia I noticed above it says:
Issue reported by: Alex Dv
Who is that? Do they need the reporting payout?

@abekkala it was reported here -> https://expensify.slack.com/archives/C01GTK53T8Q/p1681739871513039
I'll ask them to comment on this issue so we have the correct information

Internal Job
Pay out will be to @mananjadhav for PR Review
@grgia I noticed above it says:
Issue reported by: Alex Dv
Who is that? Do they need the reporting payout?

It's me. Could you share the upwork job link?

@mananjadhav I've sent you the $1000 contract for this PR Review in Upwork
@alexxxwork the job link is above: https://www.upwork.com/jobs/~0150e4f6bb1a38536b
I wasn't able to find you in Upwork with the names provided here. You can apply and then I'll hire and extend contract

@abekkala I've applied for the job.

@mananjadhav Paid and Contract Ended - thank you! 🎉

@abekkala I have no access for this job. My upwork profile is https://upwork.com/freelancers/~01558071651a8abfb5

@alexxxwork I sent you a contract in Upwork for the reporting payout [$250]

@alexxxwork can you accept the offer in Upwork so I can pay it out and get this closed out?

@abekkala Sure, I've accepted your offer


Add SQS support to intel modules

This change adds support for syncing in AWS SQS queues, adding a relation from the account to the queue, and a relation between queues and their dead letter queues. It also syncs tags for SQS queues.

During a production run of this module, I found an exception I need to catch. Let me fix that really quick.

ok. done!


2 concurrent recorders on RaspberryPi?

I have this code that I want to execute:
let fs = require('fs')
let record = require('node-record-lpcm16');
let {Detector, Models} = require('snowboy');

let models = new Models();

models.add({file: 'resources/francisco.pmdl', sensitivity: '0.5', hotwords : 'francisco'});

const detector = new Detector({
  resource: "resources/common.res",
  models: models,
  audioGain: 2.0
});

detector.on('hotword', function (index, hotword) {
  if(hotword === 'francisco') {
    let file = fs.createWriteStream('command.wav', { encoding: 'binary' })
    record.start({
      sampleRateHertz: 16000,
      threshold: 1,
      silence: '1.0',
      verbose: true
    }).pipe(file);
  }
});

record.start({
  sampleRateHertz: 16000,
  threshold: 0,
}).pipe(detector);

console.log('Listening...');

The recorder thats piped detector works, but when the hot word is detected and the 2nd recorder is initiated, the 2nd recording stops recording immediately (meaning no audio was even recorded). Now there was this one time I was running this script and instead of exiting I stopped it (so it was running in the background) and I went to use rec temp.wav and I got an error saying that the device was busy, yet this script works perfectly fine on my OSX as I was able to initiate both recorders.
So is this an issue with the library, RaspberryPi (3), or my microphone USB?

Unfortunately, this isn't going to work because node-record-lpcm16 is essentially a singleton internally.

Is there a reason why node-record-lpcm16 works with 2 concurrent recordings on OSX if its singleton by design?

This logic right now seems to be attempting to save audio to a file when a hotword is detected. The problem is multiple hotwords are going to attempt overwrite the command.wav file each time.
I guess I'm not sure what you're trying to accomplish with your code.  It might make sense to back up and explain your high level goal.

It's like Amazon Alexa, You'd say a hot word like 'Alexa' then the script records audio and whatever you say after the hotword is recored to command.wav, then that audio file is your command
I.E:
'Alexa, Whats the Weather?' Then 'Whats the Weather' would be saved in command.wav and the outer recording would continue to hear for more 'Alexa's to record more commands

@Vikaton this is pseudo code, but I think it will give you the type of structure you're looking for. there's an idle mode, which listens for hotword, and a record mode, which streams wav audio to a file. It ping pongs back and forth between these 2 modes:
const fs = require('fs')
// TODO: snowboy setup here

function idleMode() {
  console.log('listening for hotword')
  let detector = snowboy()

  detector.on('hotword', function(index, hotword) {
    record.stop()
    console.log('detected hotword, recording audio')
    recordingMode()
  }))

  record.start().pipe(detector)
}

function recordingMode() {
  const out = fs.createWriteStream('out.wav')

  record
    .start()
    .on('close', function() {
      console.log('finished recording audio')
      idleMode()
    })
    .pipe(out)
}

idleMode()

I think I tried this earlier with my rPi but didnt wait for the recording to stop so it exited the application, thanks! Will try again but with better device handling

Issue was that I needed the declaration of detector in idle() Thank you!

glad it worked! :)

@Vikaton Would you mind posting you working code? I'm trying to achieve something very similar (on Mac right now, but eventually Pi or something close) and the process is exiting after ~5 seconds or so.

I just tired your exact code and its not exiting, maybe an issue with the recording program itself?


Fix google closure compiler warning

This fixes https://github.com/funcool/bide/issues/17. While it's true that toString.call(x) is not incorrect (because everything, including window, inherits from Object), this

removes the warning emitted by Google Closure Compiler because we're implicity referencing a global variable
makes compiler output less noisy for some people
improves consistency because the Object.prototype-pattern is used elsewhere as well (see line 15 of helper.js for an example)

It removes the warning, which is a good thing. Could be merged pretty please?


[WIP] add support for hetzner-dns

What this PR does / why we need it:
This PR adds support for Hetzner DNS.
Special notes for your reviewer:
The implementation is based on the digitalocean one. I'm marking this PR as WIP as the PR isn't tested yet and I just try to prevent people from doing the same work twice. As I do not have a working bazel setup here, this is also hugely untested.
Release note:
add support for hetzner-dns

Hi @Gottox,
Thanks for starting work on this! If this is for your own use-case I recommend creating a webhook that cert-manager will call to provision DNS records: https://cert-manager.io/docs/configuration/acme/dns01/#webhook . It's unlikely we'd accept a hetzner provider in to the main cert-manager codebase, but only because there are many hundreds of potential DNS providers. Every one added creates more testing burden.

Hi @Gottox,
Thanks for starting work on this! If this is for your own use-case I recommend creating a webhook that cert-manager will call to provision DNS records: https://cert-manager.io/docs/configuration/acme/dns01/#webhook . It's unlikely we'd accept a hetzner provider in to the main cert-manager codebase, but only because there are many hundreds of potential DNS providers. Every one added creates more testing burden.

Thanks for letting me know! I'm closing this and will use the webhooks instead.

Thanks for letting me know! I'm closing this and will use the webhooks instead.

If you get a webhook working feel free to open a PR to the website with a link to it 😄

If you get a webhook working feel free to open a PR to the website with a link to it 😄


Fix for 'linked_to' test for BSD-like systems

While running testinfra against a Mac OS system, I noticed that
the linked_to test uses readlink -f to evaluate a canonicalized
real path by recursively following all symlinks. Though this behavior
works with GNU's readlink, it does not work the same way for BSD's
version. In fact, it errors out because BSD's readlink does not
understand the -f flag.
It is possible to install the GNU equivalent for readlink on MacOS
via Homebrew. However, it seems like poor design to force this method
to have a dependency on Homebrew.
I found a StackOverflow post showing how to recreate the behavior of
GNU's readlink using BSD's readlink. This change is based on the
solution provided in that post, which fixes the behavior of the
linked_to test for systems using the BSD version of readlink
(e.g. MacOS). It should behave just like readlink -f on Linux systems.
Reference: https://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac

@philpep Let me know if there's anything I can do to improve this change (or if you have a better fix in mind).

Hi, sorry for the late response and thanks for contributing!
I think FreeBSD, OpenBSD and NetBSD have readlink -f working as expected
https://www.freebsd.org/cgi/man.cgi?query=readlink
https://man.openbsd.org/readlink.1
https://www.unix.com/man-page/netbsd/1/readlink/
     When invoked as readlink, only the	target of the symbolic link is
     printed.  If the given argument is	not a symbolic link and	the -f option
     is	not specified, readlink	will print nothing and exit with an error.  If
     the -f option is specified, the output is canonicalized by	following
     every symlink in every component of the given path	recursively.  readlink
     will resolve both absolute	and relative paths, and	return the absolute
     pathname corresponding to file.  In this case, the	argument does not need
     to	be a symbolic link.

So your issue concern only MacOS, can you create a new DarwinFile(BSDFile) that implement your version of linked_to() ? Thanks!

No worries and thanks for the feedback! I'll take care of it when I grab some spare cycles.

@philpep All fixed! Thanks again for looking at this!

Merged, thanks!


input with value shown as valid with was-validated, is-invalid, and invalid-feedback

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
Take this example from documentation as an example, but change needs-validation to was-validated. The form works as expected, but

if I add value="invalid-value" to input for City, the city will be displayed as valid and invalid-feedback is not displayed.
If I add value="00000" and .is-invalid to Zip, the zip textbox is displayed as valid, although invalid-feedback is now displayed in red.

In my case the values are returned from the backend as part of the invalid user input waiting to be revised, so I consider this a valid use case.

<form class="row g-3 needs-validation" novalidate>

    First name
    <input type="text" class="form-control" id="validationCustom01" value="Mark" required>

      Looks good!

    Last name
    <input type="text" class="form-control" id="validationCustom02" value="Otto" required>

      Looks good!

    Username

      @
      <input type="text" class="form-control" id="validationCustomUsername" aria-describedby="inputGroupPrepend" required>

        Please choose a username.

    City
    <input type="text" class="form-control" id="validationCustom03" required>

      Please provide a valid city.

    State
    <select class="form-select" id="validationCustom04" required>
      <option selected disabled value="">Choose...</option>
      <option>...</option>
    </select>

      Please select a valid state.

    Zip
    <input type="text" value="00000" class="form-control is-invalid" id="validationCustom05" required>

      Please provide a valid zip.

      <input class="form-check-input" type="checkbox" value="" id="invalidCheck" required>

        Agree to terms and conditions

        You must agree before submitting.

    <button class="btn btn-primary" type="submit">Submit form</button>

</form>

Reduced test cases
codepen
What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
latest

Hello @BoPeng!

In my case the values are returned from the backend as part of the invalid user input waiting to be revised, so I consider this a valid use case.

Sorry but I'm not sure to understand the use case precisely. Are you saying that for example you have an empty form, and then that this form is (pre) filled out automatically by some backend data?
If it is the case, in your CodePen, you should let .needs-validation and remove .was-validated since the form hasn't been submitted yet.
If your use case is more about server side validation, you should rather use this example.

In my case, the form was initially .needs-validation, user fills out some data andPOST to the server. The server process the data, returns the submitted form with .need-validation replaced by .was-validated and additional error messages.
So the returned form has

.was-validated on form
Non-empty input with user-input data
.invalid-feedback from the server.

Number 2 is the only addition to the example. Since the documentation does not mention the role of value in input, it was quite a surprise to me that the input would be marked green, and the situation is weirder if the server marks the field .is-invalid (green input + red error message).

Same problem

I've got the same issue. In my case, I have server side script which runs some custom validation on the form data and wish to present a control in an invalid state if it fails.
I cannot present the field in its invalid state using a combination of was-validated on the form and is-invalid on the control. It will show the invalid-feedback text in red, but still shows the control with a tick and green border.
The issue is that Bootstrap prioritises the styling of the control's :invalid pseudo-class over that of the is-invalid class.
My hack has been to duplicate Bootstrap's .is-invalid styling within my CSS:
.was-validated .form-control.is-invalid {
    border-color: red;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
}

@BoPeng
Your issue is that you should not be using was-validated for server-side validation. This triggers the application of the :valid and :invalid CSS pseudo-classes to the form's controls, the styling of which overrides the .is-invalid styling.
Instead, you should just apply the is-invalid and is-valid class names to the form controls.

Thanks for your clarification. I think the documentation could be updated to clarify the use of .was-validated. In particular,

They do not require a .was-validated parent class.

can be updated to

They should not be used in combination with a .was-validated parent class

I still think it makes sense for .is-invalid to win over the other styling when the form has .was-validated... I'm not sure why a textbox would have .is-invalid if the dev means for it to be valid.
Is there another way to manually mark an input field as invalid after the form gets validated?

We also encountered this problem today. We try to use the browser's own validations as much as possible. However, there are a few cases in which we cannot avoid to use a custom validation. Therefore we need the was-validated class in the form element to support the browser's own validations and the is-invalid class on the fields with custom validation.
We're using react with react-hook-form, which makes it difficult to use setCustomValidity.
A css-only solution to support the :is-invalid' pseudo-class and the is-invalid' class in the same form would be awesome.

Workaround:
Add these lines to your own SCSS file after all bootstrap imports:
.was-validated .is-invalid:valid {
  border-color: $form-feedback-invalid-color;
  background-image: escape-svg($form-feedback-icon-invalid);
}
.was-validated .is-invalid:valid:focus {
  border-color: $form-feedback-invalid-color;
  box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($form-feedback-invalid-color, $input-btn-focus-color-opacity)
}
.was-validated .form-select.is-invalid:valid {
  background-image: escape-svg($form-select-indicator), escape-svg($form-feedback-icon-invalid) !important;
}


fix: use FileFunction.cached

hello 🤠 I have been investigating an issue in our pipeline that happens between our build stage where we generate sources and compile, and the test stage where we run tests. We are getting IO errors during the test stage that look like this:
sbt:hello-world> test
[info] compiling 12 Scala sources to /Users/regiskuckaertz/code/guard1/hw2/target/scala-2.13/classes ...
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/AkkaHttpImplicits.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/AkkaHttpImplicits.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/Client.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/Client.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/Implicits.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/Implicits.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/ApiResponse.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/ApiResponse.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Category.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Category.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Order.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Order.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Pet.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Pet.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Tag.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/Tag.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/User.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/User.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/package.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/definitions/package.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] IO error while decoding /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/support/Presence.scala with UTF-8: /Users/regiskuckaertz/code/guard1/hello-world/target/scala-2.13/src_managed/main/com/regiskuckaertz/support/Presence.scala (No such file or directory)
[error] Please try specifying another one using the -encoding option
[error] 11 errors found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 2 s, completed 10 Jun 2023, 18:46:11%

I noticed the paths listed in the errors were the absolute paths of the sources generated during the compile stage. Of course they don't exist anymore since the build stage runs in a separate runner with a different base directory. The only place I could think of where absolute paths would be persisted on disk was in the SBT caching (the streams task). It seems that something shady is happening with Tracked.inputChanged, as after replacing with FileFunction.cached I'm unable to reproduce the issue. To reproduce here is what I did:

create a new sbt project under directory hello1, with an openapi spec, and a test using the generated code
sbt clean compile
exit the project
rename hello1 to hello2
sbt test

That would fail consistently, but not anymore.
I also took the liberty of wrapping the task with a try/finally to make sure the classloader is restored in case an exception is thrown.

I also took the liberty of wrapping the task with a try/finally to make sure the classloader is restored in case an exception is thrown.

I would have expected (hoped?) that that'd have been restored at the end of the Task (🙈)
either way, great to have

https://github.com/guardrail-dev/sbt-guardrail/releases/tag/v0.75.2 has been cut!

@blast-hardcheese Thanks heaps 🙏 have a great day


Lua error Algari Crushing

latest addon version from curseforge.
lua error when clicking on algari crushing
Message: Interface/AddOns/CraftSim/Classes/ReagentData.lua:30: attempt to index local 'schematicInfo' (a nil value)
Time: Thu Nov  7 21:18:11 2024
Count: 3
Stack: Interface/AddOns/CraftSim/Classes/ReagentData.lua:30: attempt to index local 'schematicInfo' (a nil value)
[string "=[C]"]: ?
[string "@Interface/AddOns/CraftSim/Classes/ReagentData.lua"]:30: in function new' [string "@Interface/AddOns/CraftSim/Libs/classic.lua"]:64: in function ReagentData'
[string "@Interface/AddOns/CraftSim/Classes/ReagentData.lua"]:721: in function Copy' [string "@Interface/AddOns/CraftSim/Classes/RecipeData.lua"]:642: in function Copy'
[string "@Interface/AddOns/CraftSim/Init/Init.lua"]:762: in function TriggerModulesByRecipeType' [string "@Interface/AddOns/CraftSim/Init/Init.lua"]:85: in function <Interface/AddOns/CraftSim/Init/Init.lua:83> [string "@Interface/AddOns/CraftSim/Libs/GUTIL/GUTIL.lua"]:606: in function checkCondition'
[string "@Interface/AddOns/CraftSim/Libs/GUTIL/GUTIL.lua"]:612: in function WaitFor' [string "@Interface/AddOns/CraftSim/Init/Init.lua"]:74: in function TriggerModuleUpdate'
[string "@Interface/AddOns/CraftSim/Init/Init.lua"]:126: in function <Interface/AddOns/CraftSim/Init/Init.lua:106>
[string "=[C]"]: ?
...
[string "=[C]"]: ?
[string "@Interface/AddOns/Blizzard_SharedXMLBase/CallbackRegistry.lua"]:144: in function <...e/AddOns/Blizzard_SharedXMLBase/CallbackRegistry.lua:143>
[string "=[C]"]: ?
[string "@Interface/AddOns/Blizzard_SharedXMLBase/CallbackRegistry.lua"]:147: in function TriggerEvent' [string "@Interface/AddOns/Blizzard_SharedXML/Shared/Scroll/ScrollUtil.lua"]:524: in function SetElementDataSelected_Internal'
[string "@Interface/AddOns/Blizzard_SharedXML/Shared/Scroll/ScrollUtil.lua"]:485: in function <...dOns/Blizzard_SharedXML/Shared/Scroll/ScrollUtil.lua:484>
[string "=[C]"]: in function securecallfunction' [string "@Interface/AddOns/Blizzard_SharedXML/Shared/Scroll/ScrollUtil.lua"]:489: in function SelectElementData'
[string "@Interface/AddOns/Blizzard_SharedXML/Shared/Scroll/ScrollUtil.lua"]:529: in function `Select'
[string "@Interface/AddOns/Blizzard_ProfessionsTemplates/Blizzard_ProfessionsRecipeList.lua"]:58: in function <...fessionsTemplates/Blizzard_ProfessionsRecipeList.lua:46>

hm could not reproduce any info on when this happened? (first login? etc)

use this char since launch.
same error even with only craftsim as addon enabled.
but it saw a tick with the same error.:
https://github.com/derfloh205/CraftSim/pull/689
i saw this merge and downloaded the 19.5 version from ur repo and the error is gone now!