text:
Split FAM_ACCESS_ADMIN role by environment

As a Security-aware developer I want to segregate FAM access admin by environment * So That the principle of least privilege is upheld
Additional Context
-FAM Administrators currently  have access to grant admin access to all application in FAM (DEV, TEST & PROD), as per security requirements  a change to this structure is required.

A FAM access administrator can have access limited to just some environments (in downstream apps)

Acceptance Criteria

[ ] Architectural design complete and documented
[ ] Clarity on whether UI changes required

Definition of Done

[ ] Ready to Demo in Sprint Review
[ ] Does what I have made have appropriate test coverage?
[ ] Documentation and/or scientific documentation exists and can be found
[ ] Peer Reviewed by 2 people on the team
[ ] Manual testing of all PRs in Dev and Prod
[ ] Merged

**The Team needs an actual scenario AND a diagram to support this story!

Discussions with the team today points to the idea that this can be managed with the delegate access functionality.

Latest design has incorporated design for this - see https://apps.nrs.gov.bc.ca/int/confluence/display/FSAST1/Admin+Segregated+Schema+Design

authors: ArogeG basilv gormless87

repo: bcgov/nr-forests-access-management


text:
Add some more information to version select options

Not sure what date is in there (version created, plan approved) or if its working as the date has no label.

This issue will no encompass a couple other things:

Display a label the current legal version
Show a date range the plan was legal for

@calebissharp @okanji please also include the plan status at the time and who got it there, e.g., 'Approved - Lisa Moore'

Stuff to display:
is current legal version <-- should just be an indicator on one.
effective legal start date
effective legal end date
created by user
status
other stuff from endpoint:
version/snapshot id
version #.
endpoint /plan/?/versionsummary

RAN01. - Legal period (1999 dec - 2004 jan)    -  Wrongly Made (STANDS).   -   Lisa Moore.  -View

@okanji ping me when you have time to work on this (and the home screen preview thing).  I might try to get a poor man's version of the select list that is there working with legal start and end dates,  so we can slam a release out then let you carry on with the home screen thing and making this one better.
When 727 is done I can help you again learn to make test data to do this.

@okanji I like the update however there is a bit of an issue where there is a “stands” status (there are a couple of those) as they can be current legal but in current version their status isn’t showing so everything looks greyed out. I wonder if the status should be shown for these. @micheal-w-wells may have suggestions here.

@LisaMoore1 @micheal-w-wells how does this look? I decided to use same status component that has been used elsewhere in application. I have tried to make the current legal version stand out by colouring the avatar and the approved dot while greying out the other versions.
Does anyone have an RUP number that has multiple versions? I would like to take a look and see what the different statuses look like. As shown above, I could only find versions that had a status of approved.

@okanji I like the update however there is a bit of an issue where there is a “stands” status (there are a couple of those) as they can be current legal but in current version their status isn’t showing so everything looks greyed out. I wonder if the status should be shown for these. @micheal-w-wells may have suggestions here.

@LisaMoore1 thanks for the detailed feedback, the version above that I have shown a screen shot of seeks to address your suggestions

LGTM.  Best way to get @LisaMoore1 is to go ahead and PR to dev, get either @calebissharp or myself to review and then mark the issue (not the PR) as ready to test and put in the QA column.

@okanji See #760 for some comments/screenshots on this. Might be something to talk to @calebissharp and @micheal-w-wells about as I think this is touching on a few things about how we identify/categorize different statuses so it is clear to users what they are looking at.

I think our recent api changes should have fixed this one.  I don't think there's any change for Oamar here.

@micheal-w-wells Noticed a couple of funky things here.  Not sure if they are related to this issue or not. Can you take a look?

[ ] legal start/end don’t need time (might help avoid the overlap) although it is useful during all of this testing
[ ] once an amended plan hits “stands” as far as users are concerned it “stands” whether it is reviewed or not.

if changed to wrongly made it is still THE SAME amendment
the legal start and end date remain the same
no changes have been made between stands and
displaying the various versions (especially with different start/end dates/times make it seems like there are multiple amendments
[ ] can we somehow just show the most recent version of an amendment? If we had history capturing all status changes looking at that version would give us the whole picture

@micheal-w-wells I think because the plan can't be edited in any "stands" statuses, we can ignore every status when finding legal versions, except "Stands - Not Reviewed", because it's always the first one.

can we somehow just show the most recent version of an amendment? If we had history capturing all status changes looking at that version would give us the whole picture

@LisaMoore1 Maybe I'm misunderstanding, but isn't this the same as looking at the plan from the main plan page, at least while there is an amendment in progress? Then once the amendment is completed, it will appear in the versions list as "Stands" or just "Approved".

@calebissharp Yes I think that is right — main page shows the most recent. The thing that confuses me is when I look at the version list and I see all of the versions associated with that single amendment when really the most recent one (provided all the status changes are showing up in history) tells me everything I need to know — and is more clear that it is all associated with a single amendment.

i'm gonna make my afternoon goal find a way to make amendments less confusing in the version list, i think i have an idea of how to go about it

source: gharchive/issue

authors: LisaMoore1 calebissharp micheal-w-wells okanji

repo: bcgov/range-web

license_type: permissive

license_source: github-api


text:
fix: add production dockerfiles

TC-3
Objective:
Add some production dockerfiles. This can be cleaned up later.

Merging due to vacations and this is won't affect the app

source: gharchive/pull-request

repo: bcgov/talent-cloud


text:
WR-364: Theme Cards and Layouts

Tickets:
https://hive.aved.gov.bc.ca/jira/browse/WR-364

@infojunkie these should cover all the "card in columns/rows" layouts. Two, three, four per row. We still to address the Quote card and the special case cards, e.g. Publications, Explore Careers. I think that's it.

repo: bcgov/workbc-main


text:
Debug bar: Uncaught ErrorException: str_repeat(): Second argument has to be greater than or equal to 0

Uncaught ErrorException: str_repeat(): Second argument has to be greater than or equal to 0 in /home/pc/sites/oneway/system/Debug/Exceptions.php:413

Sorry it took so long - I just got back from vacation. Any chance you remember what was causing the issue? I've submitted a fix that might take care of the issue, but no real way to check...

Unfortunately I can't remember what caused that exception. Anyway I'm not sure if that your fix is the best solution for: "second argument has to be greater then or equal to 0".
str_repeat('[/span]', -1) caused that exception... even if -1 will be a string then (int)$spans will be still -1
$spans = "-1"; var_dump((int)$spans); prints (int)-1

Doh! You're correct. I was moving too quickly last night. Thanks.

license: mit

license_source: bigquery


text:
Foreign key forge

New pull request after wise comments from Mr. Ezell and Mr. Witney. Thanks.

Can't get out form_helper file. :-(


text:
Allow manual specification of pkgver

When an upstream provider is not available (e.g. #5), it would be convenient if pkgver can be specified on the bumper command-line.

Implemented as --override / -o CLI option, e.g.:
bumper -o mypackage=1.2.3 -otherpackage=3.2.1

Included in release 0.3.0, AUR package bumped.

authors: AladW bcyran

repo: bcyran/bumper

license: MIT


text:
Add credo to project

To get more consistency and readability in the code across the project I've proposed in this issue (https://github.com/beam-community/elixir-companies/issues/558) to add Credo.
This PR fixes #558
I've fixed the issues that a run of mix credo revealed. They were pretty minor, mostly doc fixes. Credo has also been added to CI so it will run on each push.

Nice! Thank you @maartenvanvliet !!! Let's wait for @doomspork to wake up and do a double check on it, ok?

Awesome :boom:

authors: doomspork gemantzu maartenvanvliet

repo: beam-community/elixir-companies


text:
frontend: Adding main UI parts of wallets selection

When the user press the button of Connect to Wallet in home screen, an
overlay screen appears with buttons for the supported wallets, allowing
the user to choose one of them by clicking the button.
The next commits should include proper tests and error handling for this
Resolves:
#661

Mohammed has left the company. Thereby I'll pick up this issue/PR and finish the remaining parts. Thanks to Mo for all his work.

Thank you @weilbith.. See you another time.. Was pleasure working with you 😊

authors: nekhaly weilbith

repo: beamer-bridge/beamer


text:
[Feature Request Deeply type-check PEP 484 and 585 Callable[...] type hints :call_me_hand:

Callable's don't seem to be type checked, unfortunately.
from beartype import beartype
from beartype.typing import Callable

@beartype
def foo(bar: Callable[[str], None]) -> None:
    bar("Hello world")

def baz() -> None:
    pass

foo(baz)

Traceback:
Traceback (most recent call last):
  File "/Users/Moosems/Desktop/estensione/test.py", line 11, in <module>
    foo(baz)
  File "<@beartype(__main__.foo) at 0x10f4dcc20>", line 33, in foo
  File "/Users/Moosems/Desktop/estensione/test.py", line 6, in foo
    bar("Hello world")
TypeError: baz() takes 0 positional arguments but 1 was given

...heh. Just noticed that, huh? Yes. It's all true. @beartype still lies about many things. To see the exhaustive list of all things @beartype still lies about, please see our BigData™ data sheet. Note that:

The "partial support" column mostly means "@beartype only shallowly type-checks this thing."
The "full support" column mostly means "@beartype only deeply type-checks this thing."

It's best not to read or believe anything everything I write. Still, the anime-fuelled @beartype 0.19.0 changelog quietly admits that the biggest offenders that have yet to be deeply type-checked are:

Iterable[...] type hints. Not hard, so I claim. Just needs a bit of spit and polish, so I claim. I'm claiming lots of things without hard evidence here.

Callable type hints (e.g., collections.abc.Callable[...], typing.Callable[...]). Thankfully, BeartypeAI™ now provides a trivial O(1) one-liner for deeply type-checking any callable type hint hint against any arbitrary callable func:
def is_func_bearable(func: Callable, hint: object) -> bool:
    return is_subhint(infer_hint(func), hint)  # <-- lolbro

Type variables (e.g., typing.TypeVar('T'). Still no idea how to dynamically generate efficient code type-checking type variables, honestly. It's feasible, but let's avoid thinking about this until there's absolutely nothing left to do. :sweat_smile:

I actually had no idea how to even inefficiently deeply type-check Callable[...] type hints. But that was before beartype.door.infer_hint(). Now, I'm pretty sure it reduces to the trivial one-liner given above.
BeartypeAI™: what doesn't that drunken dancing bear know? :champagne: :bear:

authors: Moosems leycec

repo: beartype/beartype


text:
Type declarations depend on dev dependencies

When importing quadstore@9 into a dependent project using Typescript:
node_modules/quadstore/dist/lib/quadstore.d.ts:6:25 - error TS2307: Cannot find module 'sparqlalgebrajs' or its corresponding type declarations.

6 import { Algebra } from 'sparqlalgebrajs';
                          ~~~~~~~~~~~~~~~~~

node_modules/quadstore/dist/lib/quadstore.d.ts:8:30 - error TS2307: Cannot find module '@comunica/types' or its corresponding type declarations.

8 import { IQueryEngine } from '@comunica/types';
                               ~~~~~~~~~~~~~~~~~

These modules are dev dependencies.
As types have no runtime cost I think it might be fine to make @comunica/types a core dependency. However for sparqlalgebra a bundler might pull that project into the runtime. Perhaps type-only imports & exports can help here?

This is an unfortunate situation that I'm not really sure how to get out of.

If I add those dependencies as normal dependencies, NPM will install them and unnecessarily inflate the node_modules folder with stuff that is not really needed.
If I add those dependencies as normal dependencies, bundlers might indeed pull them in (and their own dependencies!). However, this does looks like it can be solved by using type-only imports & exports as you mentioned.
If I keep them as devDependencies they'll always result in this sort of error.

What would you do?

To just complete the picture for my use-case: m-ld-js uses the sparqlalgebrajs factory to construct algebra objects. So I have to pull in this module myself anyway. This means it's bundled twice, as it's already in the quadstore-comunica bundle.

To just complete the picture for my use-case: m-ld-js uses the sparqlalgebrajs factory to construct algebra objects. So I have to pull in this module myself anyway. This means it's bundled twice, as it's already in the quadstore-comunica bundle.

Oh boy. I was not expecting that. Apologies, then - your bundle size must have grown a little bit. The reason I moved sparqlalgebrajs inside the quadstore-comunica bundle is that parsing needs to happen within Comunica for some SPARQL tests to succeed. I will revert to having sparqlalgebrajs outside of that bundle while still keeping Comunica's SPARQL parser actor around.

I think it may be possible for quadstore-comunica to export all of sparqlalgebrajs and the types from comunica.

I think it may be possible for quadstore-comunica to export all of sparqlalgebrajs and the types from comunica.

This would be possible, yes, but it would not lend itself well to use cases dealing with custom Comunica configurations other than quadstore-comunica. Reverting to shipping sparqlalgebrajs as a dependency of quadstore but keeping the SPARQL parser actor in the quadstore-comunica bundle and forcing the latter to require sparqlalgebrajs via Webpack (as it was pre-9.0) should make everyone happy.
You can expect a fix by the end of the day. Thank you for raising this!

Thanks! No problem & no huge rush.
The good news is that with a temporary import of these deps, m-ld-js+quadstore@9 is passing all unit & compliance tests!

Hello again @gsvarovsky !
Could you please try again with quadstore@9.1.0-beta.0 and quadstore-comunica@1.1.0-beta.0?

Could you please try again

It works!

Fixed in quadstore@9.1.0 and quadstore-comunica@1.1.0.

authors: gsvarovsky jacoscaz

repo: beautifulinteractions/node-quadstore


text:
Keep closing bracket and the last attribute at the same line.

Hello!
I'm facing with problem trying to setup js-beautify for my html files (vue-templates).
Output I'm trying to get is this:
<div
id="some_id"
class="a_simple_class_for_div
attribute="true"/>

For now I reach this formatting partly by using these options:
"wrap_attributes": "force-expand-multiline",
"wrap_attributes_indent_size": 0,
The only problem I can't solve is how to keep closing bracket and the last attribute at the same line. Please tell me if there is any option to handle it? Thanks a lot!

@tilonorrinco  Perhaps "force-aligned"?

authors: bitwiseman tilonorrinco

repo: beautify-web/js-beautify


text:
How to send message from client?

The server is working on android. But how can I send  simple text  message from client.

Just use any WebSocket client.
URL for connecting to the server would look like ws://<ip or hostname>:<port>

Establish a websocket connection on the client to the server. Then have the server listen for events from the client, and send events from the client to the server
see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket  for more info

I have tried on that but i did not get any useful result. Can you please send some simple example?

I have't tested this code, but it should hopefuly give you a starting point.
on the client:
var addr = //server address here
var ws = new WebSocket('ws://'+addr);
ws.send('i am sending a message!')

on the server:
socket.onMessage = function(event){
console.log('i got this message:', event)
}

Make sure your connection is established first, you can test it on the client with something like:
ws.onopen = function (event) {
console.log('connected');
}

thank you @elewin
closing now.

authors: becvert elewin shah-dev

repo: becvert/cordova-plugin-websocket-server


text:
Documentation: automated phpdoc generation and maintenance

Documentation is generated here: https://github.com/behance/nbd.php-gatekeeper.docs
https://github.com/adobe-community/issues/issues/9675

👍

👍

authors: DFoxinator amy mannytoledo


text:
Travis multi-os setup

This is to enable testing on OS X Python with Travis, alongside Linux.
Unfortunately the Python runtime is not yet available on Travis for OS X environment (cf. https://github.com/travis-ci/travis-ci/issues/2312).
Therefore, I had to use pyenv to downlaod and install the various Pythons (3.3, 3.4, 3.5 and pypy) which are not already installed on OS X. For 2.7 I test both the default system Python 2.7.5 that comes with OS X 10.9 (the default Travis OS X machine), and the Python 2.7.10 which is pre-installed on El Capitan.
For setting up the virtual environment, downloading the requirements and running the tests I use tox. This integrates nicely with pytest, which in turn can discover and run any doctests or unittests, besides its own kind of tests.
The nice thing about using tox in combination with pytest is that, if one has all the various Pythons installed locally on one's machine, then one can simply type tox and have the test suite run on all of them, each in its own isolated virtual environment. That's what the Python cool kids are now using, so we can't miss out!
BTW, thanks to setting this up, I found an issue with struct in the old Python 2.7.5 (Mavericks' default), which raises when format strings are unicodes (e.g. when one does from __future__ import unicode_literals). I fixed that in the trak table module by simply not importing unicode_literals, as it's not really needed there.
One more reasons to test as many python environments as we can :)
Oh, the build passes on my fork: https://travis-ci.org/anthrotype/fonttools/builds/96480740

:100:

authors: anthrotype behdad

repo: behdad/fonttools


text:
Notifications Module

Create a Component same as Facebook Notification Component, should only be visible after signing in. @r-kohale9
Demo link: http://nodejs-starter-kit-rishabh.herokuapp.com/

@r-kohale9, Mention demo link here.

-[ ] Push Notification
-[ ] SMS Notification
-[ ] Email Notification

repo: beingtmk/nodejs-starter-kit


text:
JGRP-2437 Log local_addr and name in JChannel

https://issues.redhat.com/browse/JGRP-2437

Applied to master. Up to you if you want a nackport to 4.x...

authors: belaban diegolovison

repo: belaban/JGroups


text:
[4.x] JGRP-2487 TLS Transport

https://issues.redhat.com/browse/JGRP-2487
This contains some fixes to make SocketFactories that return SSL sockets work in TCP (UDP and TCP_NIO are not supported).
Additionally the GossipRouter CLI has been enhanced to allow SSL configuration, including the ability to set SNI names.
@pruivo can you please add your review.
Once approved, I'll create a forward port for 5.x

OK, I'll take a look tomorrow.

Note that the wildfly-elytron dependency has been added with test scope. JGroups will not depend on it :)

OK, so I've merged your changes with slight modifications. Please look at TLS/SASLTest...

authors: belaban tristantarrant


text:
start and end parameters often result in error

Hey! First of all: great tool - this can be super useful!
I've been dabbling around with it for a bit, but it still throws a lot of errors. I especially encounter a couple of issues with the start and end parameters, e.g.:
This one works:
wayback-google-analytics -u https://tagesschau.de https://washingtonpost.com https://nytimes.com https://spiegel.de -s 01/01/2015 -f yearly -o xlsx
While this one throws an error:
wayback-google-analytics -u https://tagesschau.de https://washingtonpost.com https://nytimes.com https://spiegel.de -e 01/01/2015 -f yearly -o xlsx
Also, this one doesn't work:
wayback-google-analytics -u https://tagesschau.de https://washingtonpost.com https://nytimes.com https://spiegel.de -s 01/01/2012 -e 01/01/2015 -f yearly -o xlsx
That's what I'm getting in the console:

wayback-google-analytics -u https://tagesschau.de https://washingtonpost.com https://nytimes.com https://spiegel.de -s 01/01/2012 -e 01/01/2015 -f yearly -o xlsx
Retrieving current codes for:  https://tagesschau.de
Finished gathering current codes for:  https://tagesschau.de
Retrieving archived codes for:  https://tagesschau.de
CDX url:  http://web.archive.org/cdx/search/cdx?url=https://tagesschau.de&matchType=domain&filter=statuscode:200&fl=timestamp&output=JSON&collapse=timestamp:4&limit=5&from=20120101000000&to=20150101000000
Timestamps from CDX api:  ['20120101145508', '20130101134651', '20140101002220']
Retrieving codes from url:  https://web.archive.org/web/20140101002220/https://tagesschau.de
Finish gathering codes for:  https://web.archive.org/web/20140101002220/https://tagesschau.de
Retrieving codes from url:  https://web.archive.org/web/20130101134651/https://tagesschau.de
Finish gathering codes for:  https://web.archive.org/web/20130101134651/https://tagesschau.de
Retrieving codes from url:  https://web.archive.org/web/20120101145508/https://tagesschau.de
Finish gathering codes for:  https://web.archive.org/web/20120101145508/https://tagesschau.de
Finished retrieving archived codes for:  https://tagesschau.de
Retrieving current codes for:  https://nytimes.com
Finished gathering current codes for:  https://nytimes.com
Retrieving archived codes for:  https://nytimes.com
CDX url:  http://web.archive.org/cdx/search/cdx?url=https://nytimes.com&matchType=domain&filter=statuscode:200&fl=timestamp&output=JSON&collapse=timestamp:4&limit=5&from=20120101000000&to=20150101000000
Timestamps from CDX api:  ['20120101010418', '20130101011853', '20140101005350']
Retrieving current codes for:  https://spiegel.de
Finished gathering current codes for:  https://spiegel.de
Retrieving archived codes for:  https://spiegel.de
CDX url:  http://web.archive.org/cdx/search/cdx?url=https://spiegel.de&matchType=domain&filter=statuscode:200&fl=timestamp&output=JSON&collapse=timestamp:4&limit=5&from=20120101000000&to=20150101000000
Retrieving codes from url:  https://web.archive.org/web/20140101005350/https://nytimes.com
Finish gathering codes for:  https://web.archive.org/web/20140101005350/https://nytimes.com
Retrieving codes from url:  https://web.archive.org/web/20130101011853/https://nytimes.com
Finish gathering codes for:  https://web.archive.org/web/20130101011853/https://nytimes.com
Timestamps from CDX api:  ['20120101003932', '20130101025925', '20140101051638', '20120102042211', '20130107072516']
Retrieving codes from url:  https://web.archive.org/web/20130101025925/https://spiegel.de
Finish gathering codes for:  https://web.archive.org/web/20130101025925/https://spiegel.de
Retrieving codes from url:  https://web.archive.org/web/20140101051638/https://spiegel.de
Finish gathering codes for:  https://web.archive.org/web/20140101051638/https://spiegel.de
Retrieving codes from url:  https://web.archive.org/web/20120102042211/https://spiegel.de
Finish gathering codes for:  https://web.archive.org/web/20120102042211/https://spiegel.de
Retrieving codes from url:  https://web.archive.org/web/20120101010418/https://nytimes.com
Finish gathering codes for:  https://web.archive.org/web/20120101010418/https://nytimes.com
Finished retrieving archived codes for:  https://nytimes.com
Retrieving codes from url:  https://web.archive.org/web/20130107072516/https://spiegel.de
Finish gathering codes for:  https://web.archive.org/web/20130107072516/https://spiegel.de
Retrieving codes from url:  https://web.archive.org/web/20120101003932/https://spiegel.de
Finish gathering codes for:  https://web.archive.org/web/20120101003932/https://spiegel.de
Finished retrieving archived codes for:  https://spiegel.de
Retrieving current codes for:  https://washingtonpost.com
Finished gathering current codes for:  https://washingtonpost.com
Retrieving archived codes for:  https://washingtonpost.com
CDX url:  http://web.archive.org/cdx/search/cdx?url=https://washingtonpost.com&matchType=domain&filter=statuscode:200&fl=timestamp&output=JSON&collapse=timestamp:4&limit=5&from=20120101000000&to=20150101000000
Timestamps from CDX api:  ['20120101003932', '20130101002535', '20140101000350', '20120229065623', '20130626071932']
Retrieving codes from url:  https://web.archive.org/web/20130626071932/https://washingtonpost.com
Finish gathering codes for:  https://web.archive.org/web/20130626071932/https://washingtonpost.com
Retrieving codes from url:  https://web.archive.org/web/20130101002535/https://washingtonpost.com
Finish gathering codes for:  https://web.archive.org/web/20130101002535/https://washingtonpost.com
Retrieving codes from url:  https://web.archive.org/web/20140101000350/https://washingtonpost.com
Finish gathering codes for:  https://web.archive.org/web/20140101000350/https://washingtonpost.com
Retrieving codes from url:  https://web.archive.org/web/20120101003932/https://washingtonpost.com
Finish gathering codes for:  https://web.archive.org/web/20120101003932/https://washingtonpost.com
Retrieving codes from url:  https://web.archive.org/web/20120229065623/https://washingtonpost.com
Finish gathering codes for:  https://web.archive.org/web/20120229065623/https://washingtonpost.com
Finished retrieving archived codes for:  https://washingtonpost.com
[{'https://tagesschau.de': {'current_UA_code': [], 'current_GA_code': [], 'current_GTM_code': [], 'archived_UA_codes': {}, 'archived_GA_codes': {}, 'archived_GTM_codes': {}}}, {'https://washingtonpost.com': {'current_UA_code': [], 'current_GA_code': [], 'current_GTM_code': [], 'archived_UA_codes': {}, 'archived_GA_codes': {}, 'archived_GTM_codes': {}}}, {'https://nytimes.com': {'current_UA_code': [], 'current_GA_code': [], 'current_GTM_code': [], 'archived_UA_codes': {}, 'archived_GA_codes': {}, 'archived_GTM_codes': {}}}, {'https://spiegel.de': {'current_UA_code': [], 'current_GA_code': [], 'current_GTM_code': [], 'archived_UA_codes': {}, 'archived_GA_codes': {}, 'archived_GTM_codes': {}}}]
Traceback (most recent call last):
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/bin/wayback-google-analytics", line 8, in
sys.exit(main_entrypoint())
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/wayback_google_analytics/main.py", line 182, in main_entrypoint
asyncio.run(main(args))
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/wayback_google_analytics/main.py", line 100, in main
write_output(output_file, args.output, results)
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/wayback_google_analytics/output.py", line 67, in write_output
codes_df = get_codes_df(results)
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/wayback_google_analytics/output.py", line 183, in get_codes_df
codes_df.groupby("code")
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/pandas/core/frame.py", line 8872, in groupby
return DataFrameGroupBy(
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/pandas/core/groupby/groupby.py", line 1274, in init
grouper, exclusions, obj = get_grouper(
File "/mypath/wayback-google-analytics/wayback-google-analyticsEnvironment/lib/python3.10/site-packages/pandas/core/groupby/grouper.py", line 1009, in get_grouper
raise KeyError(gpr)
KeyError: 'code'

Any idea what's going on? Many thanks!

Thanks for flagging this.
The error is in this line: https://github.com/bellingcat/wayback-google-analytics/blob/525ed217e527a979ba5c7a70a208366e28a1b752/wayback_google_analytics/output.py#L183
by inspection, the KeyError can only occur if the code_list variable is empty []. full code for that is here
To replicate:
import pandas as pd
df = pd.DataFrame([])
df.groupby("code")
# --> KeyError "code"

This means the results did not retrieve any valid codes, I'll wait for @jclark1913 's input, but the fix should be about not doing the groupby opeartion on empty code results.

Great catch here, @Tiptop4792 . I think @msramalho is spot on in his assessment - I'll step through the code to see if there are other KeyErrors when not finding codes and make a PR that fixes this issue.

Thank you @msramalho & @jclark1913 for the quick fix - it works! 👏

repo: bellingcat/wayback-google-analytics


text:
Ошибка загрузки svg на bem.info

Привет. Тут что то у меня не загрузились картинки
http://awesomescreenshot.com/0294ij0mdd
Версия браузера chrome Версия 42.0.2311.11 dev (64-bit)
OS Lubuntu 14.10

@rtxrulez Спасибо, починим!

authors: rtxrulez tadatuta

repo: bem/bem-forum-content-ru


text:
bh-php -> bh-js

Кто-то пробовал конвертировать шаблоны на PHP в JS для работы на клиентской стороне?
Чтобы можно было спокойно писать шаблоны на сервере и работать с ними на клиенте без ручного переписывания.
Наткнулся вот на такой репозиторий
https://github.com/dan-da/php2js

@belozyorcev Пробовали. Не срослось. Сейчас делаю copy-paste + регулярками прохожу и убираю $ в переменных.

@kompolom ну $$-то можно не убирать регулярками, в js их можно использовать

@kompolom а этого разве достаточно? Или ограниченный набор операторов используете?

@belozyorcev Стараемся не усложнять шаблоны. Но, иногда бывает недостаточно. Тем не менее руками поправить обычно не долго. Если уж совсем сложно, то пишем тесты на шаблоны и подгоняем вывод. Но это крайне редко.

authors: belozyorcev kompolom zxqfox


text:
support cssnano 4

Would be nice to support cssnano 4

I've opened a pull request that fixes this: https://github.com/ben-eb/gulp-cssnano/pull/104
It fails the CI-test, but that's because CSSNano 4 apparently uses ES6-syntax, so the Node engine needs to be at least 6.9... but the CI-tests are running on somewhere between 0.12 and 5. With a new'ish Node you won't have problems.

authors: DonGissel gharlan

repo: ben-eb/gulp-cssnano


text:
Unable to npm run i18

Describe the bug
I tried adding new keys to translations and ran npm run i18 and it failed.
To Reproduce
Steps to reproduce the behavior:

Add a new key in public/locales/en/translations.json
Run npm run i18

Expected behavior
The translations should be synced
Screenshots

What device are you on?
Windows 10
Additional context
Was making overlay for electron app so needed to add the set keybind translation key.
Output

PS E:\Projects\dogehouse\kofta> npm run i18

> kofta@0.1.0 i18 E:\Projects\dogehouse\kofta
> npm run gen:i18:keys && npm run sync:i18

> kofta@0.1.0 gen:i18:keys E:\Projects\dogehouse\kofta
> ts-node --project scripts/tsconfig.json scripts/generateTranslationTypes.ts

> kofta@0.1.0 sync:i18 E:\Projects\dogehouse\kofta
> ts-node --project scripts/tsconfig.json scripts/syncTranslations.ts

E:\Projects\dogehouse\kofta\scripts\syncTranslations.ts:12
fs.readdirSync(join(__dirname, "../public/locales")).forEach((locale) => {
                                                     ^
SyntaxError: Unexpected token < in JSON at position 5388
    at JSON.parse (<anonymous>)
    at E:\Projects\dogehouse\kofta\scripts\syncTranslations.ts:22:20
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (E:\Projects\dogehouse\kofta\scripts\syncTranslations.ts:12:54)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Module.m._compile (E:\Projects\dogehouse\kofta\node_modules\ts-node\src\index.ts:1056:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Object.require.extensions.<computed> [as .ts] (E:\Projects\dogehouse\kofta\node_modules\ts-node\src\index.ts:1059:12)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! kofta@0.1.0 sync:i18: `ts-node --project scripts/tsconfig.json scripts/syncTranslations.ts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the kofta@0.1.0 sync:i18 script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\amito\AppData\Roaming\npm-cache\_logs\2021-03-19T23_27_42_002Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! kofta@0.1.0 i18: `npm run gen:i18:keys && npm run sync:i18`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the kofta@0.1.0 i18 script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Check for a stray or missing comma in one of the Translation.json files.

repo: benawad/dogehouse


text:
why docker compose up failed

why this failed and what is purpose of python

You have to go the Server location as described here https://github.com/benawad/dogehouse#structure
If you want to start the Voice Server go into the folder shawarma

https://github.com/benawad/dogehouse/pull/118
This why this is telling to make run docker compose up in dogehouse dir and said to make docker yml file.
I think I should  manually setup the project.

Which docker-compose file are you using?
The error clearly says Cannot locate specified Dockerfile: Dockerfile, so you are missing a Dockerfile

You can't use docker-compose up. This project does not have a docker-compose file.
You need to run docker build then docker run IE:

Build the Image (from the root of the project)
 docker build -t dogehouse-shawarma:local -f ./shawarma/Dockerfile

Start the container
dogehouse-shawarma:local is the tagged image name.
 docker run -dp 3000:3000 dogehouse-shawarma:local

You can't use docker-compose up. This project does not have a docker-compose file.
You need to run docker build then docker run IE:
Build the Image (from the root of the project)
 docker build -t dogehouse-shawarma:local -f ./shawarma/Dockerfile

Start the container
dogehouse-shawarma:local is the tagged image name.
 docker run -dp 3000:3000 dogehouse-shawarma:local

Yes the project does not have docker compose, but someone in issues has told that, now I am setting it manually

You can't use docker-compose up. This project does not have a docker-compose file.
You need to run docker build then docker run IE:
Build the Image (from the root of the project)
 docker build -t dogehouse-shawarma:local -f ./shawarma/Dockerfile

Start the container
dogehouse-shawarma:local is the tagged image name.
 docker run -dp 3000:3000 dogehouse-shawarma:local

I am setting the environment manually

authors: markxoe nhalstead tanay-pingalkar


text:
Login Page flashes when navigating to base URL

Describe the bug
When logged in and navigating to the base url e.g. "https://dogehouse.tv/", the login screen flashes for a split second.
Potentially not handling authenticated users and seem to navigate away from login screen.
To Reproduce
Steps to reproduce the behavior:

navigate to base url when logged in.
See login page flash before navigating to dash.

Expected behavior
Authenticated uses should automatically be on dash from root.
React Route for "/" && "/dash" should be the same.
Screenshots
Have video if required.
What device are you on?
Windows 10 PC Edge Browser

Yeah, that is expected. We can't really do anything because the login screen needs to recognize the tokens, can't stop that from happening.

Is this a related issue with oauth then?

It is not an issue. It's probably https://github.com/benawad/dogehouse/labels/expected-behavior-but-awkward-and-could-get-rework

authors: NickersWeb samarmohan


text:
fix(kibbeh): redirect with 301 instead of 404

fix #2811
The suggestion to completely remove the 404 page and use the next redirect  does not actually work. Next.js does not let us grab the 404 redirects like that. There is an open issue on that with a workaround which is currently being used in the Dogehouse frontend too.  So that basically ends that primary point on that issue.
But the use of 301 redirects instead of 404 is reasonable. But we can not write the status code with next router. So I ended up using nextjs-redirect which is a zero dependency module that solves this issue with no hassle. By default, it sets the 301 status code so there is no config needed on that.
Another reason to use 301 instead of 404 is that in browsers like Brave it detects the 404 redirects and shows a dialogue box on top of the screen. Using 301 solves that issues.

we don't need an external package for this, and why have you deleted yarn.lock. i'm gonna close this pr as it is unnecessary

@amitojsingh366 How do you suggest redirecting with a 301 status code? It's a zero dependency package so I don't think it would have made any performance or build size issue. And I didn't delete the lock I think it was updated because of the newly added package.
Anyway, this issue remains in Brave browser because of the 404 status. Also 404 redirect is misleading since the goal is to not have any 404 pages.

@amitojsingh366 How do you suggest redirecting with a 301 status code? It's a zero dependency package so I don't think it would have made any performance or build size issue. And I didn't delete the lock I think it was updated because of the newly added package.
Anyway, this issue remains in Brave browser because of the 404 status. Also 404 redirect is misleading since the goal is to not have any 404 pages.

ill handle it


text:
Russian translation

Added Russian translation

Please pull from staging and use staging as base branch.

authors: egoomni nadirabbas


text:
fix(ccExp): remove ccExp element from parent form on destroy

Since we've added ccExp element to the parent form (via $setValidity), if user remove & add ccExp multiple times (for example as a child of a ng-if directive), the parent form will always keep the ccExp invalid state.
This merge request solve the above problem by removing the ccExp element from the parent form on $destroy.

Please add a test, I won't merge without.

Hey there, closing based on the lack of tests. If you're interested in including this and writing a test I'd be happy to merge it anytime, seems straightforward enough.

authors: bendrucker phuvo

repo: bendrucker/angular-credit-cards


text:
Implement Amey Announcements

It would be great if Phil Sayer & Celia Drummond announcements were implemented into the departure boards. They have been made available at https://github.com/Rail-Announcements/ketech-llpa-announcements

Wow, I didn't know there was such a dataset like this. Thanks for finding this it looks great. I'll take a look into how I could use it for the leddepartureboard website

Hey! Any progress with this?


text:
CHF

Great map, guys!  Just FYI, the one symbol you are missing, the Swiss franc (CHF) is commonly abbreviated Fr in Switzerland.

Hi, thank you :smile: Do you live/spend a lot of time in Switzerland? If so, which would you say is more commonly displayed, Fr or CHF?
We already have it in the map as CHF but I will change it if you know that Fr is more common.

authors: Landsberger bengourley

repo: bengourley/currency-symbol-map


text:
🛑 tildegit is down

In f2ace0a, tildegit (https://tildegit.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: tildegit is back up in f25514d after 15 minutes.

repo: benharri/upptime


text:
Changed colors

I noticed that base16-tomorrow had bold-green text (color 11) that was grey. I changed that to be green and it looks much better. Now, I can see my bash prompt. I also changed a few other bold versions of colors not to be grey, and I changed ANSI white to be white.

Booted windows to test this, Confirmed looks reasonable, Thanks!


text:
Issue #1702 fix

Fix for [#1702].
Now export and export type statements are handled separately with the same logic.

Coverage increased (+0.007%) to 97.804% when pulling 4207cba006548404f9e6a39d7e1138beab551e41 on ernestostifano:feature/issue-1702 into 71ca88f0a1e7e1270f1c1f9633d3ae8f136f58e1 on benmosher:master.

Coverage increased (+0.007%) to 97.804% when pulling 4207cba006548404f9e6a39d7e1138beab551e41 on ernestostifano:feature/issue-1702 into 71ca88f0a1e7e1270f1c1f9633d3ae8f136f58e1 on benmosher:master.

Coverage increased (+0.007%) to 97.804% when pulling 4207cba006548404f9e6a39d7e1138beab551e41 on ernestostifano:feature/issue-1702 into 71ca88f0a1e7e1270f1c1f9633d3ae8f136f58e1 on benmosher:master.

Coverage increased (+0.007%) to 97.804% when pulling 4207cba006548404f9e6a39d7e1138beab551e41 on ernestostifano:feature/issue-1702 into 71ca88f0a1e7e1270f1c1f9633d3ae8f136f58e1 on benmosher:master.

Coverage increased (+0.007%) to 97.804% when pulling 4207cba006548404f9e6a39d7e1138beab551e41 on ernestostifano:feature/issue-1702 into 71ca88f0a1e7e1270f1c1f9633d3ae8f136f58e1 on benmosher:master.

Coverage increased (+0.007%) to 97.804% when pulling 4207cba006548404f9e6a39d7e1138beab551e41 on ernestostifano:feature/issue-1702 into 71ca88f0a1e7e1270f1c1f9633d3ae8f136f58e1 on benmosher:master.

Note: If .idea files shall be kept, then .idea/codeStyles/Project.xml and .idea/inspectionProfiles/Project_Default.xml can be adjusted to match project rules. If not, then .gitignore changes can be reverted and the whole .idea directory can be deleted.

I will close this pull request and make a new one with a simpler commit history. Current commits have wrong author data (Sourcetree messed up).

Please do not do that - please restore the branch and reopen this PR.

I can help you rebase this one, but a new PR makes clutter i can never ever clean up.

I tried several ways to amend commits author data with no success. Should I restore the deleted forked repository? Can I fork it again and point this pull request to a new branch? I have saved all the changes I made, so no work is lost. Please let me know.

Ah, if you deleted the fork, then that’s unrecoverable. In the future, please don’t delete a fork with an unmerged PR.
Maintainers can always clean up the branch before merging.

I am sorry if I did wrong. Lesson learned. Should I create a new PR with the issue fix?

@ljharb wrote to GitHub. Everything is restored. When you have time, we can clean up commits.

Why have coverage decreased if it was increased before? Also why are not all checks passing now?

Some tests are skipped in older eslint versions. CI jobs with older eslint report lower coverage. Therefore sometimes coveralls reports decreased coverage randomly.

@ernestostifano thank you! I've rebased it, and removed the .idea stuff which belongs in your personal global gitignore, and not in every project you happen to touch. I'll review soon.

@ljharb no worries. I didn't want to cause trouble. Would you please correct the current author email address of the commit? That is what I was trying to do.
Practically, author should be:
Ernesto Stifano <ernesto.stifano@codistica.com>
Sourcetree provided the wrong email address. Thanks.

No problem, ran git ci --amend --author='Ernesto Stifano <ernesto.stifano@codistica.com>' and rebased :-)

authors: coveralls ernestostifano golopot ljharb

repo: benmosher/eslint-plugin-import


text:
Help

Je ne comprend pas d'où vient le bug donc je te soumets, car même en "affichant la bonne réponse" puis en validant la réponse est incorrect...

!

@Guigui7707  Bug très instructif : tu as mis le doigt sur une limite de la comparaison des expressions : - (2) et -2 n'était pas considérés comme égaux.
Il faudra certainement plus de tests pour améliorer la solidité du moteur d'expression et éviter ce genre de problème !

repo: benoitkugler/maths-online


text:
Update for Phoenix 1.7

I tried using live motion on phoenix 1.7 and there was compatibility issues, so I forked the repo and updated phoenix. It worked.
Will this repo be updated for new phoenix?

#14

As @DennisNissen said. Can you try v0.3.1? It should be fixed by now.

authors: DennisNissen benvp ken-kost


text:
Improved mathjax process: add the theorem environments and beautify HTML code preview

I have add the following code as an extension of mathjax.

Extension of Theorem environments
You can add the following code to UserCustom extension to obtain the following function:

   userCustom.onPagedownConfigure = function(editor) {
        editor.hooks.chain("onPreviewRefresh", function() {
            MathJax.Hub.Queue(["resetEquationNumbers", MathJax.InputJax.TeX]);
        });
    };

userCustom.onPagedownConfigure = function (editor) {
    var converter = editor.getConverter();
    var preConversion = converter.hooks.preConversion;
    var array = {
        "thm": "Theorem",
        "lem": "Lemmma",
        "cor": "Corollary",
        "prop": "Property",
        "defn": "Definition",
        "rem": "Remark",
        "prob": "Problem",
        "excs": "Exercise",
        "examp": "Example",
        "proof": "Proof"
    };
    converter.hooks.preConversion = function (text) {
        text = text.replace(/\\begin{(thm|lem|cor|prop|defn|rem|prob|examp|excs|proof)}\n*([\s\S]*?)\\end{\1}/g, function (wholeMatch, m1, m2) {
            return '<' + m1 + '>' + m2 + '</' + m1 + '>';
        });
        text = text.replace(/\\ref{(thm|lem|cor|prop|defn|rem|prob|examp|excs|proof):([\s\S]*?)}/g, function (wholeMatch, m1, m2) {
            return '' + array[m1] + ' ' + m2 + '' + m1 + ':' + m2 + '';
        });
        text = text.replace(/\\(section|subsection|subsubsection|title|author|date){([\s\S]*?)}/g, function (wholeMatch, m1, m2) {
            if (m1 == 'section') {
                return '###' + m2;
            } else if (m1 == 'subsection') {
                return '####' + m2;
            } else if (m1 == 'subsubsection') {
                return '#####' + m2;
            } else if (m1 == 'title') {
                return '##' + m2;
            } else if (m1 == 'author') {
                return '
' + m2 + '
';
            } else if (m1 == 'date') {
                return '
' + m2 + '
';
            }
        });
        return preConversion(text);
    };
    converter.hooks.chain("preBlockGamut", function (text, blockGamutHookCallback) {

        var num_thm = 0;
        var num_excs = 0;

        return text.replace(/<(thm|lem|cor|prop|defn|rem|prob|examp|excs|proof)>([\s\S]*?)<\/\1>/g, function (wholeMatch, m1, m2) {
            var strreturn;
            if (m1 == "proof") {
                strreturn = '
' + array[m1] + '.' + m2 + '□
';
                strreturn = blockGamutHookCallback(strreturn);
            } else if (m1 == "excs" | m1 == "examp" | m1 == "prob") {
                strreturn = '\n
' + array[m1] + ' ' + num_excs + '. ' + m2 + '
';
                strreturn = blockGamutHookCallback(strreturn);
            } else {
                strreturn = '\n
' + array[m1] + ' ' + num_thm + '. ' + m2 + '
';
                strreturn = blockGamutHookCallback(strreturn);
            }
            return strreturn;
        });
    });
};

userCustom.onReady = function () {
    $("head")
        .append($(
            ''));
};

Beautify the HTML code of preview
You can make the output HTML code almost the same as it should be in a TeX code, this is quite useful when you use stackedit as a mid-step (as an WYSIWYG editor) , but finally you want to obtain a tex code. add the following to Button HTML code

<% var output=$ ( "
").html(documentHTML);
output.find( ".MathJax, .MathJax_SVG_Display, .MathJax_Display, .MathJax_SVG, .MathJax_Preview, .latex_link, .latex_ref, .latex_strong, .latex_proofend").remove();
output.find( 'script[type="math/tex"]').each(function() { $(this).replaceWith( '$' + this.innerHTML
+ '$'); });
output.find( 'script[type="math/tex; mode=display"]').each(function() { $(this).replaceWith( '$$' + this.innerHTML + '$$'); });
output.find( 'h2').each(function() { $(this).replaceWith( '\\title{' + this.innerHTML + '}'); });
output.find( 'h3').each(function() { $(this).replaceWith( '\\section{' + this.innerHTML + '}'); });
output.find( 'h4').each(function() { $(this).replaceWith( '\\subsection{' + this.innerHTML + '}'); });
output.find( 'h5').each(function() { $(this).replaceWith( '\\subsubsection{' + this.innerHTML + '}'); });
output.find( 'p').each(function() { $(this).replaceWith(  this.innerHTML); });
output.find( ".latex_author").each(function() { $(this).replaceWith( '\\author{'+ this.innerHTML+'}'); });
output.find( ".latex_date").each(function() { $(this).replaceWith( '\\date{'+ this.innerHTML+'}'); });
output.find( ".latex_ref").each(function() { $(this).replaceWith( '\\ref{' +this.innerHTML+'}'); });
output.find( ".latex_ref_nodisplay").each(function() { $(this).replaceWith( '\\ref{' +this.innerHTML+'}'); });
output.find( ".latex_thm").each(function() { $(this).replaceWith( '\\begin{thm}' +this.innerHTML+'\\end{thm}'); });
output.find( ".latex_lem").each(function() { $(this).replaceWith( '\\begin{lem}' +this.innerHTML+'\\end{lem}'); });
output.find( ".latex_prop").each(function() { $(this).replaceWith( '\\begin{prop}' +this.innerHTML+'\\end{prop}'); });
output.find( ".latex_rem").each(function() { $(this).replaceWith( '\\begin{rem}' +this.innerHTML+'\\end{rem}'); });
output.find( ".latex_cor").each(function() { $(this).replaceWith( '\\begin{cor}' +this.innerHTML+'\\end{cor}'); });
output.find( ".latex_defn").each(function() { $(this).replaceWith( '\\begin{defn}' +this.innerHTML+'\\end{defn}'); });
output.find( ".latex_prob").each(function() { $(this).replaceWith( '\\begin{prob}' +this.innerHTML+'\\end{prob}'); });
output.find( ".latex_examp").each(function() { $(this).replaceWith( '\\begin{examp}' +this.innerHTML+'\\end{examp}'); });
output.find( ".latex_excs").each(function() { $(this).replaceWith( '\\begin{excs}' +this.innerHTML+'\\end{excs}'); });
output.find( ".latex_proof").each(function() { $(this).replaceWith( '\\begin{proof}' +this.innerHTML+'\\end{proof}'); });
var str=output.html();
output.html(str.replace(/\n+/gi, '\n')
.replace(/\\begin{(.*)?}(\[.*\])?(.*)\\end{\1}/, '\\begin{$1}$2\n$3\n\\end{$1}\n'));
print(output.html());
%>

@vanabel Great extension! Any plan to port this to MathJax v3? Thanks.

repo: benweet/stackedit


text:
Basic Authentication Submission

Submission

Hello

Good Job Radwan! 😎
Your code quality is good 👍 Try to apply the below changes to enhance the code quality & readability.

I have applied all suggested fixes. Hopefully this improves code quality even more!


text:
docs: Example improvements - handle WouldBlock correctly, typo

Fixes #12
I didn't actually try it out, it fails to compile with
error[E0046]: not all trait items implemented, missing: `bytes_to_read`, `bytes_to_write`, `clear`
   --> src/unix.rs:134:1
    |
134 | impl SerialPort for Serial {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `bytes_to_read`, `bytes_to_write`, `clear` in implementation
    |
    = note: `bytes_to_read` from trait: `fn(&Self) -> std::result::Result<u32, serialport::Error>`
    = note: `bytes_to_write` from trait: `fn(&Self) -> std::result::Result<u32, serialport::Error>`
    = note: `clear` from trait: `fn(&Self, serialport::ClearBuffer) -> std::result::Result<(), serialport::Error>`

But that's not due to something I did, so I hope I just got the example right :-/

Yup, same issue as #14.  Hopefully I can get a push up to crates.io in the next few days.

Try rebasing against master?  I just pushed a new version that pins the serialport-rs dependency to 3.0

I've merged in upstream, it compiled on my machine so I hope the CI checks will pass as well..

authors: berkowski dvtomas

repo: berkowski/mio-serial


text:
Fix: FlatFileDriver does not notice new messages

FlatFileDriver does not notice new messages until the polling duration ends.
So we should update the $files. 💡

I think we should check if the problem still persists after merge of #308 and merge this after!

@acrobat #308 seems it is not active. 👀 Would you please merge this as before #308 ?

@ackintosh I will take a look at this PR later today!

Sorry for the delay! Changes look good to me, but can you add a test for this behavior (messages added after the initial collect)?

@acrobat @sagikazarmark Thank you for your review! I replaced Snidel with pcntl_fork.

I fixed it!

After going trough this PR I realized that it probably affects performance as well since between the loops it reads the whole file list again.
I would love to see some benchmarks comparing this version to the previous one, just to make sure it does not introduce a performance regression.
But I don't think it blocks merging @acrobat !

I will try to do some benchmarks before merging, just to be sure we don't have (huge) performance regressions or if you are able to do some tests (or blackfire profiles) @ackintosh would be nice to! (Not sure if I will find time before mid next week or so)

I would not say that this could cause a performance bug because it is only reading the directory again if there are no files.
The other solution would be to not enter the while loop because it makes no sense to run when there are no files. But this would cause the job to quit and it must be restarted manually or automatically.
So for my opinion this is the better solution as the runtime is used to find messages and not to always ask the driver again and again. But I think there is not the right way for it.

I've tried to benchmark with blackfire and it seems there's no critical performance problems.
Here is the sample code used on benchmark and the results of profile. Please let me know if there's something wrong on the result or my profiling.

test.php

<?php
require_once(__DIR__ . '/vendor/autoload.php');

$driver = new \Bernard\Driver\FlatFile\Driver(__DIR__ . '/queue');

$driver->createQueue('test');

list($message,) = $driver->popMessage('test', 30);

var_dump($message);

before(master)

https://blackfire.io/profiles/eb65f6df-c03f-43be-8fa4-be953c471c95/graph

after(this PR)

https://blackfire.io/profiles/bd1aec80-1ee9-406e-bf62-8492a307c4b1/graph

Resolved the conflicts between master branch. 😉
https://github.com/bernardphp/bernard/pull/330/commits/0923aa3b81dd0f1ed9123661a10f454f101a87cc

authors: ackintosh acrobat reinfi sagikazarmark

repo: bernardphp/bernard


text:
Zeebe grpc duplicate message error is not triggered.

Hi,
It seems that Zeebe does not raise a Duplicate Message Error when I publish the same message more than once. I was under the impression that this is a supported and standard feature of Zeebe and I have encountered it before outside using Zeebe with Spring boot. Could someone please confirm or deny whether this is an expected behavior or am I missing something?
Thank you

Yeah. It is strange.
I have put some dummy values here to trigger for the duplicate message exception:
Sending the message bit
But unfortunately still I do not get any exceptions. I think the application does connect to zeebe because if I provide an incorrect address in the application.properties, I get an exception and it is the right one.
Here is the terminal output at the moment when I send a POST request to /messages endpoint:
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.4)

2022-12-17 23:05:24.475  INFO 1312743 --- [           main] c.o.z.ZeebeSpringApiApplication          : Starting ZeebeSpringApiApplication using Java 11.0.17 on nemo-OptiPlex-9020 with PID 1312743 (/media/nemo/101D065D101D065D/Projects/zeebe-message-publisher-api/zeebe-spring-api/target/classes started by nemo in /media/nemo/101D065D101D065D/Projects/zeebe-message-publisher-api/zeebe-spring-api)
2022-12-17 23:05:24.480  INFO 1312743 --- [           main] c.o.z.ZeebeSpringApiApplication          : No active profile set, falling back to 1 default profile: "default"
2022-12-17 23:05:25.665  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.annotation.processor.AnnotationProcessorConfiguration' of type [io.camunda.zeebe.spring.client.annotation.processor.AnnotationProcessorConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.674  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'deploymentPostProcessor' of type [io.camunda.zeebe.spring.client.annotation.processor.ZeebeDeploymentAnnotationProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.675  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.connector.ConnectorConfiguration' of type [io.camunda.zeebe.spring.client.connector.ConnectorConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.677  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.ZeebeClientSpringConfiguration' of type [io.camunda.zeebe.spring.client.ZeebeClientSpringConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.687  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'commandExceptionHandlingStrategy' of type [io.camunda.zeebe.spring.client.jobhandling.DefaultCommandExceptionHandlingStrategy] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.690  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'secretProvider' of type [io.camunda.zeebe.spring.client.connector.SpringSecretProvider] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.743  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebe.client-io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties' of type [io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.746  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.config.ZeebeClientStarterAutoConfiguration' of type [io.camunda.zeebe.spring.client.config.ZeebeClientStarterAutoConfiguration$$EnhancerBySpringCGLIB$$1c32ecb9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.759  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebeJsonMapper' of type [io.camunda.zeebe.client.impl.ZeebeObjectMapper] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.761  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.actuator.ZeebeActuatorConfiguration' of type [io.camunda.zeebe.spring.client.actuator.ZeebeActuatorConfiguration$$EnhancerBySpringCGLIB$$47378e12] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.764  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration' of type [org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.767  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'management.metrics.export.simple-org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleProperties' of type [org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.770  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'simpleConfig' of type [org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimplePropertiesConfigAdapter] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.772  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration' of type [org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.773  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'micrometerClock' of type [io.micrometer.core.instrument.Clock$1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.797  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'simpleMeterRegistry' of type [io.micrometer.core.instrument.simple.SimpleMeterRegistry] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.805  INFO 1312743 --- [           main] i.c.z.s.c.a.MicrometerMetricsRecorder    : Enabling Micrometer based metrics for spring-zeebe (available via Actuator)
2022-12-17 23:05:25.806  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'micrometerMetricsRecorder' of type [io.camunda.zeebe.spring.client.actuator.MicrometerMetricsRecorder] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.808  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'jobWorkerManager' of type [io.camunda.zeebe.spring.client.jobhandling.JobWorkerManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.809  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'outboundConnectorManager' of type [io.camunda.zeebe.spring.client.connector.OutboundConnectorManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.810  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'outboundConnectorAnnotationProcessor' of type [io.camunda.zeebe.spring.client.annotation.processor.OutboundConnectorAnnotationProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.813  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'propertyBasedZeebeWorkerValueCustomizer' of type [io.camunda.zeebe.spring.client.properties.PropertyBasedZeebeWorkerValueCustomizer] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:25.815  INFO 1312743 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebeWorkerPostProcessor' of type [io.camunda.zeebe.spring.client.annotation.processor.ZeebeWorkerAnnotationProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-12-17 23:05:26.132  INFO 1312743 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2022-12-17 23:05:26.146  INFO 1312743 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-12-17 23:05:26.146  INFO 1312743 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.65]
2022-12-17 23:05:26.240  INFO 1312743 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-12-17 23:05:26.240  INFO 1312743 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1688 ms
2022-12-17 23:05:26.856  INFO 1312743 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 1 endpoint(s) beneath base path '/actuator'
2022-12-17 23:05:26.881  INFO 1312743 --- [           main] i.c.z.s.c.ZeebeClientSpringConfiguration : Creating ZeebeClient using ZeebeClientBuilder [gatewayAddress: localhost:26500
jobWorkerMaxJobsActive: 32
numJobWorkerExecutionThreads: 1
defaultJobWorkerName: null
defaultJobTimeout: PT5M
defaultJobPollInterval: PT0.1S
defaultMessageTimeToLive: PT1H
defaultRequestTimeout: PT10S
overrideAuthority: null
]
2022-12-17 23:05:27.156  INFO 1312743 --- [           main] i.c.z.s.c.c.OutboundConnectorManager     : Reading environment variables or parsing SPI to find connectors that are not Spring beans
2022-12-17 23:05:27.159  INFO 1312743 --- [           main] .u.o.OutboundConnectorRegistrationHelper : Parsing SPI to find connectors that are not Spring beans
2022-12-17 23:05:27.161  WARN 1312743 --- [           main] i.c.z.s.c.c.OutboundConnectorManager     : No outbound connectors configured or found in classpath
2022-12-17 23:05:27.184  INFO 1312743 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2022-12-17 23:05:27.200  INFO 1312743 --- [           main] c.o.z.ZeebeSpringApiApplication          : Started ZeebeSpringApiApplication in 3.227 seconds (JVM running for 3.736)
2022-12-17 23:05:29.969  INFO 1312743 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-12-17 23:05:29.969  INFO 1312743 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-12-17 23:05:29.971  INFO 1312743 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms
GOT HERE!!!
GOT AFTER!!!
GOT HERE!!!
GOT AFTER!!!

@ohmycaptainnemo Thanks for the details! I reproduced this locally and created this forum post: https://forum.camunda.io/t/message-id-uniquiness-only-during-super-short-buffering-time/41635. I am bit surprised by this. I'll ping the zeebe folks to give some feedback on it.

@berndruecker
Thank you. It is much appreciated.

authors: berndruecker ohmycaptainnemo


text:
dirty quickfix for firefox users (not using the store anymore)

Quick Fix for firefox users (not the best solution but ok for now):
Resolving:

https://github.com/bestony/logoly/issues/419
https://github.com/bestony/logoly/issues/434

@bestony

你这样还能生成图片么？虽然屏蔽了 firefox ，但还是没更新 store。

tested, and can generate

authors: bestony yldshv

repo: bestony/logoly

license: WTFPL


text:
Ajout des élèves du CNED et les élèves de 3 établissements de la mer

On a reçu des fichiers de 3 établissements de la mer et un fichier du CNED à insérer dans nos bases.
A partir de ces fichiers, il faut créer :

Student
Classe (et la relier au mef)
Schooling

Et relier les classes à l'établissement.
Si les directeurs ont des comptes académiques, leur donner le droit d'accéder à leurs établissements via AplyproResp=<UAI> si ils n'ont pas les bons attributs de directeurs.

La branche #891 permet de charger des fichiers CSV. @tnicolas1 si tu peux tester

@tnicolas1 peux-tu vérifier l'alimentation de schoolings.status
Merci

les statuts sont désormais élèves, on peut archiver cette carte et en créer une autre pour le reste à faire ?

authors: AlainSN2 freesteph gtournadre

repo: betagouv/aplypro


text:
Impact de la consommation locale pour l'alimentation

L'impact du transport sur l'alimentation n'est pas négligable pour les végéta*iens. Je mettrais une grille à remplir avec le
% d'auto consommation (jardin)
% achat local (<80km) ou direct producteur
% achat supermarché

La question de l'approvisionnement locale ne se résume malheureusement pas à une simple question de km parcourus. Cf. F.A.Q

authors: Benjamin-Boisserie-ABC publicodes

repo: betagouv/ecolab-data


text:
Added password input type to styles

I noticed text input styles were not applied to type="password" fields. This fixes this issue.
Regards.

How to decript Blu view phone

Up !

So sorry about the delay, thanks for this! Releasing a version later today

repo: better-history/chrome-bootstrap


text:
🛑 Tamer Şahinoğlu is down

In ba17e0b, Tamer Şahinoğlu (https://tamersahinoglu.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tamer Şahinoğlu is back up in d9334b0 after 25 minutes.

repo: betterwithagency/status-page


text:
🛑 Online Diyetisyenim is down

In a3f326c, Online Diyetisyenim (https://onlinediyetisyenim.tr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Online Diyetisyenim is back up in a087111 after 14 hours, 9 minutes.


text:
🛑 Evren Mühendislik is down

In 8034258, Evren Mühendislik (https://evrenmuh.com.tr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Evren Mühendislik is back up in af551ec after 6 minutes.


text:
What's the bevy release plan?

When can we expect a new bevy version to be released and with which criteria? There have already been quite a few changes from 0.3.0 but there's clearly a reason for the wait otherwise we would already have a 0.4.0.
Would it make sense to add milestones so that it's easy to track what the blocking issues for a version to be released?
Right now the only project is the roadmap which doesn't really help outside of getting a general view of the project goals.
Marking an issue with a 0.4.0 (and future versions) milestone would really help users and contributors get a better understading of the project status

0.4 is now live, but clearer planning on the roadmap, timelines and feature inclusion would be appreciated going forward :) This becomes particularly true as the project matures, and releases need to be properly tested, documented and synced with the surrounding ecosystem.

Migrated to https://github.com/bevyengine/bevy/discussions/2467.

repo: bevyengine/bevy


text:
mesh2d example panics on macOS

Summary
cargo run --example mesh2d compiles bevy successfully but panics upon run.
Environment

Bevy 0.12.0
cargo 1.74.0 (ecb9851af 2023-10-18)
macOS 12.7

Adapter
AdapterInfo { name: "Intel Iris Pro Graphics", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }

Other examples tested
bevy

cargo run --example 2d_gizmos works out-of-the-box.
cargo run --example mesh2d_manual fails with the same "bevy_render/src/pipelined_rendering.rs" panic.
3d_gizmos, 3d_shapes, 3d_viewport_to_world also panic.

wgpu

cargo run --bin wgpu-examples water works out-of-the-box.

Other things tried

As recommended in the cheatbook, I ran rm -rf target Cargo.lock && cargo run --example 2d_mesh. It fails.

Panic
Here's the full console output from cargo run --example mesh2d:
    Finished dev [unoptimized + debuginfo] target(s) in 0.58s
     Running `target/debug/examples/mesh2d`
2023-12-02T21:43:50.122253Z  INFO bevy_render::renderer: AdapterInfo { name: "Intel Iris Pro Graphics", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
2023-12-02T21:43:50.800731Z  INFO bevy_winit::system: Creating new window "App" (0v0)
2023-12-02T21:43:50.937406Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "MacOS 12.7 ", kernel: "21.6.0", cpu: "Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz", core_count: "4", memory: "16.0 GiB" }
2023-12-02T21:43:51.627927Z ERROR log: Shader translation error for stage ShaderStages(VERTEX | FRAGMENT): new_render_pipeline_state: "Compiler encountered an internal error"
2023-12-02T21:43:51.627987Z ERROR log: Please report it to https://github.com/gfx-rs/naga
2023-12-02T21:43:51.628043Z ERROR log: Handling wgpu errors as fatal by default
thread 'Compute Task Pool (0)' panicked at /Users/eric/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.17.2/src/backend/direct.rs:3056:5:
wgpu error: Validation Error

Caused by:
    In Device::create_render_pipeline
      note: label = `transparent_mesh2d_pipeline`
    Internal error in ShaderStages(VERTEX | FRAGMENT) shader: new_render_pipeline_state: "Compiler encountered an internal error"

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `bevy_render::render_resource::pipeline_cache::PipelineCache::process_pipeline_queue_system`!
thread 'main' panicked at crates/bevy_render/src/pipelined_rendering.rs:145:45:
called `Result::unwrap()` on an `Err` value: RecvError

Notice that the ERROR log asks for a report in gfx-rs. Please let me know if this is truly a gfx-rs issue and I'll move it there. I'm posting this here because the use of direct.rs leads me to believe that Bevy tried to load DirectX support rather than, what I assume is more appropriate for my macOS workstation, the Metal graphics lib. However, notice that the AdapterInfo indicates Bevy is targeting Metal.
So, with that working theory, I'm posting here. Please let me know if I can provide other diagnostic info. The full traceback is backtrace.log.
Related issues

https://github.com/bevyengine/bevy/issues/10840 produces the following identical console output:

In Device::create_render_pipeline
      note: label = `transparent_mesh2d_pipeline`

Workaround
Woot. Using 0.11.3 makes the orthographic example work.
Note
I wonder if my antique workstation being stuck at 12.7 might be part of the issue. Apple's docs show macOS >= 10.11 and the Metal Performance Shaders are macOS >= 10.13, but - maybe?

I'm also using macOS 12.7.1 and can reproduce this problem on bevy 0.12.1.

Related upstream reports:

https://github.com/gfx-rs/wgpu/issues/4884
https://github.com/gfx-rs/wgpu/issues/4817

it seems it only crashes on macOS with intel graphics

Still open bug as of bevy = "0.13.2"
Another related issue has a suggestion that an unsupported notice be added for Apple x86_64 Darwin systems running macOS < 13 and XCode < 15.
As this issue does not appear to have much momentum, perhaps it's best to add the disclaimer to the docs and leave it at "won't fix"?

Workaround 2
I have a remote desktop setup from macbook to EC2 t2.large ($0.1 / hr) that works pretty well (can use fast compile with DLL, forwards graphics (but not yet audio)) - please see http://ekalosak.github.io for the blog post.
@mockersf should this not be considered "wont fix" and closed as such?

authors: ekalosak jdm mockersf


text:
Missing type registrations for animation types

What problem does this solve or what need does it fill?
In my app I have this type:
#[derive(Debug, Clone, Asset, Reflect, Default)]
pub struct CustomAnimation {
    name: String,
    curves: Vec<VariableCurve>,
}

This allows me to hot-reload a custom animation for any entity having a &Handle<CustomAnimation> component.
However, there were several missing type registrations in Bevy I had to add in order to do this.
What solution would you like?
Add the missing type registrations in the appropriate places:

Vec<Vec3>
Vec<VariableCurve>
Vec<Quat>
VariableCurve
Interpolation
Keyframes

I want to work on this issue if it's OK

Hello @torsteingrindvik
So I'd understand it better, could you please provide a few code examples of how you add these type registrations?

Hi, here is an example of a whole bunch of registrations:
https://github.com/bevyengine/bevy/blob/bc98333d7c53e971b3fe0dd3122c98d99671b2a7/crates/bevy_ui/src/lib.rs#L100
If you search for the method name you can find similar uses sprinkled all over Bevy.
So the task is to add the ones mentioned in this issue in a similar way in the places most appropriate for the given types.

authors: ekropotin torsteingrindvik


text:
Android: Panic unwrapping None value while getting Native Activity. Native Activity is never not None.

Bevy version
Bevy 0.8.0 dev, cloned today.
Operating system & version
Windows 10, targeting android
What you did
cargo apk run --example android
I get this when ran without any modifications
rust.example.android I/RustStdoutStderr: thread '<unnamed>' panicked at 'called 'Option::unwrap()' on a 'None' value', [...]\ndk-glue-0.6.1\src\lib.rs:60:39

which is
    unsafe { NATIVE_ACTIVITY.as_ref().unwrap() }

When I modify the unsafe call to
    //unsafe { NATIVE_ACTIVITY.as_ref().unwrap() }
    println!("Getting activity");
    unsafe {
      loop {
        let a = NATIVE_ACTIVITY.as_ref();
        match a {
          Some(_) => {
            println!("Found activity");
            ()
          },
          None => (),
        }
      }
    }

I get the print message that it's getting activity, but it never gets a non-none value. Might be related to https://github.com/rust-windowing/android-ndk-rs/issues/211
Full log while waiting for activity
adb logcat --pid $(adb shell pidof -s rust.example.android)
--------- beginning of main
04-18 14:19:52.353 10452 10452 I example.androi: Late-enabling -Xcheck:jni
04-18 14:19:52.410 10452 10452 I example.androi: Unquickening 20 vdex files!
04-18 14:19:52.602 10452 10452 W System  : ClassLoader referenced unknown path:
04-18 14:19:52.669 10452 10452 D NetworkSecurityConfig: No Network Security Config specified, using platform default
04-18 14:19:52.672 10452 10452 D NetworkSecurityConfig: No Network Security Config specified, using platform default
04-18 14:19:52.922 10452 10452 W linker  : Warning: "/data/app/~~lYnEs5tBaOKmqYDPgA8DjQ==/rust.example.android-Aaqia3cBRGEk1FzLFjB99g==/lib/arm64/libc++_shared.so" unused DT entry: unknown processor-specific (type 0x70000001 arg 0x0) (ignoring)
04-18 14:19:52.968 10452 10507 I RustStdoutStderr: Waiting for NativeScreen
04-18 14:19:57.233 10452 10507 I RustStdoutStderr: NativeScreen Found:Some(NativeWindow { ptr: 0xb4000077254f24c0 })
04-18 14:19:57.510 10452 10508 D vulkan  : searching for layers in '/data/app/~~lYnEs5tBaOKmqYDPgA8DjQ==/rust.example.android-Aaqia3cBRGEk1FzLFjB99g==/lib/arm64'
04-18 14:19:57.511 10452 10508 D vulkan  : searching for layers in '/data/app/~~lYnEs5tBaOKmqYDPgA8DjQ==/rust.example.android-Aaqia3cBRGEk1FzLFjB99g==/base.apk!/lib/arm64-v8a'
04-18 14:19:57.540 10452 10508 I AdrenoVK-0: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
04-18 14:19:57.540 10452 10508 I AdrenoVK-0: ===== END DUMP OF OVERRIDDEN SETTINGS =====
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: QUALCOMM build          : d4cfdf3, Ic907de5ed0
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Build Date              : 09/25/20
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Shader Compiler Version : EV031.32.02.01
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Local Branch            : mybrancheaff3d46-e51f-f136-8926-1458d0b52af0
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Remote Branch           : quic/gfx-adreno.lnx.1.0.r116-rel
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Remote Branch           : NONE
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Reconstruct Branch      : NOTHING
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Build Config            : S P 10.0.7 AArch64
04-18 14:19:57.541 10452 10508 I AdrenoVK-0: Driver Path             : /vendor/lib64/hw/vulkan.adreno.so
04-18 14:19:57.572 10452 10508 I event crates\bevy_render\src\renderer\mod.rs:98:  AdapterInfo { name: "Adreno (TM) 610", vendor: 20803, device: 100728832, device_type: IntegratedGpu, backend: Vulkan }
04-18 14:19:57.710 10452 10507 I RustStdoutStderr: Getting activity
04-18 14:21:45.869 10452 10483 I example.androi: Thread[3,tid=10483,WaitingInMainSignalCatcherLoop,Thread*=0xb4000077154d9010,peer=0x12d40240,"Signal Catcher"]: reacting to signal 3
04-18 14:21:45.870 10452 10483 I example.androi:
04-18 14:21:46.636 10452 10483 I example.androi: Wrote stack traces to tombstoned

Looks like letting winit pull from git (which results in winit version 0.27.0) resolves this error.

I'm going to reopen this; this is incredibly useful information for us and pushes me to upgrade that dependency ASAP.

Awesome! Glad I can help. I think ultimately it was the mixed up android-ndk versions that was causing the issue.

We added an ndk_context crate to solve this in the Java VM/env scenarios, but Bevy needs direct access to native_activity()s asset_manager():
https://github.com/bevyengine/bevy/blob/a011f4d53cdfc3e779ac6500a60e70cabf652956/crates/bevy_asset/src/io/android_asset_io.rs#L25
Afaik @dvc94ch's recommendation is to also retrieve this through Java/JNI using ndk_context directly if possible, because a "better" solution has only been found too invasive thus far.
https://github.com/rust-windowing/android-ndk-rs/pull/280

To be clear, my position is that we need to be activity inclusive. There is a large diversity of activities besides the NativeActivity, like the GameActivity from the android game development kit. We need to stand up against systemic activity phobia.

With the recent effort around GameActivity I do hope we can come up with a generic interface that exposes the similarities.


text:
Inputs can be missed (or duplicated) when using a fixed time step

Bevy version
0.8.1
What you did
Create a system that responds to input events inside of a fixed times step.
What went wrong
Sometimes, input events are missed: Input::just_pressed and just_released are never picked up.
Other times, they're duplicated: we respond to the same input multiple times.
Explanation
Missed inputs
Fixed time step systems may not run every frame, but Input::just_pressed and friends is reset every frame (and events are only double buffered). If the frame rate is significantly faster than the time step, the fixed time step schedule will sometimes not run, completely missing the input (which will no longer be just-pressed).
Duplicated inputs
If the fixed timestep is faster than the frame rate, fixed time step systems sometimes need to run catch-up, and are evaluated multiple times in the same frame. However, this will cause just_pressed (or just_released) to be registered as true multiple times (as Input will not update between these system evaluations.
This can cause extremely confusing behavior. Note that, unlike missed inputs, events should not be affected by this failure mode, due to the internal cursor stored in EventReader.
Proposed fix
We should have a default fixed time step system set (see the stageless RFC). Input updating (and input event clearing) should occur in there, rather than as part of the main schedule.
Gameplay systems should effectively always be run in the fixed time step: only rendering-related code should be processed each frame.
Ping @maniwani for thoughts.

Right, so the ideal situation is we can read from a buffer of timestamped input events (or state). Then in each iteration of the fixed timestep, we'd just yield the input that happened within that slice of time.
That's currently blocked on winit and gilrs. gilrs actually does timestamp its events, but using the wrong clock (SystemTime).

Input updating (and input event clearing) should occur in there, rather than as part of the main schedule.

So in lieu of handling it perfectly, yeah I agree that the next best thing would be to refresh events multiple times. That said, we might want to sample in both places, once in each timestep iteration and again when we get to PreUpdate.

Even once we have buffered, timestamped inputs, we probably still want the capability to peek ahead (observe inputs that arrived in the current frame) midway for XR things.

Should be solved as part of #5984.

Gameplay systems should effectively always be run in the fixed time step: only rendering-related code should be processed each frame.

The impact of this statement is fairly substantial isn't it? The problem is moved from fixed updates to frame updates, and I think many newcomers to Bevy aren't even considering fixed updates. Suddenly it becomes mandatory, or potentially houses very tricky frame rate dependent bugs.
The default fixed timestep period is 1/60th of a second so it will seemingly be working properly in frame updates for anyone with a 60hz vsync app.

I've been struggling with this for a while as well, and from a consumer perspective, what I really want is a way to get all the input events "since the last time I asked". In that context, the lifetime of the events is well defined, and no guesswork is needed. Just dispose of the events after they have been consumed.
This is different from the current implementation of "since the last rendered frame", but this is also potentially different from "since the last fixed update" as currently defined by bevy because there are valid reasons for rolling your own fixed update logic. For example, in some lockstep network models, the next "fixed update" can't happen until all client inputs are received. Or, you might want to enforce a fixed update time budget to keep the program interactive under load. Or, you might want to run the simulation at some multiple of real time. Etc. Etc.
In a typical evented architecture, consumers register for the events they are interested in. Just spit balling here, but maybe something similar could work here:
app.register_event_stream::<Input>(tag_name);

...

sys_handle_input(input_stream: ResMut<EventStream<Input>, With<tag_name>>) {
    input_stream.poll();
    for event in input_stream.drain() {
        ...
    }

    // or

    for event in input_stream.consume_new() {
        ...
    }
}

Conceptually, bevy would tee all the Input events into registered EventStreams of matching type, so if multiple consumers needed to handle Input events they wouldn't stomp on each other. The current events are effectively global, which makes them more difficult to reason about. With something like EventStream, each consumer effectively gets their own event queue, so they don't have to worry about what other systems are or aren't doing with the global events.
Something like this could theoretically be implemented fairly cheaply with one event queue, and a set of start and end "pointers" for each registered consumer. When a consumer polls, you check for new events, and move the consumer's end "pointer" to the end of the queue. When a consumer consumes, the consumer's start "pointer" moves forward until it reaches the corresponding end "pointer". When all start "pointers" have moved passed an event, drop it from the event queue.

If you're several seconds worth of steps behind, you're in a death spiral or you have like 0.5 FPS.

This is true with the current Bevy implementation, but it is not a characteristic of all implementations of a fixed update loop. This is why I mentioned there are alternative implementations.
It seems like we are talking past each other a bit here. Part of that is definitely my fault, since I jumped to potential implementation details before aligning on requirements. I don't mean to argue, but I do hope to get across my original point so that it is considered in whatever eventual solution that is reached: A solution that is directly coupled to the Bevy implementation of a fixed update loop is only useful in that specific context.
Alternative implementations of a fixed update loop would continue to have all the same input event problems seen today. But, when the events API is defined in terms of (for example) "since I last asked", the question of update cadence doesn't even arise. This means such a solution (or some similar solution) would be flexible enough to be used in any implementation of a fixed update loop (or even any update loop). For example:

What I'm trying to get at is "fixed update" and "frame update" will read the same input events, just independently. Each frame will see the events captured during the previous frame. Each simulation step will see the events captured "during" the previous step.

This sounds great! As long as "during the previous step" isn't directly coupled to Bevy's fixed update implementation. Instead (again, as an example), you could expose an API that allows you to get events between given start and end timestamps. That kind of API could be used in any update loop strategy. If you want to process all of the new events, you can do that. If you want to process only new events from a specific slice of time, you can do that too. You can even do a combination of both in any combination of loops with different cadences to handle different kinds of inputs, all without Bevy having to know anything about how your loops actually work.

For those that run into this, and are using Res<Input<KeyCode>> in their fixed update systems, you will still get missed inputs, the solution is to use events in fixed update as fixed in this PR. If you want to use Input<KeyCode> you can use local system param (Local<Input<KeyCode>>) and feed it events, like so:
fn handle_input(
    mut keys: Local<Input<KeyCode>>,
    mut keyboard_input_events: EventReader<KeyboardInput>,
) {
    keys.clear();
    for event in keyboard_input_events.read() {
        if let Some(key_code) = event.key_code {
            match event.state {
                ButtonState::Pressed => keys.press(key_code),
                ButtonState::Released => keys.release(key_code),
            }
        }
    }

    // do something with inputs

    let up = keys.pressed(KeyCode::Up);
    let down = keys.pressed(KeyCode::Down);
    let left = keys.pressed(KeyCode::Left);
    let right = keys.pressed(KeyCode::Right);
    let respawn = keys.just_pressed(KeyCode::Return);
}

I've chewed on this a bit, and I think I'd actually like to handle this a lot like how Time works upstream in Bevy.
There's no canonical location for when to update the just_pressed information: both update and fixed update are defensible. And some games might even want to do both.
So instead, swap the behavior of just_pressed based on which schedule we're in. Provide some fallback methods to opt out of this behavior, but make the obvious thing to do just work using the same pattern.
We'll probably need to implement this by keeping track of its pressed state in both the main and fixed schedule.

Any updates on this issue?

We've worked to improve event handling in fixed updates, per #10077 and #13808.
Over at leafwing-input-manager, we've also tackled this problem via a (not yet released) state-switching solution in https://github.com/Leafwing-Studios/leafwing-input-manager/pull/522 by @cBournhonesque. While that is slated for upstreaming, we should consider implementing a parallel solution for ButtonInput for those who want to operate on raw inputs.

authors: Henrique194 alice-i-cecile dubrowgn jabuwu maniwani richardhozak


text:
Injecting LogPlugin twice causes a panic

Bevy version
Main branch (0.9-dev)
[Optional] Relevant system information
Specs: 14-in M1 Macbook Pro running 12.6 Monterey, with 32 GB Ram
What you did
Injecting DefaultPluigins while also modifying the LogPlugin, works as expected.
DefaultPlugins
            .set(WindowPlugin {
                window: WindowDescriptor {
                    width: WINDOW_WIDTH,
                    height: WINDOW_HEIGHT,
                    title: String::from(LAUNCHER_TITLE),
                    // present_mode: bevy::window::PresentMode::AutoVsync,
                    ..default()
                },
                ..default()
            })
            .set(ImagePlugin::default_nearest())
            .set(bevy::log::LogPlugin { ..default() });

Injecting a second LogPlugin causes a panic for bevy::log/src/lib.rs:118:27
app.add_plugin(bevy::log::LogPlugin { ..default() });

Only when I disable the log plugin from the initial DefaultPlugins does it actually allow me to inject a second context.
defaults.build().disable::<bevy::log::LogPlugin>()
...

// Yay this works :)
app.add_plugin(bevy::log::LogPlugin { ..default() });

Additional information
Here is the full stack trace:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: SetLoggerError(())', /Users/elkxj/.cargo/git/checkouts/bevy-f7ffde730c324c74/7540328/crates/bevy_log/src/lib.rs:118:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

related to #1969
panic would change with #6411

Fixed by #6411.

You guys are the best! Thanks!

authors: alice-i-cecile lecoqjacob mockersf


text:
How to use query sets in version 0.9.0

How can Bevy's documentation be improved?
Provide a link to the documentation and describe how it could be improved. In what ways is it incomplete, incorrect, or misleading?
If you have suggestions on exactly what the new docs should say, feel free to include them here. Or alternatively, make the changes yourself and create a pull request instead.

It would be nice to have internal documentation for ParamSet which replaced QuerySet in Bevy 0.7.
Here's a third party resource that describes how to use it: https://bevy-cheatbook.github.io/programming/paramset.html
See the following migration guides if you're updating an older project.
https://bevyengine.org/learn/book/migration-guides/0.6-0.7/
https://bevyengine.org/learn/book/migration-guides/0.7-0.8/
https://bevyengine.org/learn/book/migration-guides/0.8-0.9/

It would be nice to have internal documentation for ParamSet which replaced QuerySet in Bevy 0.7.
Here's a third party resource that describes how to use it: https://bevy-cheatbook.github.io/programming/paramset.html
See the following migration guides if you're updating an older project.
https://bevyengine.org/learn/book/migration-guides/0.6-0.7/ https://bevyengine.org/learn/book/migration-guides/0.7-0.8/ https://bevyengine.org/learn/book/migration-guides/0.8-0.9/

Thank you very much

Next time, if you have a question, please use Discussions instead of issues. They're better suited for general questions than issues.


text:
*_PREPASS Shader Def Cleanup

Objective

This PR aims to make the various *_PREPASS shader defs we have (NORMAL_PREPASS, DEPTH_PREPASS, MOTION_VECTORS_PREPASS AND DEFERRED_PREPASS) easier to use and understand:

So that their meaning is now consistent across all contexts; (“prepass X is enabled for the current view”)
So that they're also consistently set across all contexts.

It also aims to enable us to (with a follow up PR) to conditionally gate the BindGroupEntry and BindGroupLayoutEntry items associated with these prepasses, saving us up to 4 texture slots in WebGL (currently globally limited to 16 per shader, regardless of bind groups)

Solution

We now consistently set these from PrepassPipeline, the MeshPipeline and the DeferredLightingPipeline, we also set their MeshPipelineKeys;
We introduce PREPASS_PIPELINE, MESH_PIPELINE and DEFERRED_LIGHTING_PIPELINE that can be used to detect where the code is running, without overloading the meanings of the prepass shader defs;
We also gate the WGSL functions in bevy_pbr::prepass_utils with #ifdefs for their respective shader defs, so that shader code can provide a fallback whenever they're not available.

This allows us to conditionally include the bindings for these prepass textures (My next PR, which will hopefully unblock #8015)
@robtfm mentioned these were being used to prevent accessing the same binding as read/write in the prepass, however even after reversing the #ifndefs I had no issues running the code, so perhaps the compiler is already smart enough even without tree shaking to know they're not being used, thanks to #ifdef PREPASS_PIPELINE?

Comparison
Before

Shader Def
PrepassPipeline
MeshPipeline
DeferredLightingPipeline

NORMAL_PREPASS
Yes
No
No

DEPTH_PREPASS
Yes
No
No

MOTION_VECTORS_PREPASS
Yes
No
No

DEFERRED_PREPASS
Yes
No
No

View Key
PrepassPipeline
MeshPipeline
DeferredLightingPipeline

NORMAL_PREPASS
Yes
Yes
No

DEPTH_PREPASS
Yes
No
No

MOTION_VECTORS_PREPASS
Yes
No
No

DEFERRED_PREPASS
Yes
Yes*
No

* Accidentally was being set twice, once with only deferred_prepass.is_some() as a condition,
and once with deferred_p    repass.is_some() && !forward as a condition.
After

Shader Def
PrepassPipeline
MeshPipeline
DeferredLightingPipeline

NORMAL_PREPASS
Yes
Yes
Yes

DEPTH_PREPASS
Yes
Yes
Yes

MOTION_VECTORS_PREPASS
Yes
Yes
Yes

DEFERRED_PREPASS
Yes
Yes
Unconditionally

PREPASS_PIPELINE
Unconditionally
No
No

MESH_PIPELINE
No
Unconditionally
No

DEFERRED_LIGHTING_PIPELINE
No
No
Unconditionally

View Key
PrepassPipeline
MeshPipeline
DeferredLightingPipeline

NORMAL_PREPASS
Yes
Yes
Yes

DEPTH_PREPASS
Yes
Yes
Yes

MOTION_VECTORS_PREPASS
Yes
Yes
Yes

DEFERRED_PREPASS
Yes
Yes
Unconditionally

Changelog

Cleaned up WGSL *_PREPASS shader defs so they're now consistently used everywhere;
Introduced PREPASS_PIPELINE, MESH_PIPELINE and DEFERRED_LIGHTING_PIPELINE WGSL shader defs for conditionally compiling logic based the current pipeline;
WGSL functions from bevy_pbr::prepass_utils are now guarded with #ifdef based on the currently enabled prepasses;

Migration Guide

When using functions from bevy_pbr::prepass_utils (prepass_depth(), prepass_normal(), prepass_motion_vector()) you should now wrap your calls to these functions with the appropriate #ifdef guards, (#ifdef PREPASS_DEPTH, #ifdef PREPASS_NORMAL, #ifdef PREPASS_MOTION_VECTOR) providing fallback logic where applicable.

The migration guide is wrong, you inverted the _PREPASS suffix for the shader defs. The function names are correct.

@IceSentry confirmed on Discord that they're fine with merging this. pushes the button

Just add the Has change suggested by @IceSentry, applied the spelling nit, and fixed the migration guide!

When using functions from bevy_pbr::prepass_utils (prepass_depth(), prepass_normal(), prepass_motion_vector()) in contexts where these prepasses might be disabled, you should now wrap your calls with the appropriate #ifdef guards, (#ifdef DEPTH_PREPASS, #ifdef NORMAL_PREPASS, #ifdef MOTION_VECTOR_PREPASS) providing fallback logic where applicable.

Added the phrase above to clarify it's not mandatory, but recommended in case your shader code might run without the prepass.

authors: IceSentry cart coreh superdump