Refactor: Send heartbeat with dedicated workers

Changelog
Refactor: Send heartbeat with dedicated workers
Heavy AppendEntries traffic can block heartbeat messages. For example,
future AppendEntries in stream RPC may not receive a response indicating
a follower is alive. In such cases, the leader might time out to extend
its lease, and be considered partitioned from the cluster.
This commit moves heartbeat broadcasting to separate tasks that won't be
blocked by AppendEntries. This ensures the leader can always be
acknowledged with the liveness of followers.
Separate log progress notification and clock progress notification:
When ReplicationCore successfully finished one RPC to Follower/Learner,
it informs the RaftCore to update log progress and clock(heartbeat) progress.
This commit split these two informations into two Notification
variants, in order to make progress handling more clear.
Another improvement is to ignore a heartbeat progress if it is sent with
an older cluster membership config. Because a follower can be removed
and re-added, the obsolete heartbeat progress is invalid. This check is
done by remembering the membership log id in the HeartbeatEvent.
HigherVote can be sent directly to Notification channel.
replication::Response does not need HigherVote variant any more.
And Response is renamed to Progress

This change is

@ariesdevil

Perhaps we should include this change in the architecture doc?

Perhaps we should include this change in the architecture doc?

Make sense

And some notes need to be mentioned in the doc. E.g, the node disk may have been damaged, but the heartbeat has been normal.


Bosh add blob fails on 'already tracking'

When I do a bosh add blob smoke_tests.test, I get this message Already tracking the same version of 'smoke_tests.test. I'm fine with this message, but the exit code for this is 1 instead of 0, which causes things in my flow to fail because it gets treated as an error.
We think this might be better treated as an informational message + skip, or warning at worst.

From cloudfoundry#bosh for posterity...

might be able to use cmp and only run it if the file is different; maybe something like cmp --silent smoke_tests.test blobs/smoke_tests.test || bosh add blob smoke_tests.test

Relevant piece of code is here. Seems reasonable to make it a warning though.
It seems like the new CLI treats it as a brand new blob and completely replaces it in blobs.yml, resulting in duplicate blobs in the blobstore. (/cc @cppforlife)

@dpb587-pivotal Thanks for the reply. We did end up with something like that (diff instead of cmp), but agreed that a warning makes sense.

Closing - the ruby CLI is no longer maintained, and the new CLI has different expectations with blobs. Feel free to create an issue in the CLI repo with other bugs or concerns.


Extract the parser to a separate module

Is this something realistically achievable?
The HTMLBars precompiler (both the Node version and the browser version) would benefit from this extraction. Currently we are embedding the entirety of Handlebars in order to access its parser, which is particularly painful in the browser case.

@mmun, we're now using babel+webpack to generate the various build components and running the latest es6 spec for module imports so it's no longer super painful to split out into separate npm modules if helpful. What were you thinking for this?

Closing but glad to reopen if the desire is still there.


provide the main script outside of json

rather than generating the json with the built-in script, the user might want to provide a file with a script, which then is fed into a generic json automaticall

Done!


using it in my router.ex

This is probably more of a Phoenix question than ETag.Plug...
I created a new project using mix phx.new hello,  following the Phoenix 1.4.2 tutorial.  I tried changing the pipeline in lib/hello_web/router.ex to
  pipeline :browser do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
    plug :put_secure_browser_headers
    plug ETag.Plug
  end

but that throws an error:
Request: GET /
** (exit) an exception was raised:
    ** (ArgumentError) could not fetch application environment :generator for application :etag_plug because configuration :generator was not set
        (elixir) lib/application.ex:490: Application.fetch_env!/2
        (elixir) lib/keyword.ex:606: Keyword.put_new_lazy/3
        (etag_plug) lib/etag/plug/options.ex:20: ETag.Plug.Options.sanitize!/1
        (hello) HelloWeb.Router.browser/2
[...]

Is there a central location where I can set my default configuration for ETag.Plug?  I would like to avoid copying
plug ETag.Plug, generator: ETag.Generator.SHA1, methods: ["GET"], status_codes: [:ok

into a bunch of pipelines.

You're right. I wrongly assumed that the config.exs would be included in the published hex package. Please update to version 0.2.0 which I just published.

To provide defaults you can just use:
config :etag_plug,
  generator: YourDefaultHere,
  methods: ["GET", "HEAD"],
  status_codes: [200]

In the README the defaults used by the lib are also listed.


[iOS] Copy Flutter.framework.dSYM into app archive

As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed.
dSYM bundles are packaged in the Flutter.xcframework shipped in the ios-release tools archive as of engine patches:

https://github.com/flutter/engine/pull/54414
https://github.com/flutter/engine/pull/54458

This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by flutter build ipa.
Issue: https://github.com/flutter/flutter/issues/116493
Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I signed the CLA.
[X] I listed at least one issue that this PR fixes in the description above.
[X] I updated/added relevant documentation (doc comments with ///).
[X] I added new tests to check the change I am making, or this PR is test-exempt.
[X] I followed the breaking change policy and added Data Driven Fixes where supported.
[X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

I have an alternate version of this patch that unifies the App.framework.dSYM and Flutter.framework.dSYM copying code, but took this route, which does an rsync copy like we do with Flutter.framework because App.framework/App.framework.dSYM are build products that get bundled, whereas Flutter.framework/Flutter.framework.dSYM are not build products, but rather pre-builts that get copied over.

Does Flutter 3.22 merged this commit?

Does Flutter 3.22 merged this commit? I still got this problem.

This fix is in Flutter 3.24 (the current stable branch). You can pick it up via flutter upgrade. There is no plan to back port to older Flutter releases.

https://github.com/flutter/engine/pull/54414#issuecomment-2389372698
There may be a way to do this manually by copying the Flutter dSYMs into your project: https://stackoverflow.com/a/52417617/431116
You can find the dSYMs at /bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64/dSYMs/Flutter.framework.dSYM/
Alternatively, it may work if you downgrade to Xcode 15.

Does Flutter 3.22 merged this commit? I still got this problem.

This fix is in Flutter 3.24 (the current stable branch). You can pick it up via flutter upgrade. There is no plan to back port to older Flutter releases.

Thanks a lot, But Flutter 3.24 has a big problem, it force need all dependencies update android compileSdkVersion to 34, This is unattainable for us, so we have to downgrade to 3.22.
So will you merge this bugfix to Flutter 3.22?

So will you merge this bugfix to Flutter 3.22?

No, we will not be bug fixing to any previously releases.  However, you should have a relatively easy workaround:

There may be a way to do this manually by copying the Flutter dSYMs into your project: https://stackoverflow.com/a/52417617/431116
You can find the dSYMs at /bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64/dSYMs/Flutter.framework.dSYM/
Alternatively, it may work if you downgrade to Xcode 15.

@cbracken Thanks a lot, But Flutter 3.24 has a big problem: it force need all dependencies update android compileSdkVersion to 34, this is unattainable for us, so we have to downgrade to 3.22.

Thanks, but i cannot find Realm.framework.dSYM, where to located it?

That StackOverflow link is showing how to embed a random dSYM in your Xcode project, their example is Realm.  Instead of their example, use the Flutter.dSYM (which is what this issue was tracking).  It's located in your Flutter SDK directory at <flutter-sdk>/bin/cache/artifacts/engine/ios-release (sorry, my pasting from https://github.com/flutter/engine/pull/54414#issuecomment-2389372698 was bad).

dSYMs

Thanks, but i cannot find a dSYMs folder in ios-release/Flutter.xcframework/ios-arm64 of flutter folder.

That StackOverflow link is showing how to embed a random dSYM in your Xcode project, their example is Realm. Instead of their example, use the Flutter.dSYM (which is what this issue was tracking). It's located in your Flutter SDK directory at <flutter-sdk>/bin/cache/artifacts/engine/ios-release (sorry, my pasting from flutter/engine#54414 (comment) was bad).

Thanks, but i cannot find a dSYMs folder in ios-release/Flutter.xcframework/ios-arm64 of flutter folder.

Okay this is a good point, it doesn't exist on Flutter 3.22, it's only in 3.24 or later, which is the problem!
Follow the instructions at https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios for "For versions prior to Flutter 3.24" and download it directly from Google Cloud Storage.

That StackOverflow link is showing how to embed a random dSYM in your Xcode project, their example is Realm. Instead of their example, use the Flutter.dSYM (which is what this issue was tracking). It's located in your Flutter SDK directory at <flutter-sdk>/bin/cache/artifacts/engine/ios-release (sorry, my pasting from flutter/engine#54414 (comment) was bad).

Thanks, but i cannot find a dSYMs folder in ios-release/Flutter.xcframework/ios-arm64 of flutter folder.

Okay this is a good point, it doesn't exist on Flutter 3.22, it's only in 3.24 or later, which is the problem! Follow the instructions at https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios for "For versions prior to Flutter 3.24" and download it directly from Google Cloud Storage.

I did as your guide, but i still got this problem, it seems that the UUID doesn't match.

@lanistor can you file a new issue? We would use it as a request to make https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios better.

Having the same issue here. I can't upgrade the flutter version because this is gonna break my project. But willing to refactor later in time. I'm confused by which fix to apply. Should I downgrade my xcode?
Also can I just ignore the warning for now or it will not let me push the build for distribution?

@GhassanAlKaraan I'm not sure why a combo of the instructions at https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios and https://stackoverflow.com/questions/50947279/how-to-include-dsym-file-of-an-embedded-framework-to-an-app-archive/52417617#52417617 aren't working.

can you file a new issue? We would use it as a request to make https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios better.

Having the same issue here. I can't upgrade the flutter version because this is gonna break my project. But willing to refactor later in time. I'm confused by which fix to apply. Should I downgrade my xcode?
Also can I just ignore the warning for now or it will not let me push the build for distribution?

Ignore the warning works fine for our APP, it can publish normally.

@lanistor can you file a new issue? We would use it as a request to make https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios better.

Well, it seems that just ignoring this issue won't have any impact.

I encountered an issue while using the add-to-app method. The iOS app doesn't compile due to "Multiple commands produce MYAPP/DerivedData/app/Build/Products/Debug-iphoneos/Flutter.framework.dSYM"

@dawid-niedzwiecki Can you file a new issue that describes what you are seeing and how to reproduce it?  Thank you!

@dawid-niedzwiecki and @jmagman We have the same issue. I could reproduce it by taking the multiple-flutters example and changed it from the cocoapods setup to the frameworks setup following this guide: https://docs.flutter.dev/add-to-app/ios/project-setup#embed-a-flutter-module-in-your-ios-app
I created an issue with more detailed reproduction steps: https://github.com/flutter/flutter/issues/158005

@dawid-niedzwiecki see https://github.com/flutter/flutter/issues/157359


fix for #349

add some tests and reuse plusMonths that already works for leap years.
@luolong suggestions ?

Closing this PR as it can not be merged any more.


Books page added

Description:

Books link added to menu2.
Books page has been created.

Share the website link so I can review your changes.

Website link: https://abhishek-sahoo.github.io/books.html

@Abhishek-Sahoo check again it is disoriented.
Your repo is not updated fetch upstream.
Somewhere background is white somewhere blue.
Navbar is also not proper.

resolve conflict featch update


Disable NonBreaking Space

Can you please bring back the ability to disable the non breakable space implementation?
Please, Please, Please :)

Yeah please, this is the only reason why I install karabiner... Sad that its not included

The old Karabiner had a lot of mappings. Can you be more specific of what this does?

Accidentially pressing Option + Space keys are creating a non-breaking space - not a normal breaking space, which leads to corrupt commands in the end because they are not recognized.
See here the stack overflow answer, there is also one for the old keyremape4macbook: https://superuser.com/questions/78245/how-to-disable-the-option-space-key-combination-for-non-breaking-spaces

Ok, so it's basically changing Alt+Space to Space, and Alt+Shift+Space to Space

correct :)

Ok, please follow the issue on the KE-complex_modifications repo. Someone please close this issue.


Make a volume out of /var/lib/bind

When you create a zone using webmin (at least on the container version 9.11.3-20190315, which uses Webmin 1.900), the zone is indeed created on /data/bind/etc/named.conf.local, however the actual hosts are created on a separate file (/var/lib/bind/(domain).hosts.
The documentation only talks about the volume to mount on /data/ but if you don't mount /var/lib/bind on a volume, if you rebuild the container all actual records will be lost.
I believe the documentation should warn about this (it's not mentioned anywhere that I could see, and it's not on the sample docker-compose file either).
To reproduce
I just upped the container (using docker-compose), opened webmin and went and created a master zone: mydomain.local and a single A record on that zone.
These are the contents of /data/bind/etc/named.conf.local (which is indeed monted on the volume and specified on the documentation):
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "mydomain.local" {
        type master;
        file "/var/lib/bind/mydomain.local.hosts";
        };

And these are the contents of /var/lib/bind/mydomain.local.hosts (which is not in a volume and won't be preserved between rebuilds):
$ttl 38400
mydomain.local.     IN      SOA     81e221cf358b. my.email.com. (
<PHONE_NUMBER>
                        300
                        3600
                        604800
                        38400 )
mydomain.local.     IN      NS      81e221cf358b.
some-host.mydomain.local.  IN      A       <IP_ADDRESS>

Making a volume out of /var/lib/bind/ didn't work for some reason (bind started spitting errors). However I mounted a different volume for the hosts files and just set it up manually when creating the zone in webmin.


Browserify can't find package when require('jquery.finger')

Because "main" key in package.json or index.js in repository root doesn't exists. https://github.com/substack/node-browserify#packagejson

Thanks :)


Implemented alltrue, any, array_equal

Also updated api_coverage.py with implemented functions.

Looking into the Travis errors.

Looking into the Travis errors.


Removed condition to display thumb

Questions
Answers

Description?
Condition removed for fix generateCategoriesMenu function to display categories thumbnails.

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#20219.

How to test?
Install module and add new menu thumbnails from BackOffice.

Hello @mikayilsrt
Could you target the dev branch  ?
Thank you

Hello @mikayilsrt
When I add a category in BO there is an error in FO :

Thumb is not display in the menu

@sarahdib Hello,
I think your theme is overloading the .tpl file of the module, try to remove the module from the module folder of your theme in question.

@PrestaShop/prestashop-core-developers  can you check this in order to avoid the problem we had with the release of ps_searchbar ?  I can't validate this PR if I need to delete some file from the core.

@mikayilsrt Have you checked your PR with the classic theme ?

Hi @mikayilsrt I have the same results than @sarahdib
No thumbnail in the menu

Hi @SD1982, Have you checked if your theme overloads the tpl file of the ps_mainmenu module? if this is the case delete the ps_mainmenu folder from your theme.

Hi @mikayilsrt I use the classic theme provided by default with prestashop

Hi @SD1982, Have you checked if your theme overloads the tpl file of the ps_mainmenu module? if this is the case delete the ps_mainmenu folder from your theme.
@Progi1984 WDYT ?

@SD1982 Hi, in your classic theme go to open ps_mainmenu.tpl from module/ps_mainmenu folder and replace your code with https://github.com/mikayilsrt/ps_mainmenu/blob/master/ps_mainmenu.tpl

@SD1982 Hi, in your classic theme go to open ps_mainmenu.tpl from module/ps_mainmenu folder and replace your code with https://github.com/mikayilsrt/ps_mainmenu/blob/master/ps_mainmenu.tpl

I don't understand why we would need to do that. We are already replacing the code in modulesps_mainmenu` by the code in this PR, so it's your changes.

@SD1982 Hi, in your classic theme go to open ps_mainmenu.tpl from module/ps_mainmenu folder and replace your code with https://github.com/mikayilsrt/ps_mainmenu/blob/master/ps_mainmenu.tpl

I don't understand why we would need to do that. We are already replacing the code in modulesps_mainmenu` by the code in this PR, so it's your changes.

It's because themes override modules templates. In the classic theme, a lot of templates have been overridden :(

Hi @mikayilsrt,
It is ok :heavy_check_mark:
I tried with Classic theme & Different theme on PS1172 => OK

I tried with develop, PS1769 & 177x branch using Classic theme => ok

PS: I found an issue not related to this PR when editing a category using menu thumbs in PS1769 & PS1772 but it is fixed n the develop branch
https://drive.google.com/file/d/1RV52DEhjzrCByFe7_I1rIP2GjEruW0qw/view?usp=sharing
Thank you!

Thanks @mikayilsrt


Fix warning messages for Rails 6 and Zeitwerk

[Sessions] Sessions won't be captured without a valid release
DEPRECATION WARNING: Initialization autoloaded the constants Scimitar::ServiceProviderConfiguration, Scimitar::Supportable, Scimitar::Filter, Scimitar::Meta, Scimitar::AuthenticationScheme, and Scimitar::EngineConfiguration.

Being able to do this is deprecated. Autoloading during initialization is going
to be an error condition in future versions of Rails.

Reloading does not reboot the application, and therefore code executed during
initialization does not run again. So, if you reload Scimitar::ServiceProviderConfiguration, for example,
the expected changes won't be reflected in that stale Class object.

These autoloaded constants have been unloaded.

Please, check the "Autoloading and Reloading Constants" guide for solutions.

Can we get this merged @pond?

I'll get to this as soon as I can. Sorry for the delay - I was in the UK for 2 weeks (where my family lives - first trip back there for 5 years!) but thanks to lots of people coughing without masks on both of the long haul flights home, I came down with flu the day after I got back. Illness combined with 11 hours of jet lag (to NZ) hit rather hard and I'm only just starting to catch back up on everything now.

NB The Rails 7 branch already does this; didn't realise Rails 6 was starting to generate such noise; white space aside (Rails 7 has the code inside to-prepare indented) I see nothing wrong with the solution so should be mergeable.

Thanks 👍 😄

This breaks Ruby 2.7 in CI; guess I've got something wrong in the repo configuration given that it didn't warn me about that by building before the merge. You might have to wait a bit for a 1.5.3 release as a result. I can replicate on local host, but the only fix I can find for that Ruby version is to omit the to_prepare block.

This breaks Ruby 2.7 in CI - I guess I must have something wrong in my GitHub configuration given that this wasn't warned about prior to the PR merge.
The issue is that (for some reason on Ruby 2.7 only) and existing application's own config/initializers/scimitar.rb does not have the to-prepare block, but the gem's default does. The only working combination in such a case is either the <= v1.5.2 version without to_prepare, or to add the same modification to the existing application's initializer.
This puts us in the very awkward position of introducing a breaking change but being unable to update the major version per semver, because V2 is the Rails 7 gem.
I'm considering options, but v1.5.3 won't be released for now as a result of the above.

Very sorry for the passing of so many months. Workload is unrelenting and extraordinary at the moment.
https://github.com/RIPAGlobal/scimitar/pull/63 finally "officially" resolves all this stuff, merges to v1 and results in 1.5.3 just pushed to RubyGems (https://rubygems.org/gems/scimitar/versions/1.5.3). Many thanks for the contribution 😄


Python 3.5 support, and Travis improvements

This adds Python 3.5 to the list of tested and supported environments.

I've heard that the mocks don't really work with Python 3.5 (see this conversation) - I've been meaning to look deeper into this, I can't remember what the issue is exactly. And I'll be frank - mocking is still a bit of a mystery to me, I could have just been mocking incorrectly this whole time. I did find it difficult to have mocks for both with and without requests installed.
I'd be okay if you want to put in some skipif statements where mock fails just to see if the rest of the code works with 3.5 (and continue to add to the technical debt for me to check up on when I can :D)

I think those tests are actually failing due to the problem described in this article:
"assert_called_once: Threat or Menace" (Tyler Roscoe)
In short, assert_called_once() is not a valid assertion method, so the mock object treats it as a mocked method instead, and silently does nothing!
The right method to use instead is assert_called_once_with().
Python 3.5 and the newer mock library has a heuristic check which detects this, which what the Python3.5 build now fails with.
I started a branch to fix this problem.

@pjdelport you're awesome!

Okay, once #89 is merged, this should pass as well. :)

@econchick: The way attrs does it is nice!

Merging this on mobile 😜 here's hoping this works!


Follow up to release v0.8.0

Got bitten by #12 :cry:
I think with this PR we can tag -rc1. I've done some manual tests for this version and for pushing to registry and it all seem OK :+1:

It made me think that we should provide a multi-arch image, for users running ARM64 cluster for example, we can open an issue about this to track it.

We have #64 :)


add travis CI error report  when build fails

What is this adding that is not already present today?

What is this adding that is not already present today?

It seems currently CI shows green if the test fails,
https://travis-ci.org/openweave/openweave-core/jobs/543854076
============================================================================
TOTAL: 177
PASS:  175
SKIP:  0
XFAIL: 0
FAIL:  2
XPASS: 0
ERROR: 0
============================================================================
See src/test-apps/test-suite.log
Please report to<EMAIL_ADDRESS>make[7]: *** [test-suite.log] Error 1
make[6]: *** [check-TESTS] Error 2
make[5]: *** [check-am] Error 2
make[4]: *** [check-recursive] Error 1
make[3]: *** [check-recursive] Error 1
make[2]: *** [check-recursive] Error 1
make[1]: *** [check] Error 2
make: *** [check-x86_64-unknown-linux-gnu] Error 2
cp: cannot stat ‘/tmp/happy*’: No such file or directory
please check happy-test-log/ under link: https://storage.cloud.google.com/openweave
The command ".travis/script.sh" exited with 0.

Thanks for clarifying. This seems like it is applying the fix in the incorrect, downstream location. Travis CI should reflect the exit status correctly when make fails. This should be consistent with manual invocation on a local machine in the shell. Is there some intervening process between the failure that is getting invoked that "eats" or masks the primary failure status?
I suspect:
cp: cannot stat ‘/tmp/happy*’: No such file or directory
please check happy-test-log/ under link: https://storage.cloud.google.com/openweave

is the source of that offending "eating" or "masking" and the problem should be fixed there such that the correct status is passed through.

Spoke to Yunhan for this one, I will take a look for this Travis CI issue

Just

Spoke to Yunhan for this one, I will take a look for this Travis CI issue

please try this potential fix, thanks

Just

Spoke to Yunhan for this one, I will take a look for this Travis CI issue

please try this potential fix, thanks

sure, will do, Thanks

As expected, the problem here is absolutely gcc_check_happy in .travis/script.sh:
gcc_check_happy()
{
    cmd_start="sudo make -f Makefile-Standalone DEBUG=1 TIMESTAMP=1 COVERAGE=1 "
    cmd_end="BuildJobs=24 check"

    if [ "lwip" in "${BUILD_TARGET}" ];then
        build_cmd="$cmd_start USE_LWIP=1 $cmd_end"
        build_folder="x86_64-unknown-linux-gnu-lwip"
    else
        build_cmd="$cmd_start $cmd_end"
        build_folder="x86_64-unknown-linux-gnu"
    fi

    mkdir -p $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    eval $build_cmd
    cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf
    cp /tmp/happy* $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave"
}

The code eval $build_cmd will return the status of make in ${?}. That needs to be saved and preserved immediately following eval $build_cmd and then returned before gcc_check_happy completes at }. Otherwise, each of the cp and echo lines will overwrite ${?}. Since echo  will always succeed, gcc_check_happy will always succeed, and Travis CI will always believe such matrix targets have succeeded, even when they do not.
Something like the following is the better and preferred fix for this since the problem exists here and not in the openweave-core build system itself:
    ...
    eval $build_cmd
    make_status=${?}
    cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf
    cp /tmp/happy* $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave"

    return ${make_status}
}

As expected, the problem here is absolutely gcc_check_happy in .travis/script.sh:
gcc_check_happy()
{
    cmd_start="sudo make -f Makefile-Standalone DEBUG=1 TIMESTAMP=1 COVERAGE=1 "
    cmd_end="BuildJobs=24 check"

    if [ "lwip" in "${BUILD_TARGET}" ];then
        build_cmd="$cmd_start USE_LWIP=1 $cmd_end"
        build_folder="x86_64-unknown-linux-gnu-lwip"
    else
        build_cmd="$cmd_start $cmd_end"
        build_folder="x86_64-unknown-linux-gnu"
    fi

    mkdir -p $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    eval $build_cmd
    cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf
    cp /tmp/happy* $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave"
}

The code eval $build_cmd will return the status of make in ${?}. That needs to be saved and preserved immediately following eval $build_cmd and then returned before gcc_check_happy completes at }. Otherwise, each of the cp and echo lines will overwrite ${?}. Since echo  will always succeed, gcc_check_happy will always succeed, and Travis CI will always believe such matrix targets have succeeded, even when they do not.
Something like the following is the better and preferred fix for this since the problem exists here and not in the openweave-core build system itself:
    ...
    eval $build_cmd
    make_status=${?}
    cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf
    cp /tmp/happy* $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave"

    return ${make_status}
}

Thanks @gerickson this is very helpful! I will try it out.

As expected, the problem here is absolutely gcc_check_happy in .travis/script.sh:
gcc_check_happy()
{
    cmd_start="sudo make -f Makefile-Standalone DEBUG=1 TIMESTAMP=1 COVERAGE=1 "
    cmd_end="BuildJobs=24 check"

    if [ "lwip" in "${BUILD_TARGET}" ];then
        build_cmd="$cmd_start USE_LWIP=1 $cmd_end"
        build_folder="x86_64-unknown-linux-gnu-lwip"
    else
        build_cmd="$cmd_start $cmd_end"
        build_folder="x86_64-unknown-linux-gnu"
    fi

    mkdir -p $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    eval $build_cmd
    cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf
    cp /tmp/happy* $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave"
}

The code eval $build_cmd will return the status of make in ${?}. That needs to be saved and preserved immediately following eval $build_cmd and then returned before gcc_check_happy completes at }. Otherwise, each of the cp and echo lines will overwrite ${?}. Since echo  will always succeed, gcc_check_happy will always succeed, and Travis CI will always believe such matrix targets have succeeded, even when they do not.
Something like the following is the better and preferred fix for this since the problem exists here and not in the openweave-core build system itself:
    ...
    eval $build_cmd
    make_status=${?}
    cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf
    cp /tmp/happy* $TRAVIS_BUILD_DIR/happy-test-logs/$1/from-tmp
    echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave"

    return ${make_status}
}

thanks, grant, just update the pr and comments per your suggestion.

Codecov Report

Merging #270 into master will decrease coverage by 7.85%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #270      +/-   ##
==========================================
- Coverage   62.16%   54.31%   -7.86%
==========================================
  Files         252      289      +37
  Lines       47169    56216    +9047
==========================================
+ Hits        29324    30531    +1207
- Misses      17845    25685    +7840

Impacted Files
Coverage Δ

src/inet/UDPEndPoint.cpp
42.61% <0%> (-46.68%)
:arrow_down:

src/system/SystemObject.cpp
60% <0%> (-33.75%)
:arrow_down:

src/inet/RawEndPoint.cpp
28.45% <0%> (-24.88%)
:arrow_down:

src/system/SystemLayer.cpp
62.35% <0%> (-24.37%)
:arrow_down:

src/system/SystemError.cpp
57.14% <0%> (-21.65%)
:arrow_down:

src/inet/IPAddress.cpp
83.76% <0%> (-14.86%)
:arrow_down:

src/inet/TunEndPoint.cpp
24.48% <0%> (-10.43%)
:arrow_down:

src/inet/TCPEndPoint.cpp
15.56% <0%> (-7.78%)
:arrow_down:

src/inet/IPAddress-StringFuncts.cpp
90% <0%> (-5.24%)
:arrow_down:

src/test-apps/ToolCommon.cpp
14.74% <0%> (-2.39%)
:arrow_down:

... and 62 more

Continue to review full report at Codecov.

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


Selenium IDE formatter and Wrapper 2.0

as far as I understood the Selenium IDE commands are not any more supported completly. furthermore syntactical changes require a new formatter setup. Is there a new VBA formatter coming up ?

The included formatters have always supported the Selenium 1 and Selenium 2 commands.
From now on it's only possible to export the recorded test case to the Selenium 2 format:
VBA / WebDriver
VBS / WebDriver
And yes it includes the latest syntactical changes.


Add in the documentation if method can be used by bots or not

Please add in the documentation if this method can be used by bots, Or not.
Because some methods can't be used by bots that authenticated with bot token.
This feature is already implemented in Telegram API docs, See an example.
I imagine it like this in the documentation:

sendMessage method
some description, bla bla ....
Parameters
This method can be used by bots

The documentation is oriented toward ordinary users. This will not be documented to reduce documentation size and simplify documentation usage. You still can check whether specific method is available for bots by looking in the source code of td/telegram/Td.cpp and checking, whether corresponding on_request method has no "CHECK_IS_USER();".

@levlam, What about adding an option to split_source.php if created documentation should has Bots information or Not?

@Muaath5
Documentation is not created from nowhere. It is written in https://github.com/tdlib/td/blob/master/td/generate/scheme/td_api.tl.


Hide comment

For better experience, I think we can hide the comment just like how FB did

@reyhansofian can you elaborate more how it should be? It's on the Feed page right?
Actually now I implemented Pagination for it, yeah still on MVP0 UI, it's so damn bad. The pagination concept is so simple, when the comments length is more than 10, it will divided into several pages.

yep, it's on the Feed page. I just saw the pagination for the comments tho 😛
IMO, it's better if we copy how Facebook hide the comments. Less page scrolling (before comments tree opened)

So:

How may comments will be shown on 1st hierarchy?
On 2nd hierarchy, by default it will shown only read more like that?

How may comments will be shown on 1st hierarchy?

IMO, it can be 5 or less. If there are less than 5 comments on 1st hierarchy, show all 1st hierarchy comments. Otherwise, show only 5 comments.

On 2nd hierarchy, by default it will shown only read more like that?

Correct.
What do you think?

I'm doing this @reyhansofian 😄

https://github.com/hellowin/kanca/pull/118 still needs more improvement.


Same page anchor tags does not work properly

Issue: Clicking on an anchor tag (i.e. #cqm_device) will open the current page in an IAB, scrolled down to the correct position, and with the message: "Content Not Found".
Expect: Clicking on an anchor tag to scroll to the correct position within the same page. This works fine in the preflight app.
Reference
A list of anchor tags, i.e.
CQM Device

Opening same page in the IAB, scrolled down to the correct position, with error message

@huacyang We have had other similar reports of this behavior. We believe we've found a workaround, which is to install aemm-plugin-navto. This is due to whitelist configurations that are built into the navto plugin. If aemm-plugin-navto is not included, then the hrefs (including anchors) in the page are not in the whitelist and will cause an external browser to launch instead of navigating within the page.


PR for release 1.3.0

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/nanostring branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Overall it looks good to me but I note that you have not changed the version number in |https://github.com/nf-core/nanostring/blob/dev/assets/nf-core_nanostring_tubemap.png… maybe it is better to do that before merging the PR? (I also note a typo after "Complex" that you can fix at the same time.)

well spotted :) thank you!


storage: use slice as variable for key_with_epoch

Is your feature request related to a problem? Please describe.
If we pass an variable Vec<u8> we must re-allocate this key if the capacity of this vector is less than the sum length of user_key and epoch.
In most where we must convert slice to Vec and then pass it to key_with_epoch, and it means that we would allocate memory twice.
Describe the solution you'd like
It is better to pass a slice and allocate the whole key in method key_with_epoch.
fn key_with_epoch(user_key: &[u8], epoch: HummockEpoch) -> Vec<u8> {

}

Describe alternatives you've considered
No response
Additional context
No response

FYI, we may use Buf::chain if we really care about the allocation and copying. 🤔
https://docs.rs/bytes/latest/bytes/trait.Buf.html#method.chain

It seems to be complex...

FYI, we may use Buf::chain if we really care about the allocation and copying. 🤔 https://docs.rs/bytes/latest/bytes/trait.Buf.html#method.chain

key_with_epoch is also not convenient for unit test

After #6130, key_with_epoch is only used in tests so I think we can close this issue.


Wifi network minor fix delivery

This patch set contains some minor enhancements I use in my PSP port which I think could be safely merged in master branch.

Any comments about this ?


Background

hello (:
its a very good menu !!!
just 1 issue
how do i remove/change the background color ?

hello again (:
i'm having trouble changing both the menu color and the menu icon color
sometimes one of them is ignored, sometime it just dosnt change anything
waiting for your response (:


[4.1] Column Wrapper - Anchor in first column triggers modal before link.

Bug report
Like title describes, when you have a responsive table (Some columns are hidden), if you have an anchor in the first column, when you click it, first it will trigger the modal with the extra columns and only after it will redirect you.
What I did
Added wrapper href to the first column in table and have some columns hidden.
What I expected to happen
If the clicked element is an href trigger href, or only trigger the modal if we click in three dots, and not in all first column.
What happened
It triggers the responsive modal before triggering the href process.
What I've already tried to fix it
I spend countless hours trying to figure out a solution for this, but still unsolved.
I tried adding some html element with css (Using an svg file) to the 1st column so we can setup target on datatables responsive plugin, but was not able to make the technique work on datatables.
		content: url('data:image/svg+xml;utf8,%3Csvg%20width%3D%2210%22%20height%3D%2210%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3CforeignObject%20width%3D%22100%25%22%20height%3D%22100%25%22%20x%3D%220%22%20y%3D%220%22%3E%3Cspan%20class%3D%22table_responsive_trigger%22%3E%3Ci%20class%3D%22la%20la-ellipsis-v%22%3E%3C%2Fi%3E%3C%2Fspan%3E%3C%2FforeignObject%3E%3C%2Fsvg%3E');

REF: https://stackoverflow.com/questions/4505093/css-content-property-is-it-possible-to-insert-html-instead-of-text

Hi @pxpm just step by to let you know I'm working on a solution for this and I think I found a possible one. I'll create a PR as soon as possible.

Fixed by #2891


fix(module:avatar): fix tslint

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[x] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

Coverage remained the same at 98.216% when pulling 5ff2fb0489c23f62f171eb45cdee6d3a7f3b5748 on cipchk:avatar-fix-tslint into 65535d533ac98b2de688c1c085216fd900e376dd on NG-ZORRO:0.7.0.


Allow compaction admin requests to specify policy to use

Currently, the admin trigger of compaction uses the preconfigured compaction policy that has been set in the store config. It will be useful for the admin request to optionally specify a policy (that is different from the one configured) to use.
For e.g., the server may be using a stats based policy but the admin request might want to use the compact all policy.

Just to be clear, the policy that is configured via the config is not permanently changed. This issue proposes an admin request that specifies what policy to use for that particular request. The admin request (to a single node) would essentially be saying "Please compact the partition with this ID using this compaction policy". Today it says "Please compact the partition with this ID".

A possible enhancement on this is to allow the admin request to change other parameters also (like the min size the store has to be, the min number of segments that need to reclaimed to consider compaction viable etc)


Faq list doesn't get updated after the app gets minimized once.

Bug Report
Actual Behaviour
When we create or delete a faq, the list automatically gets updated. Now if we minimize the app and then again create or delete a faq, this time the list doesn't get updated.
Expected Behaviour
It should still get updated.
Steps to reproduce it

Create a faq.
Minimize the app
open again
Create another faq.

LogCat for the issue
N/A
Screenshots of the issue

Android version and Phone Model
Android 5.1.1 Oppo f1
Would you like to work on the issue?
No, since I already have a lot of claimed issues.
@Masquerade0097 @sridharjajoo @mishuvs You guys may be interested in this one.

I would like to take it

@iamareebjamal The issue is prevalent in case of creation of Tickets as well. What I have observed is that once the fragment gets detached and the listener stops listening, then it never listens in future even if startListening()  is called again (that is when the app again comes in foreground and onStart is called). I think it might be some issue with how the DBFlowListener is implemented.

It's about the start and stopping of listener. I'd recommend starting to move to AAC to avoid such bugs by using official components to manage lifecycle

We arn't showing FAQ in release version. So putting it on hold.


[Bug]: fail to copy bibliographic entry when pressing cmd+opt

Bug Description
I did install pandoc on my mac, but every time I try ⌘⌥ + ↵, nothing is copied, and here is the debug info:
[18:04:23.639] Logging Started...
[18:09:59.800] STDERR: Supercharged Citation Picker[Run Script] Error reading bibliography file /Users/yutang/Documents/Resources/Automation/Zotero/Library.bib:
(line 902, column 7):
unexpected '<'
I wonder what's wrong with my configuration, or whether that's a bug. I would highly highly appreciate it if you could please help me out!
Relevant Screenshot
No response
To Reproduce
just pressing cmd+opt and enter
Debugging Log
[18:09:59.800] STDERR: Supercharged Citation Picker[Run Script] Error reading bibliography file /Users/yutang/Documents/Resources/Automation/Zotero/Library.bib:
(line 902, column 7):
unexpected '<'
[18:25:25.194] STDERR: Supercharged Citation Picker[Script Filter] Starting Buffer Writing
Parser Import successful.
Literature Note Reading successful.
PDF Folder reading successful.
Bibtex Library Reading successful.
Buffer Creation successful.
Buffer Writing Duration: 75ms
[18:25:30.676] STDERR: Supercharged Citation Picker[Run Script] Error reading bibliography file /Users/yutang/Documents/Resources/Automation/Zotero/Library.bib:
(line 902, column 7):
unexpected '<'
[18:25:56.340] STDERR: Supercharged Citation Picker[Run Script] Error reading bibliography file /Users/yutang/Documents/Resources/Automation/Zotero/Library.bib:
(line 902, column 7):
unexpected '<'
[18:27:00.971] Logging Started...

Sample BibTeX Entries
@book{aronssonNationalMuseumsNationbuilding2014,
  title = {National {{Museums}} and {{Nation-building}} in {{Europe}} 1750-2010: {{Mobilization}} and Legitimacy, Continuity and Change},
  shorttitle = {National {{Museums}} and {{Nation-building}} in {{Europe}} 1750-2010},
  author = {Aronsson, Peter and Elgenius, Gabriella},
  year = {2014},
  month = dec,
  publisher = {{Routledge}},
  abstract = {Europe's national museums have since their creation been at the centre of on-going nation making processes. National museums negotiate conflicts and contradictions and entrain the community sufficiently to obtain the support of scientists and art connoisseurs, citizens and taxpayers, policy makers, domestic and foreign visitors alike. National Museums and Nation-building in Europe 1750-2010 assess the national museum as a manifestation of cultural and political desires, rather than that a straightforward representation of the historical facts of a nation.   National Museums and Nation-building in Europe 1750-2010 examines the degree to which national museums have created models and representations of nations, their past, present and future, and proceeds to assess the consequences of such attempts. Revealing how different types of nations and states \textendash{} former empires, monarchies, republics, pre-modern, modern or post-imperial entities \textendash{} deploy and prioritise different types of museums (based on art, archaeology, culture and ethnography) in their making, this book constitutes the first comprehensive and comparative perspective on national museums in Europe and their intricate relationship to the making of nations and states.},
  googlebooks = {o0q2BQAAQBAJ},
  isbn = {978-1-317-56915-2},
  langid = {english},
  keywords = {Social Science / Archaeology}
}

@article{assael2022,
  title = {Restoring and Attributing Ancient Texts Using Deep Neural Networks},
  author = {Assael, Yannis and Sommerschield, Thea and Shillingford, Brendan and Bordbar, Mahyar and Pavlopoulos, John and Chatzipanagiotou, Marita and Androutsopoulos, Ion and Prag, Jonathan and {de Freitas}, Nando},
  year = {2022},
  month = mar,
  journal = {Nature},
  volume = {603},
  number = {7900},
  pages = {280--283},
  issn = {0028-0836, 1476-4687},
  doi = {10.1038/s41586-022-04448-z},
  abstract = {Abstract                            Ancient history relies on disciplines such as epigraphy\textemdash the study of inscribed texts known as inscriptions\textemdash for evidence of the thought, language, society and history of past civilizations               1               . However, over the centuries, many inscriptions have been damaged to the point of illegibility, transported far from their original location and their date of writing is steeped in uncertainty. Here we present Ithaca, a deep neural network for the textual restoration, geographical attribution and chronological attribution of ancient Greek inscriptions. Ithaca is designed to assist and expand the historian's workflow. The architecture of Ithaca focuses on collaboration, decision support and interpretability. While Ithaca alone achieves 62\% accuracy when restoring damaged texts, the use of Ithaca by historians improved their accuracy from 25\% to 72\%, confirming the synergistic effect of this research tool. Ithaca can attribute inscriptions to their original location with an accuracy of 71\% and can date them to less than 30\,years of their ground-truth ranges, redating key texts of Classical Athens and contributing to topical debates in ancient history. This research shows how models such as Ithaca can unlock the cooperative potential between artificial intelligence and historians, transformationally impacting the way that we study and write about one of the most important periods in human history.},
  langid = {english},
  keywords = {_tablet},
  file = {/Users/yutang/Library/Mobile Documents/com~apple~CloudDocs/Documents/书籍/K-历史、地理/Assael et al_2022_Restoring and attributing ancient texts using deep neural networks.pdf}
}

@book{AtlanticLittleBrown,
  title = {Atlantic, {{Little}}, {{Brown Books}}},
  publisher = {{Little, Brown.}},
  googlebooks = {zvSXYgEACAAJ},
  langid = {english}
}

@misc{attributedtopolygnotos450,
  title = {Pelike (Jar) with {{Perseus}} Beheading the Sleeping {{Medusa}}},
  author = {{Attributed to Polygnotos}},
  year = {ca. 450-440 B.C.},
  abstract = {Subject: Athena Women Medusa Perseus Style: Classical},
  file = {/Users/yutang/Documents/Zotero/storage/7JSWDG35/Pelike (jar) with Perseus beheading the sleeping Medusa. Attributed to Polygnotos. Greek (Attic), Classical, red-figure, ca. 450–440 b.c. Terracotta, H. 18 ⅞ in. (47.8 cm), Diam. 13 ½ in. (34.3.png}
}

@book{babeu2011,
  title = {"{{Rome}} Wasn't Digitized in a Day": Building a Cyberinfrastructure for Digital Classicists},
  shorttitle = {"{{Rome}} Wasn't Digitized in a Day"},
  author = {Babeu, Alison},
  year = {2011},
  publisher = {{Council on Library and Information Resources}},
  address = {{Washington, DC}},
  abstract = {"The author provides a summative and recent overview of the use of digital technologies in classical studies, focusing on classical Greece, Rome, and the ancient Middle and Near East, and generally on the period up to about 600 AD. The report explores what projects exist and how they are used, examines the infrastructure that currently exists to support digital classics as a discipline, and investigates larger humanities cyberinfrastructure projects and existing tools or services that might be repurposed for the digital classics."--Landing page},
  isbn = {978-1-932326-38-3},
  langid = {english},
  keywords = {_tablet_modified},
  annotation = {OCLC: 748710625},
  file = {/Users/yutang/Library/Mobile Documents/com~apple~CloudDocs/Documents/书籍/K-历史、地理/Babeu_2011_Rome wasn't digitized in a day-Rome wasn't digitized in a day.pdf}
}

@article{badoud2018,
  title = {{La Victoire de Samothrace, d\'efaite de Philippe~V}},
  author = {Badoud, Nathan},
  year = {2018},
  journal = {Revue arch\'eologique},
  volume = {66},
  number = {2},
  pages = {279--306},
  publisher = {{Presses Universitaires de France}},
  address = {{Paris cedex 14}},
  issn = {0035-0737},
  doi = {10.3917/arch.182.0279},
  abstract = {Depuis sa d\'ecouverte en 1863, la Victoire de Samothrace a vu sa chronologie osciller entre 323 et 31~av.~J.-C., tandis que l'identit\'e de son commanditaire \'etait elle aussi d\'ebattue. L'analyse des donn\'ees arch\'eologiques et \'epigraphiques d\'emontre qu'il s'agit d'une d\'edicace rhodienne, sans doute \oe uvre du sculpteur Pythokritos, actif entre ca 210 et ca 165 av. J.-C. La prise en compte du contexte historique et topographique conduit \`a penser que le monument a \'et\'e \'elev\'e en 197 av. J.-C., au terme de la deuxi\`eme guerre de Mac\'edoine, pour comm\'emorer la d\'efaite de Philippe~V \`a la bataille de Chios, quatre ans plus t\^ot. La statue n'entretient pas de rapport \'etroit avec la frise ext\'erieure du Grand Autel de Pergame. Le navire qui en forme le pi\'edestal n'est ni une trih\'emiolie ni une t\'etr\`ere, mais une pent\`ere~; la d\'eesse ne s'y pose pas, mais en d\'ecolle apr\`es son \'epiphanie.},
  langid = {french},
  keywords = {Bataille de Chios,Battle of Chios,Philip V of Macedon,Philippe V de Macédoine,Pythokritos,Rhodes,Victoire de Samothrace,Winged Victory of Samothrace},
  file = {/Users/yutang/Documents/书籍/K-历史、地理/Badoud_2018_La Victoire de Samothrace, défaite de Philippe V.pdf}
}

@book{bailin2003,
  title = {安藤忠雄论建筑},
  translator = {白林},
  year = {2003},
  month = jan,
  publisher = {{{$<$}a href="https://book.douban.com/press/2281"{$>$}中国建筑工业出版社{$<$}/a{$>$}    {$<$}br{$>$}                                                   译者:                        {$<$}a class="" href="/search/\%E7\%99\%BD\%E6\%9E\%97"{$>$}白林{$<$}/a{$>$}    }},
  isbn = {978-7-112-05370-4},
  keywords = {/unread}
}

@book{baogangshengZhengZhiXueTongShi2015a,
  title = {政治学通识},
  author = {{包刚升}},
  year = {2015},
  month = nov,
  publisher = {{北京大学出版社}},
  abstract = {本书是作者在复旦大学政治学课程讲义的基础上修改润色而成的。本书力求成为一部通俗易懂、深入浅出的政治学普及入门读物。这部书正是为那些对政治和公共事务感兴趣的读者朋友们而写的。通过本书，作者希望能够帮助读者加深对中国政治与世界政治的认知，帮助读者理解政治学领域的重大议题、主要理论与基本方法，帮助读者养成健全与系统的政治思考能力。},
  isbn = {978-7-301-26352-5},
  annotation = {9.2/4914}
}

Buffer Files
archive.zip
Workflow Configuration

Checklist

[X] I have updated to the latest version of this workflow.
[X] I have tried manually reloading the buffer (Alfred keyword scp, select Force Buffer Reload).

I just tried your sample bibtex entry, and it works fine for me. it looks like it's not an issue with your config, but rather with your file:

[18:09:59.800] STDERR: Supercharged Citation Picker[Run Script] Error reading bibliography file /Users/yutang/Documents/Resources/Automation/Zotero/Library.bib:
(line 902, column 7):
unexpected '<'

could you copypaste the entry in your .bib file that occurs around line 902? that one should be the issue.

Thank you for the early reply! Here is the entry:
@book{<>zhongwenbanbianjibu2008,
title = {塞西尔.巴尔蒙德},
author = {《建筑与都市》中文版编辑部},
year = {2008},
month = jan,
publisher = {{{$<$}a href="https://book.douban.com/press/2311"{$>$}中国电力出版社{$<$}/a{$>$}    {$<$}br{$>$}                        副标题: 《建筑与都市》中文版发行三周年纪念特别专辑}},
abstract = {这本专集集中了塞西尔{$\cdot$}巴尔蒙德的作品和思想。塞西尔{$\cdot$}巴尔蒙德，一位世界声誉卓著的设计师、结构工程师、作家，同时身兼奥雅那工程顾问有限公司的副总裁。他用数字、音乐、数学作为重要线索重新定义了形式的源起。迄今为止，他与世界最为著名的建筑师们成功创作了许多标志性建筑及设计。最近的项目包括有，与瑞姆{$\cdot$}库哈斯合作设计的位于北京的CCTV新楼及位于葡萄牙的波尔图音乐厅以，与丹尼尔{$\cdot$}李伯斯金合作的世界贸易中心等。他还曾经在美国哈佛大学建筑研究生院、耶鲁大学建筑学院、宾西法尼亚大学等众多的大学建筑学院中任教或进行讲演，发展了形式生成的基本教义。书中大量的专门论述集中展示了塞西尔{$\cdot$}巴尔蒙德和奥雅那高级几何部门创作的业已建成的或正在进行中的作品以及迷人的创作过程。, Cecil Balmond is an internationally renowned structur..., (展开全部)},
isbn = {978-7-5083-6186-4},
keywords = {/unread}
}

yeah, that the issue, <> are not valid characters for a citekey, which is why pandoc complains. Remove the <> and it should work


GEOMESA-1733 add newlines to META-INF/services files and enforce with checkstyle plugin

fixed newlines with find . -path '*/resources/META-INF/services/*' -exec sed -i -e '$a\' {} \; and added checkstyle rule to enforce

seems like the issue the user was having was just a shade plugin version - do we still care about enforcing newlines?

EOL at the end of files will never create an issue.  As we've seen the absence of them leaves us exposed to implementation nuances of various tools and plugins (per POSIX a line ends with a newline).   If we're worried about compilation speed we can unbind the checkstyle plugin or put it behind a profile that runs during CI jobs.


looks cool - can you put up a simple example ?

I'm recently interested in immediate mode GUIs and think this looks cool :D !
Can you post an example? No worries if you're busy - I will figure it out, but I find many repos don't have a hello world example, and it stops people from using them, lol!
Once again, looks great!

There are going to be docs for it soon. In the meantime here's a commented hello-world example to get you started!
local UI2D = require "ui2d..ui2d"
lovr.graphics.setBackgroundColor( 0.2, 0.3, 0.8 )

function lovr.load()
	-- Initialize the library. You can optionally pass a font size. Default is 14.
	UI2D.Init()
end

function lovr.update( dt )
	-- This gets input information for the library.
	UI2D.InputInfo()
end

function lovr.draw( pass )
	pass:setProjection( 1, mat4():orthographic( pass:getDimensions() ) )
	-- This call marks the start of the GUI
	UI2D.NewFrame( pass )

	-- Every window should be contained in a Begin/End block. This is the start of the first window.
	UI2D.Begin( "My First Window", 100, 100 )
	if UI2D.Button( "This is my first button" ) then print( "Hello World!" ) end
	UI2D.End( pass ) -- And this is the end of the first window.

	-- This marks the end of the GUI.
	-- RenderFrame returns a table of passes generated by UI2D.
	-- Insert the main pass into that table and call lovr.graphics.submit.
	local ui_passes = UI2D.RenderFrame( pass )
	table.insert( ui_passes, pass )
	return lovr.graphics.submit( ui_passes )
end

The above example is for LOVR. If you're using the Love2D version of this library here's the adjusted hello-world example:
UI2D = require "ui2d..ui2d"

function love.load()
	-- Initialize the library. You can optionally pass a font size. Default is 14.
	UI2D.Init()
end

function love.update( dt )
	-- This gets input information for the library.
	UI2D.InputInfo()
end

function love.draw()
	love.graphics.clear( 0.2, 0.2, 0.7 )

	-- This call marks the start of the GUI
	UI2D.NewFrame()

	-- Every window should be contained in a Begin/End block. This is the start of the first window.
	UI2D.Begin( "My First Window", 100, 100 )
	if UI2D.Button( "This is my first button" ) then print( "Hello World!" ) end
	UI2D.End() -- And this is the end of the first window.

	-- This marks the end of the GUI.
	UI2D.RenderFrame()
end

thanks - will try it out

Thanks! that worked... much appreciated!


Add Mannequin user type

trying to resolve this (seen this spamming in a few places, specifically Rakuten task runner):
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'
Failed to create instance of type 'Octokit.User' - Requested value 'Mannequin' was not found.'

was actually not able to find much information about this. Seems to be for imported data (not sure from where - other github? jira? SVN? text file?). There's also no handling for it in the main octokit repo nor in more active js octokit repo

https://github.community/t/can-i-use-the-api-to-access-import-export-mannequins-list/123289


Fix predetermined eoh outputs showing on scanner info

Fixes https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/15747
This PR makes the EoH scanner info display the average star matter and stellar plasma output instead of showing the actual output of the current recipe to prevent cheese.

Got an NPE when testing

@GDCloudstrike can you make a new pr fix the npe?
@HoleFish are this pr cause the npe or the npe older ?


New auth code doesn't work if multiple accounts are signed in or you sign in to an account with access to multiple tenants.

https://github.com/microsoft/vscode-azuretools/issues/1809 affects the new code for https://github.com/Azure/bicep/issues/14101, which should ship in December.  If the bug isn't fixed before we ship, may need to work around it (I think I can at least detect the issue and ask them to sign out of one of them).

Will need to add code on our side for the moment to allow a user to select a tenant to sign into if we can't find subscriptions.

Work-around:
If you run into the error “No subscriptions found.” In the output window, please let me know, and then try this work-around: Install the “Azure Resources” extension, go to the Azure view, and see if it “Sign in to Directory…”.  If so, click it and follow instructions.  Bicep deploy should then work.
TL;DR
In the next Bicep release (due very soon), I've changed our Azure authentication code for the Deploy Bicep File… menu inside VS Code so that it no longer depends on the Azure Account extension (see https://github.com/Azure/bicep/issues/14101), and instead uses VSCode’s authentication mechanism.  This change affects deployment inside VS Code only, and does not affect the CLI or module restoration, nor does it fix the issue with VisualStudioCode credentials in bicepconfig.json).
All previous scenarios seem to be working fine, but I have seen some problems when signed in to multiple accounts (this wasn’t possible with the previous code, but is now via Azure: Sign In (azureResourceGroups.login) command) and when users have access to multiple tenants.


Assistants/main  - FE code cleanup

Cleanup FE code.

Removes most chat routes in favor of [[...slug]].tsx which will handle all scenarios for chat, conversations, agents, etc.
Fixes bugs with routing
Addresses UI bugs in the layout

AI Description

Generating pr description

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: misspia-cohere:white_check_mark: BeatrixCohere:white_check_mark: knajjars:x: giannis2twoYou have signed the CLA already but the status is still pending? Let us recheck it.


Deleting a buffer using ":bd" doesn't remove the tab before changing tabs to refresh

From time to time, when I use :bd to close a tab (that's the only solution I found other than clicking on the little cross in the tab menu using my mouse), the tab doesn't properly get removed before I refresh the tab menu, for example by switching to another tab.
In the scenario, I'm in the Main.elm file, and I type :bd. The result is as shown in the screenshot below:

I'm now in another buffer (not the next one though), and the Main.elm tab is still visible. As soon as I change tabs or open a new tab/file, the Main.elm tab disappears.
Here are the logs while doing that:
-1518598505466.log
(I added a console.log("<<<<<<<<<<<<<<<<< TAB IS STILL THERE, REFRESHING BY SWITCHING TABS") in the console to show where I switched tabs to "refresh" the tab list).
This doesn't happen all the time though... To reproduce:

Open a Session.vim file
try the :bd command it fails
move around tabs using :bnext or :bprevious: it refreshes the tab bar
try the :bd command: there's some good probability that it fails also
after some time switching around tabs, using the :bd command suddenly works as expected, and from then on it will always work (until the next :so Session.vim)

I'm using the latest released version 0.3.0, and my config.js file is as follows:
// For more information on customizing Oni,
// check out our wiki page:
// https://github.com/onivim/oni/wiki/Configuration

const activate = oni => {
    console.log("config activated")

    // Input
    //
    // Add input bindings here:
    //
    oni.input.bind("<c-enter>", () => console.log("Control+Enter was pressed"))

    //
    // Or remove the default bindings here by uncommenting the below line:
    //
    // oni.input.unbind("<c-p>")
}

const deactivate = () => {
    console.log("config deactivated")
}

module.exports = {
    activate,
    deactivate,
    //add custom config here, such as

    "ui.colorscheme": "nord",

    //"oni.useDefaultConfig": true,
    //"oni.bookmarks": ["~/Documents"],
    "oni.loadInitVim": "~/.oni/init.vim",
    //"editor.fontSize": "14px",
    //"editor.fontFamily": "Monaco"

    // UI customizations
    "ui.animations.enabled": true,
    "ui.fontSmoothing": "auto",
}

And my init.vim file is:
set ruler  " show the cursor position all the time
set showcmd  " display incomplete commands
set ignorecase  " case insensitive searches
set smartcase  " case sensitive searches if there's an uppercase letter
map <F2> :nohlsearch<cr>  " disable the highlighted searches
imap <F2> :nohlsearch<cr>

" visual indication of the 80 char column
set colorcolumn=80

" visual indication of trailing and non-breaking spaces
set list

" move through tabs with CTRL+h and CTRL+l
map <C-h> :bprevious<cr>
map <C-l> :bnext<cr>
imap <C-h> <Esc>:bprevious<cr>
imap <C-l> <Esc>:bnext<cr>

" colorscheme wombat  " wombat is saved in .vim/colors/wombat.vim

" gundo: https://github.com/sjl/gundo.vim
nnoremap <F6> :GundoToggle<CR>
let g:gundo_preview_bottom = 1  " preview changes below the current windows, using full width

let mapleader=","

"ale
let g:ale_fixers = {
\   'javascript': [
\       'prettier', 'eslint',
\   ],
\   'elm': [
\       'format',
\   ],
\   'rust': [
\       'rustfmt',
\   ],
\   'reason': [
\       'refmt',
\   ],
\}
let g:ale_linters = {'rust': ['cargo']}
let g:ale_fix_on_save = 1
nmap <silent> <C-k> <Plug>(ale_previous_wrap)
nmap <silent> <C-j> <Plug>(ale_next_wrap)

@magopian  thanks for the detailed report one quick question are you using buffers mode or tabs mode? probably buffers as this is the default, can I ask if you use :bd! or bwipeout does the issue persist. We listen for a bufwipeout event to update the tabs and on bufenter so this should be updated but we are aware that we are likely missing a few events to hook into

Hi @Akin909 I'm indeed using the default mode for tabs (which is buffers).
If I use :bd or even :bd! the bug is present.
However if I use :bwipeout the bug isn't present, and the behavior is as expected.

Ah in which case I think our handler for bufdelete (and other buffer events needs some tweaking) its primarily because figuring out which autocommand to hook into in vim to trigger the removal is actually bizarrely less straightforward than you'd imagine but definitely warrants another look

Also complete tangent do you happen to know if Elm has an lsp I doodle with it a bit and would love to integrate one for oni.

From what I understand there's no language server yet for Elm (which is awesome): see https://github.com/hakonrossebo/elm-language-server-requirements-specification


Use View controller as a coordinator

The implementation in CodeScanner.swift creates a coordinator instance to adopt AVCaptureMetadataOutputObjectsDelegate. Is there an advantage to using a coordinator instead of having ScannerViewController adopt the delegate?
The intent of a coordinator in SwiftUI seems to be to host delegates when you're using existing ViewController. In this case, since a custom ViewController is needed, there doesn't seem to be any need for a second class.

I'm going to take a look if this refactor can be done and works.


Fixes wrong cursor movement in certain situations

Minimum cursor movement for cursor up and down commands is 1 (the given parameter contains 0)
Fixes #23

This has been fixed in #25.


Problems with loading FactoryGirl

I'm trying to integrate FactoryGirl into Padrino via a plugin but it fails in weird situations.
If you try to open up a console with bundle exec padrino console it works flawlessly but I can't execute any migrations. For example bundle exec padrino rake sq:migrate:up yields:
╭─quintasan@tyria  ~/Sauce/pwr/inzynierka/api ‹ruby-2.2.1@inzynierka› ‹master*›
╰─$ bundle exec padrino rake sq:migrate:up                                                                                1 ↵
=> Executing Rake sq:migrate:up ...
/home/quintasan/Sauce/pwr/inzynierka/api/lib/factory_girl.rb:5:in `<top (required)>': uninitialized constant FactoryGirl (NameError)
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `require'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `each'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `block in require'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `each'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `require'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.10.6/lib/bundler.rb:134:in `require'
        from /home/quintasan/Sauce/pwr/inzynierka/api/config/boot.rb:8:in `<top (required)>'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/padrino-core-0.12.5/lib/padrino-core/cli/rake_tasks.rb:26:in `require'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/padrino-core-0.12.5/lib/padrino-core/cli/rake_tasks.rb:26:in `block in <top (required)>'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `call'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:199:in `each'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:199:in `invoke_prerequisites'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
        from /home/quintasan/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/padrino-core-0.12.5/lib/padrino-core/cli/base.rb:23:in `rake'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/gems/padrino-core-0.12.5/bin/padrino:9:in `<top (required)>'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/bin/padrino:23:in `load'
        from /home/quintasan/.rvm/gems/ruby-2.2.1@inzynierka/bin/padrino:23:in `<main>'

I tried debugging it with pry but when I try require "factory_girl" i get false instead of true.
To check it out just create a padrino project and apply the plugin. Am I doing it wrong or there is a problem?

I have managed to narrow it down to FactoryGirl constant not being defined despite FactoryGirl being loaded. Changing the plugin to
begin
  require 'factory_girl'
  Object.constants.include?(:FactoryGirl)
rescue LoadError
end

yields false.
Unfortunately I have no idea where to look now. Any ideas?

PR #88 @ padrino-recipes fixes this issue.
There remains one question - why is LOAD_PATH including "." when doing rake tasks but not when starting console?

It's not including ".", it includes "lib" when you run padrino rake instead of rake: https://github.com/padrino/padrino-framework/blob/dfedf85664b714876c02a023fec579f2ccf56376/padrino-core/lib/padrino-core/cli/rake.rb#L13
I will remove this unshift soon. Thanks for your report.


[WIP] Add release notes for v2.2.0-alpha.20181217

See https://github.com/cockroachdb/cockroach/issues/33029.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/f2623a76022fa4ecc65f7bb9d40dba805c15c68c/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/27335e83c0630b5021cd6a42aaa9845c5863a6ab/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/1c9c1b3867e24a5921ff66305a54574f2264a1c6/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/735d1e0b0a646899ffa54ad5aaf030e822060f44/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/686e7212ba5c9b7b83c06ceddde929596658f42c/


Old dark default avatar displayed on first login

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

Action Performed:

Login to the app
(Optional) You may need to throttle network to slow mode
Notice the dark default avatar in LHN

Expected Result:
New default avatar is displayed
Actual Result:
Old default avatar is displayed
Workaround:
unknown
Platforms:

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

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

Version Number: 1.2.90-4
Reproducible in staging?: y
Reproducible in production?: y
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
https://user-images.githubusercontent.com/43996225/228280498-427e331f-942f-4f47-a2cc-032dc9b2739b.mov
https://user-images.githubusercontent.com/43996225/228280531-c9f6db8e-9406-4eb4-93a6-9c67c34075c0.mp4
Expensify/Expensify Issue URL:
Issue reported by: @tienifr
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1679971884846299
View all open jobs on GitHub

@muttmuure Eep! 4 days overdue now. Issues have feelings too...

Seems normal that we would show a placeholder while the icon loads.

@muttmuure The problem is not about the placeholder, it's about the inconsistency. The grey avatar is from the old implementation which use 1 default image for all users.
The new avatars has been introduced here: https://github.com/Expensify/App/commit/ef06702084a5ad9027b8ba880b430be9e2ee289f


Binding generic with interface constraint to machine word causes crash

interface box IFoo[A]
  fun foo(): this->A

class Foo[A]
  var foovar: A

  new create(a: A^) =>
    foovar = a

  fun foo(): this->A => foovar

actor Main
  new create(env: Env) =>
    let v = Foo[U8](7)
    foo[U8](v)

  fun foo[A: Any #read](v: IFoo[A]) =>
    bar(v)

  fun bar(v: IFoo[Any]) =>
    let v' = v.foo()

Compiled with the --debug flag, this program crashes with a jump to NULL. Debugger call stack:
* thread #2: tid = 13056, 0x0000000000000000, name = 'pony', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x0000000000000000
    frame #1: 0x00000000004057a1 pony`Main_bar(this=0x00007ffff6eee400, v=0x00007ffff6ec5480) + 33 at bla.pony:21
    frame #2: 0x0000000000405763 pony`Main_foo__U8(this=0x00007ffff6eee400, v=0x00007ffff6ec5480) + 19 at bla.pony:18
    frame #3: 0x00000000004056f2 pony`Main_create(this=0x00007ffff6eee400, env=0x00007ffff6eedc00) + 98 at bla.pony:15
    frame #4: 0x00000000004034ef pony`Main_$dispatch + 127
    frame #5: 0x000000000040c64f pony`handle_message(ctx=0x00007ffff6eef948, actor=0x00007ffff6eee400, msg=0x00007ffff6ec5820) + 447 at actor.c:93
    frame #6: 0x000000000040c318 pony`ponyint_actor_run(ctx=0x00007ffff6eef948, actor=0x00007ffff6eee400, batch=100) + 264 at actor.c:149
    frame #7: 0x000000000040b145 pony`run(sched=0x00007ffff6eef900) + 165 at scheduler.c:263
    frame #8: 0x000000000040ae6e pony`run_thread(arg=0x00007ffff6eef900) + 46 at scheduler.c:305
    frame #9: 0x00007ffff7bc3424 libpthread.so.0`start_thread + 196
    frame #10: 0x00007ffff71e3cbd libc.so.6`__clone + 109

In non-debug builds, a ud2 instruction is generated in Main_$dispatch and the program crashes with SIGILL. Call stack and disassembly:
* thread #2: tid = 14331, 0x000000000040333c pony`Main_$dispatch + 60, name = 'pony', stop reason = signal SIGILL: illegal instruction operand
  * frame #0: 0x000000000040333c pony`Main_$dispatch + 60
    frame #1: 0x000000000040b8ff pony`handle_message(ctx=0x00007ffff6eef948, actor=0x00007ffff6eee400, msg=0x00007ffff6ec5820) + 447 at actor.c:93
    frame #2: 0x000000000040b5c8 pony`ponyint_actor_run(ctx=0x00007ffff6eef948, actor=0x00007ffff6eee400, batch=100) + 264 at actor.c:149
    frame #3: 0x000000000040a3f5 pony`run(sched=0x00007ffff6eef900) + 165 at scheduler.c:263
    frame #4: 0x000000000040a11e pony`run_thread(arg=0x00007ffff6eef900) + 46 at scheduler.c:305
    frame #5: 0x00007ffff7bc3424 libpthread.so.0`start_thread + 196
    frame #6: 0x00007ffff71e3cbd libc.so.6`__clone + 109

pony`Main_$dispatch:
    0x403300 <+0>:  pushq  %r14
    0x403302 <+2>:  pushq  %rbx
    0x403303 <+3>:  pushq  %rax
    0x403304 <+4>:  movq   %rdx, %r14
    0x403307 <+7>:  movq   %rdi, %rbx
    0x40330a <+10>: callq  0x4054b0                  ; pony_gc_recv at trace.c:20
    0x40330f <+15>: movq   0x10(%r14), %rsi
    0x403313 <+19>: movl   $0x4033a0, %edx
    0x403318 <+24>: movl   $0x1, %ecx
    0x40331d <+29>: movq   %rbx, %rdi
    0x403320 <+32>: callq  0x405730                  ; pony_traceobject at trace.c:78
    0x403325 <+37>: movq   %rbx, %rdi
    0x403328 <+40>: callq  0x4055f0                  ; pony_recv_done at trace.c:49
    0x40332d <+45>: callq  0x40a330                  ; pony_ctx at scheduler.c:491
    0x403332 <+50>: xorl   %esi, %esi
    0x403334 <+52>: movq   %rax, %rdi
    0x403337 <+55>: callq  0x40bfb0                  ; pony_alloc_small at actor.c:370
->  0x40333c <+60>: ud2

Without the generic function, everything is fine:
interface box IFoo[A]
  fun foo(): this->A

class Foo[A]
  var foovar: A

  new create(a: A^) =>
    foovar = a

  fun foo(): this->A => foovar

actor Main
  new create(env: Env) =>
    let v = Foo[U8](7)
    foo(v)

  fun foo(v: IFoo[U8]) =>
    bar(v)

  fun bar(v: IFoo[U8]) =>
    let v' = v.foo()

That's definitely a bug, thanks for finding it.
The problem here is that we have a formal parameter with an interface constraint and we're binding it to a machine word type (U8).
We've managed to get an object that the generic code thinks in an interface and therefore has a v-table, but is actually an unboxed machine word, ie it has no v-table. When the generic code tries to lookup and then jump to a function in the v-table that doesn't exist, we get a segfault.
I'm trying to get a simpler test case, but haven't managed it so far. It seems you need to go through 2 sets of generic code (Foo and IFoo here) to circumvent the existing checks.

Interestingly, the version of the compiler that we use for work ( https://github.com/Sendence/ponyc/tree/sendence-0.1.1 ) won't even compile this. It triggers illegal hardware instruction  ponyc. Looks like perhaps fixing some other bug has unearthed this one. Not sure if that info will help the investigation.

The issue is that, currently:
Foo[U8] <: IFoo[U8]
Foo[U8] !<: IFoo[Any]
IFoo[U8] !<: IFoo[Any]
IFoo[U8] <: IFoo[A] where A: Any #read
IFoo[A] <: IFoo[Any] where A: Any #read

That's a non-transitive subtype relationship. As a result, Foo[U8] in the example code has no vtable (which is correct: if you call bar() on a Foo[U8] directly, the type checker will complain). So when foo() is looked up in the vtable, and there isn't one, boom.
If we forced Foo[U8] to have a vtable, this code would appear to work, but wouldn't actually, because v' would be a pointer, but would be filled in with a machine word (the problem @andymcn referred to).
The correct solution is:
IFoo[A] !<: IFoo[Any] where A: Any #read

This is because there exists a valid binding of A for which IFoo[A] !<: IFoo[Any]. Checking the upper bounds isn't sufficient here, because of machine words.

@sylvanc - Thanks for the extended explanation!

I have a question on this. How can we use interfaces provided by machine words (like Stringable) in this context? Is it incompatible with generics?

I've been going over this, and I think there are two possible solutions to pursue.

Make type parameters that might be populated by a machine word type not a subtype of anything that might not be a machine word type.
Add enough name mangling information in codegen and vtables to correctly "box" machine words when they are passed to function parameters that expect an object type, and when they are returned from functions and used where an object type is expected.

While (1) might be somewhat easier, I'm leaning towards (2). I'm not yet sure of the specifics, but if this can be done, the machine word subtyping rule could be removed in all cases, allowing for example:
interface I
  fun apply(): Any

class C is I
  fun apply(): U32 => 4

Currently, the type checker rejects this, even though U32 <: Any, because of binary representation issues.

Some more thoughts on option (2).
In the reachability phase, we have fully reified types. When a function on a fully reified type returns a machine word, we can check to see if that type fulfils any interface or trait that has the same function (by reified name) that returns an object type. If so, we can mangle the function name by appending something, while also generating a new (codegen only) function on the type that:

has the original name
calls the original function
boxes the result

When a call to that function is generated, we will know statically whether it was a machine word return call or an object type return call, and we can call the correct function (whether statically or by dynamic dispatch). The painter will use the mangled names, so the vtable will work as expected.
Similarly, if an interface or trait function accepts a machine word parameter, and there exists one or more concrete types that fulfil the trait or interface with a function that accepts an object type parameter in the same position, we can also mangle the function name. In this case, the alternate function boxes the parameters and calls the original function. For parameters, the parameter type needs to be encoded in the mangling, so that the mangled function can accept the right width machine word and box it with the correct type descriptor.
Both parameter and result manglings may need to be applied to the same function.
The result should be applied entirely at code generation, and make subtyping simpler (and accept more subtypes). If this works, there will be no unexpected overhead (i.e. unexpected boxing of machine words), which is important.

I would lean to option 2.
Option 1 feels like a future source of weird corner cases.

#563 is the same bug.


Fix line calculation with quantity=0

1. Why is this change necessary?
With the release of Shopware 5.6 there had been changes how each order position is calculated. Those are handled now inside a separate service (yeay) but those introduce a big problem:
If you set the quantity to 0 the line is still calculated as the base price, eg. quantity=1.
This happens for example if you use Shopware ERP which sets the position's quantity to 0 if you cancel the position or the complete order.
As this breaks lots of things like the official Shopware/Pickware ERP this should be fixed ASAP.
2. What does this change do, exactly?
Skip all calculations and return 0.0 if the passed quantity isn't valid (0 or null)
3. Describe each step to reproduce the issue or behaviour.

Create an order
Change the quantity of a position to 0
Check order's invoice amount. If you have just one position and no shipping costs it will be the price of the position with qty=1 instead of 0.0

4. Please link to the relevant issues (if any).
5. Which documentation changes (if any) need to be made because of this PR?
6. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Can you write also tests?

@shyim I'm on it but will have to continue tomorrow.

After @shyim correctly mentioned the changed behaviour in RoundLineAfterQuantity I modified it to behave like the old implementation. + added more testcases

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-24727
Please use this issue to track the state of your pull request.

Thanks for your Contribution! :blue_heart:


Added fix to loading a model in wrapper generator

Added fix to loading a model in wrapper generator, added verification (save/load model) in pyspark notebook

@imatiach-msft,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

I fixed the quoting to be consistent


Resolve -Wno-int-conversion warnings

This resolves a few warnings from -Wno-int-conversion which allows us to remove this flag so that those can become errors by default now that the (valid) issues are resolved.

Looks good to me. We could actually target this at main then keep merging main to the package branch.


Remove unnecessary compile in Travis

It was needed before because formatting happened on compile. Now it's
independent.

ping @eed3si9n :smile:

I kind of like it the way it is as it ensures that everything that is aggregated by the root has its main and test sources compiled.

I'm ok either way. I don't think it adds too much to the build time.

Okay, so I'll update this task to put the scalafmt checks before compilation so that formatting is the first thing to be checked by the CI.

Yeah, I'm happy to change the order.
But yeah I advise leaning towards slightly-less-lean CI validation setup code/config. From various experiences of accidentally dropping things from being validated ("who tests the tests").


Expose metrics per vhost

Title:  Expose metrics such as latency & rps by VHost
Description:
I am looking for a way to visualize metrics by VHost or Route. Currently, they are exposed per cluster.  I did a quick ask in Slack and found that other users are parsing through the access logs and deriving this information from them. I'd prefer to see if there's a way to have them come through the included metrics mechanism that exists today.
I'm curious if anyone has similar needs in their environments, what places in the code would need to be touched, and if I could help possibly implement a PR.

This comes up occasionally. The reason we don't do this by default is cardinality explosion. The closest thing we have today to this feature is "virtual clusters": https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#envoy-api-msg-route-virtualcluster
That might be good enough for what you need.
I don't have any objections to metrics per vhost or per route, but I think it needs to be opt-in so users can control their own cardinality. This would like be an option on both the vhost/route as to whether dynamic stats should be emitted. It would be a pretty straightforward change.

Also, when SNI is finished (PR in progress right now), if you setup your config such that there is a virtual-listener per vhost (instead of defining vhosts in the http-conn-manager), you'll get stats per vhost. But not per route.

Thanks @mattklein123 & @ggreenway, going to look through those options and see if we can get the metrics we need.

Virtual clusters seems to be on per header basis. Is it possible to extend it based on path regex?

@mattklein123 This can be closed now


Add ability to set startTime, endTime and advapi32.dll location in ProcessTrace

We're using a custom file format (not ETL but like it) that is generated by BPerf and used extensively in Bing. We'd like to be able to provide to TraceEvent the abililty to locate our methods for OpenTraceW, ProcessTrace and CloseTrace.
In addition to that we'd like to be able to supply Start Time and End Time to ProcessTrace, since in our format we're able to skip and only do I/O for the events we care about.

cc @brianrob -- I'll supply the change. It should be fairly minimal and backwards compatible.


Question：which curve can be used for type-1 pairing implementation？

hi teams, I have a question for you guys. which curve can be used for type-1 pairing implementation？
any reply will be appreciated. thanks.

Hi @YinXinCryp, type-1 pairing uses supersingular elliptic curves. None is implemented in gurvy and I don't think there is an interest in doing that (at least for gurvy) as they are quite inefficient for 128-bit security (embedding degree k ≤ 6, and furthermore k ≤ 3 in characteristic not equal to 2 or 3).

@yelhousni  got it, thanks.


feat(build-node): add target minNodeVersion option to plugin-build-node

allows user to specify a version of node to target
closes #2
expected use
["@pika/plugin-build-node", {"minNodeVersion": 10}],

Thanks @scttcper for the contribution, and @marvinroger for helping!
+1 on this change, I'm going to merge and then add some documentation to the README


Implement shadower worker

What changed?
Implement shadower worker

Why?
workflow shadowing

How did you test it?
Tested locally for shadowing hello workflow sample workflows

Potential risks
N/A, shadow worker is disabled by default.

Pull Request Test Coverage Report for Build e4cab0a6-63ac-47fe-b57b-1fe0af1ebf60

144 of 183 (78.69%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 75.538%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

worker/worker.go
0
1
0.0%

internal/workflow_shadower_worker.go
91
93
97.85%

internal/workflow_shadower.go
47
56
83.93%

internal/internal_worker.go
6
33
18.18%

Totals

Change from base Build bf7d9dd2-e779-43fa-97ab-62804f446bf9:
0.09%

Covered Lines:
10104

Relevant Lines:
13376

💛  - Coveralls


Cannot find "xtensa-esp32-elf-gcc" VS on Windows  (IDFGH-8596)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
ESP-IDF 4.4
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
CMD
What is the expected behavior?
I have a problem with any code that uses xtensa-esp32-gcc

What is the actual behavior?
I added IDF_PATH, xtensa-esp32-elf
However it gives the same error

Steps to reproduce.

idf.py set-target esp32       // ok
idf.py menuconfig       // ok
idf.py build     // error
...

Build or installation Logs.
No response
More Information.
No response

What was the resolution to this issue? I have 4.4.3 installed and I'm experiencing the same issue

You need to specify the full compiler path (C:\esp\Espressif\tools\xtensa-esp32-elf...\bin\xtensa-esp32-elf-gcc) instead of just the binary name. If you are using the ESP-IDF extension for Visual Studio Code, use the ESP-IDF: Set Espressif device target so the extension will update this compiler path automatically.
Based on what you shared, seems you are running idf.py which doesn't update this c_cpp_properties.json file and you need to update it manually. I also don't t see the xtensa-esp32-elf

I had a similar issue (I'm using Rust but sharing in case it's helpful), and it was fixed when I installed MinGW using the instructions here: https://github.com/esp-rs/rust-build#prerequisites-x86_64-gnu.  Note that the 7z e command should be 7z x to maintain directory structure.  (Just the MinGW step -- for everything else I just used cargo install espup, and espup install.)