Undefined method `params' for #

Hi there,
Looking at our NewRelic errors dashboard I notice quite a lot of exceptions that we don't see in Rollbar. Digging a bit deeper they are all raised from requests with non-existent paths that raise a RoutingError.
The relevant code is here: https://github.com/rollbar/rollbar-gem/blob/master/lib/rollbar/middleware/rails/show_exceptions.rb#L10
I'm not too familiar with how rails integrates with rack but to me this code looks intuitively wrong: env is supposed to be a hash and so that line should probably be:
key = 'action_dispatch.show_detailed_exceptions'

if exception.is_a?(ActionController::RoutingError) && env[key]
  scope = ...

(The to_s call on key is also not necessary, since key is always a String)
Here is more context from NewRelic:

env is expected to be a Rack::Request instance, and the method to call [] directly on it has been removed.
https://github.com/rack/rack/blob/v3.0.8/lib/rack/request.rb#L608-L613
What is the situation that leads to having a hash here instead?

@waltjones I dug a bit into it: We are still using Rails 4.2, and the signature of the render_exception method has changed in Rails 5.0: https://github.com/rails/rails/commit/9503e65b9718e4f01860cf017c1cdcdccdfffde7


Add a release

Hello,
If the lib is ready to use, could you release one?
Thank you
Cheers,

Hello.
Of course it is ready, why wouldn't it be?
What's the source of your confusion?

Oh, you mean the releases tab?
https://github.com/halt-hammerzeit/libphonenumber-js/releases
I don't see the point of this tab.
I have releases in npm, just do npm install libphonenumber-js --save

What if I cant or dont want to use npm?

What are you using then?

Nothing. Well http, a browser and softwares my IT service allow me to use.

Why aren't you using Webpack or Browserify?
It's modern software.
You can build a bundle yourself: clone the repo, npm install, npm run browser-build, and see the bundle directory.

Why aren't you using Webpack or Browserify?

Why cant I just download a libphonenumber.min.js and deal with it?

It's modern software.

Thats not the point.

You can build a bundle yourself: clone the repo, npm install, npm run browser-build, and see the bundle directory.

I will have to install node.

I will have to install node.
Why cant I just download a libphonenumber.min.js and deal with it?

You can, if you don't have Node.js.
I can compile it for you, but it won't be the latest version though.
Anyway, I'll release it, ok.

Thats not the point.

Yeah, that's the point: the guys not letting you use Webpack aren't that smart.

Thank you!

Ok, so I'm not sure if it's gonna work, but try this
https://github.com/halt-hammerzeit/libphonenumber-js/releases/tag/0.2.1
And report back

@halt-hammerzeit Works perfectly. Live demo on Plunker.

@aloisdg In the future, you can also use UNPKG to download the built code from NPM.
For example<EMAIL_ADDRESS>You can leave out the @VERSION_NUMBER from the URL to get the latest version, whatever it happens to be.


fix: Use todo!() as placeholder body for generated match arms

todo!() seems to be a better fit for this than {}. Seeing that this assist predates stabilization of todo my guess is that simply no one bothered to change it yet.
Also fixed the issue where if the last arm was not block-like, rust-analyzer would not add a comma after it and would generate invalid code.

Using {} was intentional -- most of the time you want to just replace this code, and deleting {} is fewer keystrokes than deleting {}. No idea if that's good motivation though.
I guess, unless anyone objects, lets' merge this and see if people complain(/

My personal gripe with generating {} was that it usually gives you non-compiling code. My usual process is that I fill in the arm bodies one by one and I want to check if my code compiles when I finish an arm. To be able to do that I immediately replace {} with todo!() so that I would be able to have compiling code until I finish the whole match.

Sounds convincing!
bors d+
(seems like there are some test failures?)

I'm a bit split on this, having a block ready to be used is quite helpful at times since you can just insert your statements into it without the need to remove anything at all and if you only use one statement rustfmt formats the block away for you. So I personally prefer having a block be generated here.

Thinking about it a bit more I think the produces compiling output is still a better choice to go by after all so I agree 👍

bors r+

I kind of want todo!() to be a "hole" that can just be easily overwritten...

I think that’s https://github.com/rust-analyzer/rust-analyzer/issues/7280
if the “next” position is todo, it should be selected to be easily overwritten

I wish this offered an option: to write empty match arms or to write todoed ones.


Julia code in FFT chapter

In the butterfly diagram were written
b0=a0+ω02a1
b1=a0−ω02a1
and from what I understand b_k=a(even)+w*a(odd)
but at the end of julia code in cooley_tukey function it says:
vcat(x_odd + x_even .* factor[1:half],
x_odd - x_even .* factor[1:half])
I checked with wikipedia and other languages in this book that I understand and it is even indices plus omega*odd indices

Hey @earthfail Yeah, you are right. The reason it was swapped in this case was because Julia starts indexing at 1.

Can this issue be closed? The question seems to be answered.

Yup, closing now


Implement a new Game Task queue system

This is a big change to the current code, it makes sure all actions in the game happen in the correct order.
Right now, the actions (new advance discoveries, city improvements built, unit movement, etc.) all happen in the same function.
The action queue system would plan the actions and process them one at a time.
This should solve the following issues: #91, #94, #109
It also allows me to remove some complicated 'workaround' code in the current implementation.

The change was not as big as I thought...

All important tasks have been implemented.


Issue when splitting a trace

Hello,
There's an issue when splitting a trace into several segments. It's obvious when you look at the profile on this screenshot: https://i.imgur.com/7WXpP5O.jpeg

What exactly is the problem? The value of the slope? Please give sufficient details when creating an issue.

Oh sorry, I thought it was obvious when looking at the profile. I've added red rectangles on the parts which have been doubled when splitting the original trace: https://i.imgur.com/6CKUh9I.jpeg
Here is the profile of the original trace before splitting it in several sections: https://i.imgur.com/hYIsKpk.jpeg
Do you get my point?


Use rustc_layout_scalar_valid_range_end(usize::MAX - 1) for the index

From https://github.com/rust-lang/rust/pull/73139#discussion_r439832328:

The index is always less than the length. So even if the length is usize::MAX, the index will be at most MAX - 1 and so cannot overflow.

It would be great to tell rustc this is the case by using rustc_layout_scalar_valid_range_end(usize::MAX - 1). That would allow storing Option<index> in usize instead of needing an extra bit, which in some cases could double the size of the struct due to alignment requirements.
Failing that (since rustc_layout_scalar_valid_range_end is unstable and likely will never be stabilized), would it be possible to document that the index is always less than usize::MAX?

I guess I'm not opposed to documenting this, although it kind of seems self evident to me? memchr returns the position of a particular byte in a slice, if it exists. It it doesn't exist, then None is returned. Since the largest possible size of a slice is usize::MAX and since memchr can never possibly return an index greater than or equal to the length of the given slice (since it would be an invalid index), it follows immediately that the value returned is guaranteed to be less than usize::MAX.


[IMPROVEMENT] Have a clear message when reverting the parent of a volume-head snapshot for a v2 volume

Is your improvement request related to a feature? Please describe (👍 if you like this request)
Create v2 volume in maintance mode, create mutiple snapshots. Try revert the parent of the volume-head snapshot will get below message
failed to revert snapshot: proxyServer=<IP_ADDRESS>:8501 destination=<IP_ADDRESS>:0: failed to revert volume to snapshot 9fd5dd79-ab0f-4527-ae6b-bcf0220d82fe: rpc error: code = Internal desc = failed to create snapshot 9fd5dd79-ab0f-4527-ae6b-bcf0220d82fe: failed to revert SPDK engine pvc-5a2c50cc-8da3-4c5a-b278-f939dd696a81-e-0 snapshot 9fd5dd79-ab0f-4527-ae6b-bcf0220d82fe: rpc error: code = Unknown desc = error sending message, id 17741, method bdev_raid_create, params {pvc-5a2c50cc-8da3-4c5a-b278-f939dd696a81-e-0 1 0 []}: {"code": -22,"message": "Failed to create RAID bdev pvc-5a2c50cc-8da3-4c5a-b278-f939dd696a81-e-0: Invalid argument"}

Describe the solution you'd like
If possible, have a clear message
Describe alternatives you've considered

Additional context
https://github.com/longhorn/longhorn/issues/7596

cc @shuo-wu

The behavior between v1 and v2 volumes are not consistent.

v1 volume
After the snapshot revert operation, the volume head size is 0

v2 volume
The volume head size is unchange after the failure of the snapshot revert

The behavior between v1 and v2 volumes are not consistent.> * v2 volume
The volume head size is unchange after the failure of the snapshot revert
![image](https://private-user-images.githubusercontent.com/12527233/295985240-eb7112a7-555b-470e-bf02-12c0ae6084e5.png?

@derekbit did you mean after the successful snapshot revert?

The behavior between v1 and v2 volumes are not consistent.> * v2 volume
The volume head size is unchange after the failure of the snapshot revert
![image](https://private-user-images.githubusercontent.com/12527233/295985240-eb7112a7-555b-470e-bf02-12c0ae6084e5.png?

@derekbit did you mean after the successful snapshot revert?

Update the words in https://github.com/longhorn/longhorn/issues/7630#issuecomment-1887545760

Hi @derekbit,
V1 and V2 volume snaptshot revert behavior not consistent:
In v1 volume, revert parent of volume-head snapthost

The snapshot still exist
No popup message
Volume-head size become 0

In v2 volume, revert parent of volume-head snapshost

The snapshot still exist (observed volume reattach)
Pop up message

failed to revert snapshot: proxyServer=<IP_ADDRESS>:8501 destination=<IP_ADDRESS>:0: failed to revert volume to snapshot c56b1e9f-1899-4cd4-8c22-e105c47f8953: rpc error: code = Internal desc = failed to create snapshot c56b1e9f-1899-4cd4-8c22-e105c47f8953: failed to revert SPDK engine pvc-eba05475-40db-4cd1-a51a-c24fb70555b1-e-0 snapshot c56b1e9f-1899-4cd4-8c22-e105c47f8953: rpc error: code = Unknown desc = error sending message, id 9974, method bdev_raid_create, params {pvc-eba05475-40db-4cd1-a51a-c24fb70555b1-e-0 1 0 []}: {"code": -22,"message": "Failed to create RAID bdev pvc-eba05475-40db-4cd1-a51a-c24fb70555b1-e-0: Invalid argument"}

volume-head size not change

--
In addition, I can see after  v2 volume snapshot revert success, volume-head size become 0

failed to revert snapshot: proxyServer=<IP_ADDRESS>:8501 destination=<IP_ADDRESS>:0: failed to revert volume to snapshot

Ah, sorry. Forgot to update deps.

Verified pass on longhorn master(longhorn-manager d0cbdf)
Revert parent of volume-head snapthost for a v2 volume, can observe below behavior which is identical to the behavior of v1 volume

The snapshot still exist
No popup message
Volume-head size become 0


Correct way to generate totalCoins from accountState

Would this be to sum the Balance fields from the AccountRoot nodes, the Amount fields from the Escrow nodes, and add in the PayChannel nodes somehow (either sum the Amount's, Balance's, or Amount minus Balance per node or something)?
Should this work or am I missing something?
When doing the above, my results are consistently ~65k XRP less than the totalCoins reported for any recent ledger. (The variation in summing PayChannel's differently appears minor by comparison.)  I've tried various ledgers going back a few months, and duplicated the parsing & addition on the raw json supplied by rippled in both node using bignumber.js, and bash using bc, with identical results.

Also, this ~65k XRP discrepancy decreases over time. Over the past few months its gone down ~120 XRP, usually by some fraction of an XRP every 10k or 100k's of ledgers or so.

In the early days there was a bug where XRP was destroyed, so you could be
seeing that.
As for the gradual drift, I'm not sure. I thought they checked invariants
related to that these days.

Ok, interesting... I was sure this would be my error!
This makes me think there are/were floating points used in the rippled code where they shouldn't be.  Is there any reference for this bug?
If it is due to this, I wonder if it could make sense the shortfall is gradually disappearing, as complexity increases and the number of nodes in a given state gravitate toward a higher sum versus erroneous integer/floating point conversions that would have likely rounded down.
So, in principle what is the correct way to generate totalCoins from accountState?  How is it generated presently if not from that?  Is totalCoins just the previous totalCoins minus the new fees?

It's actually tracked manually rather than being a function of the state
tree, and is really only supposed to be reduced by fees iirc. I suppose it
is just poorly done, and yeah, perhaps loses precision over time due to
rounding errors as well as the discrepancy bug.

Manually?  I'm talking about the totalCoins/total_coins number here:
$ r ledger
Loading: "/etc/opt/ripple/rippled.cfg"
2018-Apr-09 07:03:34 HTTPClient:NFO Connecting to <IP_ADDRESS>:5005

{
   "result" : {
      "closed" : {
         "ledger" : {
            "accepted" : true,
            "account_hash" : "EB4CC88753E14FF900B43E0F27C1802F30405D63EE21087D614029EA3F211A55",
            "close_flags" : 0,
            "close_time" : 576572600,
            "close_time_human" : "2018-Apr-09 07:03:20",
            "close_time_resolution" : 10,
            "closed" : true,
            "hash" : "7566138ACDFDCB428A64EB847C04611A0020BA4F00AA3DC90BB4DD754C487282",
            "ledger_hash" : "7566138ACDFDCB428A64EB847C04611A0020BA4F00AA3DC90BB4DD754C487282",
            "ledger_index" : "37831772",
            "parent_close_time" : 576572591,
            "parent_hash" : "08E5E2A4857740BB66BDEBA312D9004F64A0F79CE687A14E22A632F1817CA321",
            "seqNum" : "37831772",
            "totalCoins" : "99992362016236441",
            "total_coins" : "99992362016236441",
            "transaction_hash" : "9AD56110989A99A35AFFF38F7E3E84E20BB3C8A949F7A87D27887C21790DA87C"
         }
      },
      "open" : {
         "ledger" : {
            "closed" : false,
            "ledger_index" : "37831773",
            "parent_hash" : "7566138ACDFDCB428A64EB847C04611A0020BA4F00AA3DC90BB4DD754C487282",
            "seqNum" : "37831773"
         }
      },
      "status" : "success"
   }
}

It changes every ledger.
Basically, there's a total coins field in the ledger header ...
And with each transaction that field gets carried over to the new ledger
minus txn fees ...
So they don't actually look over the txn meta for actual changes, but
rather do very simple "manual" book keeping with a field and txn fees ...

Ok - thanks!  So, here in CashDiff.cpp. From skimming this, it looks like XRP is still being destroyed through rounding?
I get that totalCoins is just the previous totalCoins minus txn fees, though I'm still confused about the mechanism of the decreasing difference between that and the summed accountState balances.
If XRP is being rounded away constantly within the accountState and this is not tracked by totalCoins, shouldn't the difference increase?
Also, the amounts are confusing.  It appears that around 1-2 drops may be discarded here and there as edge-case transactions meet the criteria.  But the discrepancy appears to be on the move at a much higher rate than that would suggest.

It could have changed. I haven't worked at ripple for 2 years now and
haven't been following along. Shrug.
It will probably require an amendment to fix it. Atm it's just an
approximation.

@professorhantzen I've not been following the conversation closely.  Only regarding the file CashDiff.cpp, you may be misinterpreting the point of that file.  It is used to look at the results of different ways of computing offer crossing.  One computation is done by Taker.cpp, and the other by FlowCross.  At any rate, CashDiff.cpp is not used to look a the total remaining XRP or to calculate anything that goes into the ledger.  It is a comparison tool only.

@professorhantzen CashDiff is only used here: https://github.com/ripple/rippled/blob/develop/src/ripple/app/tx/impl/CreateOffer.cpp#L836-L891.  The end result of executing CashDiff is the addition of warnings to the log.  That generation of warnings only occurs if featureCompareFlowV1V2 is enabled (see https://github.com/ripple/rippled/blob/develop/src/ripple/app/paths/RippleCalc.cpp#L72-L223).  That particular feature is not on an amendment, so it can only be enabled using a local configuration file.  I don't believe it will take you in the direction you are currently intending to go.

@scottschurr Alright, thank you!

According to https://ripple.com/build/ledger-format/#header-format:

The total number of drops of XRP owned by accounts in the ledger. This omits XRP that has been destroyed by transaction fees. The actual amount of XRP in circulation is lower because some accounts are "black holes" whose keys are not known by anyone.

@mDuo13 - could you clarify what this number (now that more ways than AccountRoot nodes exist) is supposed to represent exactly and if this potentially not being equal to the sum of all XRP in AccountState objects is a bug or just a problem with documentation?

Thanks for looking into this.  It would be great if this was my error.  To be sure, can we get clear on exactly what should be summed?
As described in the original post, I am summing the Balance fields from the AccountRoot nodes, the Escrow Amount's, and the PayChannel Amounts, and continue to assume this is sufficient as I haven't been corrected.  The PayChannel's I'm sure I'm doing wrong - though it doesn't appear to be a large enough error to affect the main issue so I've ignored it thus far (though it'd be great to also have this clarified).
The main thing: should I also be summing anything else from any other node types?
Taking ledger 36300000, and running a simple node script to count node types, I get the following node types and their count:
{ RippleState: 708941,
  AccountRoot: 1121782,
  DirectoryNode: 383298,
  SignerList: 1371,
  Offer: 71816,
  PayChannel: 143,
  LedgerHashes: 555,
  Escrow: 171,
  FeeSettings: 1,
  Amendments: 1 }

With my present code, summing for this ledger I get:
AccountRoot Escrow PayChannel
46092524441133161<PHONE_NUMBER>2224844 950130140
Total
99992565993488145
node count
1121782 171 143

The last three numbers are a count of how many nodes were summed for each type (matching the node count listed above and serving as a rudimentary check).
My rippled reports a totalCoins of<PHONE_NUMBER>1694936 drops for that ledger ($ rippled ledger 36300000).  This is a 65238.206791 XRP difference.
The code that generates the above count is a (nasty) bash script I threw together in a couple of minutes initially, however it turns out to work surprisingly well. After this issue became more... "interesting", I duplicated the scripts functionality robustly in node.js using bignumber.js - and produced identical results.  I continue using the bash script however as its much faster to process the same data.  (Grep + bc for summing integers from json actually seems to be pretty efficient.)
Here's the script:
#!/bin/bash/
theASFile=$1
accounts_sum=`grep -B4 AccountRoot $theASFile | grep Balance | cut -f2 -d ':' | tr -d '"' | tr -d ',' | paste -sd+ | bc`
escrow_sum=`grep -B6 Escrow $theASFile | grep Amount | cut -f2 -d ':' | tr -d '"' | tr -d ',' | paste -sd+ | bc`
paychannel_sum=`grep -B5 PayChannel $theASFile | grep Amount | cut -f2 -d ':' | tr -d '"' | tr -d ',' | paste -sd+ | bc`
echo 'AccountRoot Escrow PayChannel'
echo $accounts_sum $escrow_sum $paychannel_sum
echo 'Total'
echo $accounts_sum $escrow_sum $paychannel_sum | tr ' ' '\n' | paste -sd+ | bc
accounts_num=`grep -B4 AccountRoot $theASFile | grep Balance | cut -f2 -d ':' | tr -d '"' | tr -d ',' | wc -l`
escrow_num=`grep -B6 Escrow $theASFile | grep Amount | cut -f2 -d ':' | tr -d '"' | tr -d ',' | wc -l`
paychannel_num=`grep -B5 PayChannel $theASFile | grep Amount | cut -f2 -d ':' | tr -d '"' | tr -d ',' | wc -l`
echo 'node count'
echo $accounts_num $escrow_num $paychannel_num

If I repeat the above process for later ledgers (eg, a few hundred thousand later), I arrive at differences betweem my sum and totalCoins that are decreasing over time.

Just thinking, now that its been established the "correct" shortfall is 65306.139720, could I be seeing PayChannel fluctuations?

Hi @professorhantzen, I believe the calculation should be the sum over
1. AccountRoot.Balance
2. Escrow.Amount
3. PayChannel.Amount - PayChannel.Balance

where I'm not using valid notation exactly.  So that differs from your scripts PayChannel calculation. I' think the Amount ledger entry for payment channels is the cumulative XRP put into the channel, and the Balance is the cumulative XRP payed out.

@bachase Awesome!  With that fix I'm getting 65306.139720 every time.
Thank goodness, now I can sleep at night... and wow, this thing really works.

Lol, phew!
I vaguely recall invariant checks for this, but there being some issue to
do with spam or sth and they being disabled. Maybe they are reinstated
these days?
I recall going over early ledgers and there being some very rare (cant
recall exact frequency, but was checking millions and millions of txns)
txns where a few odd drops would disappear.

I'll keep running this now and then, might package it up (the node version...) so others can easily verify any given ledger.  As a basic online test it would catch any number of issues, hopefully none of which will ever actually appear. As I see it, the big concern with rounding errors is that the mechanism creating them could be gamed to mint more of an asset from nowhere, or destroy it without owning it first. I guess in principle something should be worked out to audit IOU's too.

See:
https://github.com/ripple/rippled/blob/develop/src/ripple/app/tx/impl/InvariantCheck.cpp#L26

Thank you - I'm in love with this file. Looks like its called for every affected ledger entry, on every transaction.
Imagining a ledger with only one transaction, where 50 XRP is sent from one account to another, can anyone confirm I'm interpreting this code correctly?
InvariantCheck.h
drops_ = 0;                                   // #1

InvariantCheck.cpp
drops_ -= (*before)[sfBalance].xrp().drops(); // #2
drops_ += (*after)[sfBalance].xrp().drops();  // #3a & b
if(-1*fee <= drops_ && drops_ <= 0)           // #4
        return true;
// else fail

---

account_a.Balance: 100 XRP
txn: send 50 XRP with 12 drop fee to account_b

 1. drops_ = 0
 2. drops_ = (0 - 100000000)
    drops_ = -100000000
3a. drops_ = -100000000 + 49999988 (account_a)
    drops_ = -500000012
3b. drops_ = -500000012 + 50000000 (account_b)
    drops_ = -12
 4. if(-12 <= -12 && -12 <= 0)
--> true

If so, what would happen if less XRP was destroyed by the fee than expected?

Yes, XRP left undestroyed. Ie, given the above scenario, if after the transaction, at step 3a, "account_a" showed -500,000,002 (because 49999998 was left in the account - so the fee somehow consumed only 2 drops, not 12), then "drops_" would go into finalize as "-2", which passes both sides of the conditional, but an extra 10 drops would actually be in account_a, and presumably unaccounted for.
In a sense then, XRPNotCreated would then not really be catching all "XRPNotCreated"'s.  Though I'm not 100% sure I read the code correctly. Mainly, I can't figure out how its being called.  I've just assumed it's called in an order that makes sense conceptually and the conditionals return true given a typical change in state.

Oh, I haven't read the code properly ... so wasn't sure what you were
saying :)
Maybe you'll get a bug bounty! :)
Too tired to follow you atm

@professorhantzen: invariant checks are called for every transactions (and, thus, every ledger). If a transaction breaks an invariant, then any changes it made are undone, and the transaction returns a tecINVARIANT_FAILED which puts it in the ledger (doing nothing) so anyone can analyze it. See https://ripple.com/dev-blog/protecting-ledger-invariant-checking/
I'm looking at the code now and I think that this code can be improved by changing this:
if(-1*fee <= drops_ && drops_ <= 0)

To this:
if (-fee == drops_)

I'm going to try this, do a PR and tag you as a reviewer.

There is one case where a transaction may not pay the full fee, and that is the case where the fee specified is larger than the account balance. In that case, rippled will "zero out" the account balance, and only destroy that balance amount. This is another reason (along with partial payments) why it's important to check the validated metadata and not just the transaction data.

if (-fee == drops_)
Where drops_ = -before + after essentially right?
And where fee is the actual fee paid (per ed's case), not just as tx specified ?
Sounds about right to me ...
Would handle the drops accidentally gone missing case then too right ?

@nbougalis PM'd you on xrpchat.

@sublimator It's alright, had already been thought of.

https://github.com/ripple/rippled/pull/2482


Add scripts for reading and analyzing simulation results for large number of runs

Codecov Report

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

@@          Coverage Diff           @@
##           master     #19   +/-   ##
======================================
  Coverage    49.1%   49.1%
======================================
  Files          18      18
  Lines        1000    1000
======================================
  Hits          491     491
  Misses        509     509

Continue to review full report at Codecov.

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

Closes #16


Translate to Korean

As I asked before, we did translation the README.md
If you don't mind, i hope this will be commit to Imgaug.
Thank you.

Codecov Report

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

@@            Coverage Diff             @@
##           master     #500      +/-   ##
==========================================
- Coverage   96.26%   95.64%   -0.62%
==========================================
  Files          35       35
  Lines       12410    12409       -1
==========================================
- Hits        11946    11868      -78
- Misses        464      541      +77

Thanks for the help! This PR would update the standard README.md file. There would be no english readme file anymore, only a korean one. Can you maybe create something like README_korean.md and add your translations to that file instead? Then both languages would be available.

Thanks for the help.
Can you add these changes to README_korean.md instead of README.md please, so that there is a separate english and korean file?
You seem to also have checked in two files in .vs/. I guess these are from your IDE. Can you please remove these from the patch via e.g. git rm --cached <filename>?

I tried, but i dont know how to translate about some words.
so im think about that problem, sorry for late.
Unfortunatly, im busy with other things.
I REALLY hope the day will come when i can concentrate on this work.


application stack traces not appearing in Rollbar for errors in development mode

I've been having trouble getting application stack traces to show up in my Rollbar errors recently.  Here is an example of an error, NoMethodError: undefined method *' for nil:NilClass`, which was caught by Rollbar: https://rollbar.com/ValorWater/Aquifer/items/1842/occurrences/57186663629/.
This is happening in my development environment. I have noticed that in my staging environment, the same error does include a stack trace: https://rollbar.com/ValorWater/Aquifer/items/1946/occurrences/57186479861/
In my Rollbar initializer file, I am not setting config.populate_empty_backtraces anywhere.  I have experimented with setting config.populate_empty_backtraces = true, and found that it includes the non-project frames, but still no application stack trace: https://rollbar.com/ValorWater/Aquifer/items/1950/occurrences/57196108276/

@dwegman thanks for the detailed report.
@ArturMoczulski can you investigate?


chore: Remove eslint/prettier; add vscode support

PR:

removes eslint / prettier
fixes auto-formatting in vscode

:tada: This PR is included in version 1.1.6 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Topics page

The topics page should be a list of presentation topics that the community would like to see presentations on. It should allow for people to submit topic ideas as well as +1 existing topics. It'd also be nice if there was a way for user to volunteer to present on any topic in the list.

This implies that you want to have user accounts? Or do you just want to have a form that goes to admins, who review and post?

I'm hoping to avoid creating user accounts and doing registration and all that jazz. As far as this page is concerned, a user is just an email address, I think. And the volunteer functionality should really just be a mailto with a pre-baked subject line that sends an email to the organizers.


Whats really the point of all this?

As the title says what is the point of SunriseOS

Let me preface this by saying that SunriseOS is not and will likely never be a user-facing project. No, you won't ever run Atmosphere with the SunriseOS kernel on it. No, you probably will never use it to run games.
SunriseOS started as a school project for me, @orycterope and @Thog. The original vision was to make an ABI-compatible kernel implementation in Rust. That goal is obviously lofty, and I never really expected us to reach it. But we wanted to see how close we could get, and learn as much as possible about kernel development and Horizon/NX in the process. A common question we get is "Why does SunriseOS target i386?" and the reason is quite simple: it was a requirement of the school :). We tried hard to design things in such a way that porting to ARM should remain possible.
As the project grew, we ended up with has broadly three subprojects all being encompassed under SunriseOS:

A Kernel Reimplementation, our original goal.
Libuser, a userspace library for making homebrew
Userspace apps, like vi, sm, etc...

For the time being, I'm sort of treating SunriseOS like a playground in which I can implement cool ideas and toy with technologies I want to learn about. I'm currently working on implementing a network stack on top of SmolTCP (a TCP/UDP/IP stack) and virtio-net (a virtual network device for qemu). I'm also planning on implementing virtio-gpu support for hw-accelerated windows, and maybe rewriting the compositor to get proper window management. Those are all part of the "userspace" part of SunriseOS, which aren't really meant to ever become useful to anyone other than me.
Libuser is basically the new Megaton-Hammer. It takes all the lessons I learned while working on the former, and exposes the kernel and IPC API in the nicest possible way I could think of. I'm overall fairly proud of it, and think it would be a good fit for pure-rust homebrew on the Nintendo Switch. Ideally, I need to add ARM64 support and split it off in its own library. It'd also probably need a bit of splitting up (e.g. moving the future executor out of libuser, potentially integrating it into smol), but overall there shouldn't be too much work needed to put it into production use.
As for the kernel, the ABI it implements right now is fairly incomplete: We're missing synchronization primitives, multi-processing support, a proper scheduler, and many many other features. I'm interested in adding all of those, but it takes a lot of time, and I have a huge pile of other things I want to try out before. The first thing I want to implement in the kernel right now is DeviceAddressSpace syscalls, in order to have a proper, secure IOMMU.

I'm going to close this issue since it isn't really actionable, but feel free to reply here if you've got any further questions. Also, you can go on the Megaton-Hammer discord where most of the team hang arounds.


[Build Issue]:

Have you read through the build instructions before reading this?

[X] I have read the build instructions

What operating system are you seeing the problem on?
Linux (any distro)
Describe the build issue
when attempting to run make from master or develop my terminal outputs error 1&2 on LMDE 5.
Relevant log output
jonald@big:~/etterna-master/build$ make
[  0%] Performing gn_configure step for 'crashpad_init'
Done. Made 76 targets from 27 files in 4ms
ninja: Entering directory `/home/jonald/etterna-master/build/gn_crashpad'
[15/207] ACTION //third_party/mini_chr...omium/build/config:gcc_like_toolchain)
FAILED: gen/build/chromeos_buildflags.h
python ../../extern/crashpad/crashpad/third_party/mini_chromium/mini_chromium/build/write_buildflag_header.py --output build/chromeos_buildflags.h --rulename //third_party/mini_chromium/mini_chromium/build:chromeos_buildflags --gen-dir gen --definitions gen/build/chromeos_buildflags.h.flags
/bin/sh: 1: python: not found
[24/207] CXX obj/third_party/mini_chro...synchronization/base.lock_impl_posix.o
ninja: build stopped: subcommand failed.
make[2]: *** [extern/crashpad/CMakeFiles/crashpad_init.dir/build.make:105: gn_crashpad/src/crashpad_init-stamp/crashpad_init-gn_configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:1847: extern/crashpad/CMakeFiles/crashpad_init.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Anything else?
No response

missing python 2 installation

how odd, terminal outputs I have python 2

Could you please post your output for:
$ which python
$ python -v

Thank you

jonald@big:~$ python -v
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3
These are the exact outputs so I decided to install from the package manager to show terminal outputs what is assumed to be installed. When I attempt to install python2 The output is thus:
jonald@big:~$ sudo apt install python2
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python2 is already the newest version (2.7.18-3).
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
and the same is with Python3 with version 3.9.2-3 if that is any help as well.

the point of which python was to see what python points to. depot_tools is going to be looking for that to be pointing at your python2 install

apologies, that seems to output nothing for me so I have nothing so I omitted it. but none the less here is what was in my terminal.
jonald@big:~$ which python
jonald@big:~$

i would also like to mention that there is a way to build without needing depot_tools and there is also a binary available for this game in the latest releases. since you are building master i assume you arent making changes to submit.
to build without depot_tools (without crashpad ... no crash dumps will be generated by the game. although we will never be able to use them because you are building the game yourself)
https://github.com/etternagame/etterna/releases/download/v0.71.2/Etterna-0.71.2-Linux.tar.gz
example:
cmake -DWITH_CRASHPAD=OFF -G "Unix Makefiles" ..
or you can avoid needing to build by using the release binaries
https://github.com/etternagame/etterna/releases/download/v0.71.2/Etterna-0.71.2-Linux.tar.gz

I have a successful build...somehow!
My Terminal commands are as follows using Ninja and the added cmake argument!
git clone --depth=1 https://github.com/etternagame/etterna.git
cd etterna
git submodule update --init
mkdir Build
cd Build
cmake .. -DWITH_CRASHPAD=OFF -G 'Ninja'
ninja

That worked!
Now another issue has arisen... It will not run as Linux detects no known programs to run the Etterna file with it.
Once again I apologize for this, I feel as though I am coming off as an idiot Linux user asking for your help with all this.

once you built the etterna executable (which may be named etterna or Etterna in the main folder of the game) you should just be able to run it from terminal with ./etterna or ./Etterna depending on its exact name
you probably may also have to set chmod 755 or whatever

success! Thank you so much for your help!


[T6A3][W13-C1] Ang Wei Hao Desmond

@KnewYouWereTrouble
Some comments added. Please ack & close the PR after reading comments.


update to new elastic release, build to latest nuget. build fails

Hi, can you please update this to latest redis, mongodb and asp please. and checkin a working build, would lke to try it out

Let me see if I've time to do that, chances are bleak though. There may be cases of breaking changes with the newer APIs, the tech has moved forward a lot since I touched this code since some 3-4 yrs back. Now things are moving towards async operations for better throughput. All the APIs you see in this application are basically providing async methods as well at this moment. Try with those.
But whatever concepts are explained here, they're pretty easy to structure even with newer APIs.
Also, think about porting your application code to dotnet core, it is going to be the future and is advancing at much faster rate. Even in my job, we've just started to port things to .netcore2.2. It'll give us ease and flexibility of deployment to any platform(win or *nix). Sorry to disappoint you at the moment.


Make Index page more customizable

Is your feature request related to a problem? Please describe.
The page Title, icon and main header all say "Chhoto URL"
While I love this project, some of the users I share my link with dont necessarily understand what is the purpose of the website. Something like "URL shortener" or a custom message would be great.
Describe the solution you'd like
Ideally some kind of environment variables (or config file) where we could set the URL for the logo, the favicon, the title and the main header would be great. Environment variables might be easier, and would play nicely with docker too.
Describe alternatives you've considered
I could run my own static Index.html or a patch on the index.html, but I would prefer a supported feature instead when possible
Additional context
To not remove any credit, we can keep a footer with something like "Powered by Chhoto" or "Made with love @ Chooto" with the Github URL
Some of my users are not very tech savvy and get worried its a suspicious website when they dont understand what they see...
Again, thank you so much for your wonderful work !
Current :

Ideal :

Dark theme support?

@beucismis It works well with Dark Reader.


Make ports configurable

Hi, when trying to start two instances of Confluence on the same host, you run into the problem of the default port exposed twice which means you have to manually edit both containers in order to get it to work. I would be nice if you could set the confluence standard and synchrony port through ENV exactly like CONFLUENCE_PROXY_PORT so you could start an unlimited number of servers at the same time

There is no such problem. You can always remap the port with docker:
docker run -d --name confluence1 \
  -p 8090:8090 blacklabelops/confluence
docker run -d --name confluence1 \
  -p 8190:8090 blacklabelops/confluence

Also you do not need the synchrony port. Atlassian patched this and synchrony runs by default over a context path.

Thank you, yes I was asking because of Synchrony. The Confluence docs still refer to 8091 needing to be open in some places. If its not an issue anymore, I think we can forget about this one
Thank you and best regards


[Chore] Issue Templates need updated to reference the correct label names

Description
The issue templates in this repo incorrectly reference labels like bug and enhancement.
Expected Behavior
These issue templates should be updated to reference the new label names like kind/bug and kind/enhancement

@crustyy Would you like to take this one?

can i take this?


UI should change wording for RKE2 snapshots

Summary:
RKE2 is different from RKE1 in that it will take a snapshot per each node with etcd role. As such we should consider changing the wording on the cluster creation form -- it mentions snapshots to retain (count) but for rke2 it's really Sets of Snapshots
Environment:
Rancher version: v2.6.0-rc10
Steps to Reproduce:

Create an RKE2 cluster with one of the node drivers
Notice it says "Snapshots" to retain - this could confuse users -- suggest for RKE2 only it should say something like "Sets of Snapshots"

Pictured below - user took two on-demand snapshots and 2 automatic snapshots have happened on this 3-node etcd rke2 cluster. It's not 2 automatic snapshots here -- it's two sets that are retained (during cluster creation I indicated to keep last 2 sets of snapshots).

@vincent99 Does this sounds reasonable? If so, all we need to do is change the string in Dashboard, since the RKE1 screen is provided by Ember.

The snapshots are physically on each node and each node independently keeps as many as you say to without knowing about any of the others.  So I'm not sure "sets of" really clarifies anything, if you add/remove nodes you can have more than 5 "sets".
It's really more like "Keep the last [n] snapshots per node".

We will change the suffix from 'Snapshots' to 'Snapshots per node' - not sure the control will allow such a long suffix, but we'll see.

My checks PASSED
Reproduction Steps:

Not required.

Validation Environment:

Rancher version: v2.6-head 1a57856 pulled 9/17/21 ~9:30am Pacific
Rancher cluster type: single-node docker install
Docker version: 20.10
Downstream cluster type: rke2
Downstream K8s version: n/a
Validation steps:

Create an RKE2 cluster - under Cluster Configuration section > etcd the "Keep the last" field now indicates "Snapshots per node" since RKE2 creates 1 snapshot per each node (unlike RKE1)

Create an RKE1 cluster - can confirm that this form is unchanged, as expected.


Not able to generate refresh Token and getting error message

I have used rest API service to generate token . I pass the web chat secret key as given below.
https://directline.botframework.com/v3/directline/tokens/generate
Authorization Bearer xxxxxxxxxxxxxxxxxx
I am able to generate the token and got the following response
{
"conversationId": "xxxxxx",
"token": "xxxxxxxxxxxxxx.wYsv_1ktrrW-xxx__SgGRFQbxxxxW_IuPAtY",
"expires_in": 1800
}.
After getting this token I passed to following url to generate the refresh token after the post method I am getting following error message as given below.
Post : https://directline.botframework.com/v3/directline/tokens/refresh
Authorization Bearer "xxxxxxxxxxxxxx.wYsv_1ktrrW-xxx__SgGRFQbxxxxW_IuPAtY",
Error  Message
{
"error": {
"code": "ServiceError",
"message": "This method can only be used to renew an existing token"
}
}
I have used post man service to test the rest API service. There is any timeline like before 5 minute expire only call the refresh token or can I call any time to generate refresh token.
Could you please help me to fix this issue.

@JeevaJose are you using .NET or Node SDK?

I am able to fix the issue. hence I am closing this issue.

@JeevaJose thanks for the update.

@JeevaJose  Hey I am facing the same issue please tell me how to fix this issue

First you have to generate a token and once that token is ready pass to the conversation then will generate a new token. Pass that token and generate a refresh token.
https://directline.botframework.com/v3/directline/conversations
without conversation you can’t generate a refresh token. I hope this post will help you to fix the issue.

Generate your token using following code:

`
var token = string.Empty;
var clnt = new HttpClient();
clnt.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "Your_Directline_Secret");
        var rsp = clnt.PostAsync("https://directline.botframework.com/v3/directline/tokens/generate", new StringContent(string.Empty, Encoding.UTF8, "application/json")).Result;

        if (rsp.IsSuccessStatusCode)
        {
            var str = rsp.Content.ReadAsStringAsync().Result;
            var obj = JsonConvert.DeserializeObject<DirectlineRsp>(str);
            token = obj.token;
        }

    `

Then you can use pass token variable to your page and use it in webchat control:
BotChat.App({                                             directLine: { token: token_passed_from_server},                                             user: { id: usrid },                                             bot: { id: 'mybot' },                                             resize: 'detect'                                         }, document.getElementById("bot"));

Could you help me work something out?
We are not using web-chat, we have built our own react front end and using directlineJs.
We have an API that retrieves a token through https://directline.botframework.com/v3/directline/conversations. Upon API response we connect to DirectLine.
Everything works fine, however the token dies in 30 minutes and the conversation locks up.
What we are now trying to do is send a refresh message to https://directline.botframework.com/v3/directline/tokens/refresh passing in our original token, we get a new token back but are unsure what to do next?


Should the ?Issues command have an optional param to pull more details on an individual issue?

The code wouldn't be that hard to add an optional param to the Issues command.
Design Questions:

Expected format?
Same command or new one
Any issues if I split the run method to have 2 helper methods to generate the embed and have run just send the returned embed?

Example syntax would be ?issues codesupport/discord-bot 37

In terms of usability, a single command is better. I mean...
# Different commands
?issue-by-id codesupport/discord-bot 37

# Same command
?issues codesupport/discord-bot 37

If we were to make two different commands, we could name them IssueCommand and IssuesCommand, it would keep the command name short, although it could also make things more confusing.
# 3 recentmost issues
?issues codesupport/discord-bot

# Get issue 37, must supply an issue id
?issue codesupport/discord-bot 37

I prefer having a single command. I also would like to leave the suggestion of adding issue as an alias for IssuesCommand if we choose to keep it in a single command.
I think that splitting the embed generation in two private methods is nice for readability, and the syntax you proposed is nice too.

Single command is fine to me, I forgot you could alias commands. I'll look into it.


Add HTTP/2 interop test client

These tests are for the new HTTP/2 test server (#8900). They are designed to test client behavior when the server sends unexpected responses during rpcs.
The test descriptions are in-progress in a separate PR, https://github.com/grpc/grpc/pull/9128
This adds a new target to build.yaml and the Makefile, so will have to wait for the build moratorium to end.
@ncteisen @makdharma fyi

Added checks of the response messages to conform to the test specs

retest this please


"Go to definition" jumps to a hidden region in diff editor

Description
"Go to definition" on a symbol moves the cursor to the line about the hidden region in the diff editor instead of unhiding a part of region and showing the definition.
https://github.com/microsoft/vscode/assets/16353531/2b1145f1-05cc-4d3f-97fe-a531c4a252f8
Version
Version: 1.83.0-insider
Commit: bccfade64adb249f57c8fcf03cba41609f76ce5c
Date: 2023-09-15T05:38:00.328Z
Electron: 25.8.1
ElectronBuildId: 23779380
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.6.0

Related: #193834


Remove Redundant Null Pointer Checks

Remove uses of == nullptr and != nullptr
Signed-off-by: “Rian<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling ff7882dbc9b6432268f64eef6730150b9bb15aa6 on rianquinn:remove_nullptr_checks into 82f447aa3bfcf419c4c3222278c7517e9e8bc8b1 on Bareflank:master.

The readability checks are failing as they want explicit == and != nullptr. Furthermore, the C++ Core Guidelines use this same syntax.


{{foo}} and {{foo}} should use the same font

Instead,
{{Window}} {{Window}}

produces:

Window
Window

which looks like:

due to an extra font-size: .9em; matching from https://github.com/tabatkins/bikeshed/blob/344b3f700fc98d8ae89e3282c4e5be9eac352059/bikeshed/include/stylesheet.include#L481

Fixed. I'm not even sure why we're applying font-size: inherit there. I switched it to normal, and will go PR the W3C stylesheet.


[WIP] Add Rails 5 support

This gem is not going to support Rails 5.

Got it. cc @eileencodes

Oops sorry @vipulnsward I misunderstood the support reference you posted in Basecamp. Thanks for taking on the work though!


The same memo may be saved twice

Describe the bug
The same memo may be saved twice.
Steps to reproduce
When the network latency is high, click on the save button, the button is grayed out and you need to wait a few seconds for the submission to complete, then refresh the page and you'll see that there are two memes with the same content and they have different ID.
The version of Memos you're using
0.10.1
Screenshots or additional context
No response

Maybe it's fixed in the latest version.


cue: improve error messages

This is a tracking issue for improved error support

more location information
avoid obscure words like unify
expose more structured information in the API
better localization support

This issue has been migrated to https://github.com/cue-lang/cue/issues/52.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


[New game]:  Cannibal and Missionaries

🎮 Game Request
Game logic and basic description:
Cannibal and Missionaries is an AI based problem and this game is based on that Ai problem. In the missionaries and cannibals game three missionaries and three cannibals must cross a river using a boat which can carry at most two people, under the constraint that, for both banks, if there are missionaries present on the bank, they cannot be outnumbered by cannibals (if they were, the cannibals would eat the missionaries). The boat cannot cross the river by itself with no people on board.
Point down the features
Game points:

The game starts with all missionaries and cannibals on the right side.
Players move missionaries and cannibals to the boat by clicking on them, and then move the boat by clicking on it.
The game checks for invalid states (more cannibals than missionaries on either side) and winning states (all on the left side).

Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Rishi-Singhal21 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @Rishi-Singhal21 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Many user-facing APIs + some URLs and identifiers use the term Blazor when it's for all components

Do a search for Blazor in our repo and you'll find a bunch of references to the term in public API surface that refers to both server-side components and Blazor. Mostly this is the JS code where API is exposed through the window.Blazor global.
I'm thinking that we generally want to reserve the term Blazor for when we're speaking about the pure-client-side parts of the world so we should think about cleaning these up.

@rynowak aren’t you taking care of this as part of tour PR already?

No. I cleaned up a bunch of places where we use the terms in comments and stuff. I didn't make changes that will break user code.
Notice that this item says "think about", I didn't make any proposals for what to change it to and how it should look. I'd even be open to arguments that it should stay 😆

I agree we should do this, and I'd propose we do it just by going ahead and accepting that these will be breaking changes.
The number of developers who are using the window.Blazor APIs are probably pretty low by now (since we moved the JS interop to hang off DotNet instead of Blazor). Most of these APIs really exist only for use by the framework, e.g., by BrowserUriHelper and the renderer etc.
Is there any reason to be more concerned than usual about breaking changes here? Blazor is still 0.x.

Is there any reason to be more concerned than usual about breaking changes here?

I don't think so. We just do it and put it in the release notes.

@rynowak Should I rename everything to components and then back to blazor? :trollface:
Closing this as there's no work left here.

Awesome!

It just goes to prove that if you ignore problems for long enough, eventually the universe solves them automatically.


fioctl-autodoc: automatic document generation for fioctl

This generates the man pages from fioctl gen-rst and places them in the correct structure using a toctree glob.

Hah, forgot that we won't have fioctl in this container.

Docs for 1744e2034cdc9b930199665ae841e29a7edc68b2 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/615/docs/artifacts/html/index.html

Docs for 6184354afef205f3e3909287400703210e6b6682 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/616/docs/artifacts/html/index.html

Docs for 3254575dce1b983702c655336662b7d920cb7a37 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/617/docs/artifacts/html/index.html

Docs for 01baa99e0ae67a92166a572544f35cddff622592 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/618/docs/artifacts/html/index.html

this has to be after the call to fioctl gen-rst. The make command is turning rst into html.

Right.. I was thinking about this from the wrong perspective, since I'm not running make locally, have a daemon doing it. Sorry! :sweat_smile:

Docs for 27d85ce517d14a151e83247b21618ec65d63037c are browesable at: https://ci.foundries.io/projects/fio-docs/builds/619/docs/artifacts/html/index.html

Looks good. I'd squash this into one commit and merge I think.


Add typed property retrieval function

Generic type annotations are not supported at runtime in js and py. But: by inlining, Fable allows the function to be transpiled against all type cases that appear throughout the transpilation.
Inlining is only possible for functions in Fable, so instead of fixing the member, I propose this new function in the DynObj module.
workaround for #26

against all type cases that appear throughout the transpilation

So if i understand this correctly, Libraries that use this function internally will then transpile, because the types are known during transpilation, but if a consuming library wants to use this for any other types, it will still fail?

against all type cases that appear throughout the transpilation

So if i understand this correctly, Libraries that use this function internally will then transpile, because the types are known during transpilation, but if a consuming library wants to use this for any other types, it will still fail?

Nope, transpiled code is not shipped. All source files, even the ones referenced from nuget, are always transpiled together.

After further discussion, we agreed on removing the TryGetTypedValue<'T> in transpiled code completely. The reasoning here is that we have different behavior anyways (it always fails in transpiled code with the current approach).
So now, if code from this lib is to be transpiled, the inlined function DynObj.tryGetTypedValue must be used, otherwise transpilation will fail, meaning we move the problem from runtime to compile time, which we deemed more desirable. Otherwise, when staying in the .NET world, the instance member TryGetTypedValue<'T> can be used without problems.


Android app - v3 advanced Translation - No functional channel service provider found

Try to use v3 advanced Translate API in my android app, getting this error when I tried to use service account credentials :
io.grpc.ManagedChannelProvider$ProviderNotFoundException: No functional channel service provider found. Try adding a dependency on the grpc-okhttp, grpc-netty, or grpc-netty-shaded artifact
Am I doing something wrong?
Gradle :
implementation 'com.google.cloud:google-cloud-translate:1.94.5'
My code :
val stream: InputStream = resources.openRawResource(com.example.R.raw.service_account)
val credentials = GoogleCredentials
    .fromStream(stream)
    .createScoped(Lists.newArrayList(Collections.singleton("https://www.googleapis.com/auth/cloud-platform")))

val translationServiceSettings = TranslationServiceSettings.newBuilder()
    .setCredentialsProvider(FixedCredentialsProvider.create(credentials))
    .build()

val client = TranslationServiceClient.create(translationServiceSettings)
val parent = LocationName.of("some_key", "global")

val request = TranslateTextRequest.newBuilder()
    .setParent(parent.toString())
    .setMimeType("text/plain")
    .setSourceLanguageCode("en")
    .setTargetLanguageCode("fr")
    .addContents(word)
    .build()

val response = client.translateText(request)

We don't normally support Android out of our repos.  You might wish to look at the Firebase documentation: https://firebase.google.com/docs/ml-kit/translation and I found a blog post, but I can't say how accurate it is.
https://medium.com/@yeksancansu/how-to-use-google-translate-api-in-android-studio-projects-7f09cae320c7
In general, if there is a Firebase or GMS Core (android) way, that is preferred to using our client libraries directly.
@JustinBeckwith FYI


Support Control-C to stop tests

Currently, trying to abort the lucy.sh script will leave the following AWS resources running:

Gru
Minions
ECS Cluster
ECS Task

No plan to support this since cluster teardown is trivial.


Add graph icons to OE and TD

Added and merged the functionality to specify if a node is graph node or not in STS. Following that, using that information to display right node icons.
Fixes https://github.com/microsoft/azuredatastudio/issues/18723
Temporal, Node, Edge in OE:

Temporal, Node, Edge in Table Designer:

TODO: The icon files right now are only for light theme. I'll be working with UX to get dark theme icons.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 42.517%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
27567

Relevant Lines:
60578

💛  - Coveralls

Will wait on new icons before merging.


Failed to get machines: The network connection was lost.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Logs
If applicable, attach log files by opening the OrbStack menu and clicking “Show Logs”, or email them for privacy.
Info report

<paste here>

Additional context
Add any other context about the problem here.

Please fill out the entire bug report, including most importantly the logs and info report, so there's enough information to look into this.


Fix usage of database config

I'm pretty sure the example of the database config is a bit outdated because the constructor signature has changed

Ah, thanks!


Image not updating on XAML databinding BarcodeValue property changed

zxing:ZXingBarcodeImageView
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
BarcodeOptions="{Binding BarcodeOptions}"
BarcodeFormat="{Binding BarcodeFormat}"
BarcodeValue="{Binding BarcodeValue}"
/zxing:ZXingBarcodeImageView
First time binding works, but no updates.

I meet the same problem. I'm not sure if it is caused by not in UI thread. I just fix this by manually settings in BindingContext property changed.

This issue has been fixed on Android, UWP not working though perhaps as 599fcb5 updates only for Android.

I found out the iOS renderer still have the binding issues

I'm seeing the problem. Works on Android but doesn't update on iOS. Can we get this issue reopened?

In my case the same code works for Android but in iOS no image is displayed. I can not see any exception etc, below is the code:
var codeGenerator = new ZXingBarcodeImageView
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
};
codeGenerator.BarcodeFormat = ZXing.BarcodeFormat.QR_CODE;
codeGenerator.BarcodeOptions.Width = 50;
codeGenerator.BarcodeOptions.Height = 50;
codeGenerator.BarcodeOptions.Margin = 0;
codeGenerator.BarcodeValue = QRDealCode;
codeGenerator.SetBinding(ZXingBarcodeImageView.BarcodeValueProperty, QRDealCode);
stkParent.Children.Add(codeGenerator);


33601: Fix Sphinx error for azure-maps-geolocation

Description
Fix Sphinx errors related to formatting, styling and adopting anonymous links in docstrings. After introducing these changes, we are able to set strict_sphinx to true in pyproject.tom - which enforces strict checking during the Sphinx documentation build process.
Fixes: https://github.com/Azure/azure-sdk-for-python/issues/33601
[Testing Guidelines]
`../azure-maps-geolocation>pip install "tox<5"
../azure-maps-geolocation>tox run -e strict-sphinx -c ../../../eng/tox/tox.ini --root .`

/check-enforcer override


Fix bug unique contraints on library creation

Closes rubocop depfu failing PR
Closes #320
COUPLED with Traction-UI change to singular library creation request
Changes proposed in this pull request:

Makes creation of pacbio library request singular. There is only every one library created at any one time
On  library delete, delete associated request libraries
Refactored LibraryFactory
Add request library validation so no two tags can be the same, and no two request can be the same
Added table indexes for unique constraints
Tests

Coupled with https://github.com/sanger/traction-ui/pull/385


RFC: qemu_x86: Enable Q35 machine only for x86_64

Initial enabling of Qemu Q35 machine for x86 and x86_64 triggered issue with networking testing relying on some hardcoded driver's parameters with qemu_x86 platform. Enable Q35 only for x86_64 for now.
Fixes #51829

Has someone looked into how the tests should be updated to pass with q35?

Has someone looked into how the tests should be updated to pass with q35?

As far as I can see, it is just a matter of where the emulated E1000 is placed on the PCIe bus. Changing PCIE_BDF(0, 3, 0) to PCIE_BDF(0, 2, 0) should make it work.

I am not talking about PCIe IRQ allocation. I simple refer to https://github.com/zephyrproject-rtos/zephyr/blob/7756809c972d5fff0b52d85cfda5f6f20628a2c2/drivers/ethernet/eth_e1000.c#L238 which hardcodes the BDF for the E1000 driver.

I am not talking about PCIe IRQ allocation. I simple refer to
https://github.com/zephyrproject-rtos/zephyr/blob/7756809c972d5fff0b52d85cfda5f6f20628a2c2/drivers/ethernet/eth_e1000.c#L238
which hardcodes the BDF for the E1000 driver.

This can be done. I was thinking to rewrite e1000 using PCIE IRQ allocation.

This can be done. I was thinking to rewrite e1000 using PCIE IRQ allocation.

That would be nice, but would require dynamic PCIe IRQ allocation supported on non-64 bit x86. I skipped dynamic IRQ allocation for this reason in #51750.

Is the BDF still correct after the CAN support for qemu that was just merged?

Is the BDF still correct after the CAN support for qemu that was just merged?

Should not matter now. 540fecb I think BDF might change depending on Qemu command line options.

Is the BDF still correct after the CAN support for qemu that was just merged?

Should not matter now. 540fecb I think BDF might change depending on Qemu command line options.

I will rebase since pcie gets duplicated


Typescript compilation errors when adding this library to a project, v10.0.0-alpha.7

We use this library and since version 10.0.0-alpha.7, it triggers new typescript errors inside the node_modules of our project, which is a little annoying as it breaks the typescript checks in our pipeline. I can't figure out how to suppress them without editing the files in node_modules/@maplibre
Steps to Trigger Behavior

clone this repository, v10.0.0-alpha.7 (or add the package to your existing project)
npm install
npx tsc --noEmit

Expected Behavior
Typescript check is successful
Actual Behavior
Typescript check throws eight errors in javascript/components/Style.tsx
Screenshots (if applicable)

Version(s) affected

maplibre-react-native Version: 10.0.0-alpha.7

Additional context
Since previous versions, there have been other typescript errors when importing this npm package. Specifically, Cannot find module '../../assets/heading.png' and Could not find a declaration file for module '@mapbox/geo-viewport'. These I've managed to suppress by declaring the required modules, but this one I don't know how to deal with

Same issue, also tried to suppress them with a patch but to no success.

Hey @veno501, @madmeatballs, this should be resolved in 10.0.0-alpha.9. Feel free to reopen if the problem persists. Thanks!

@tyrauber with 10.0.0-alpha.9 I am still getting some TS errors, should I open an new issue for this?

node_modules/@maplibre/maplibre-react-native/javascript/components/HeadingIndicator.tsx(4,25): error TS2307: Cannot find module '../../assets/heading.png' or its corresponding type declarations.
node_modules/@maplibre/maplibre-react-native/javascript/utils/geoUtils.ts(1,25): error TS7016: Could not find a declaration file for module '@mapbox/geo-viewport'. <EMAIL_ADDRESS>implicitly has an 'any' type.
Try npm i --save-dev @types/mapbox__geo-viewport if it exists or add a new declaration (.d.ts) file containing declare module '@mapbox/geo-viewport';

@tyrauber with 10.0.0-alpha.9 I am still getting some TS errors

node_modules/@maplibre/maplibre-react-native/javascript/components/HeadingIndicator.tsx(4,25): error TS2307: Cannot find module '../../assets/heading.png' or its corresponding type declarations.
node_modules/@maplibre/maplibre-react-native/javascript/utils/geoUtils.ts(1,25): error TS7016: Could not find a declaration file for module '@mapbox/geo-viewport'. <EMAIL_ADDRESS>implicitly has an 'any' type.
Try npm i --save-dev @types/mapbox__geo-viewport if it exists or add a new declaration (.d.ts) file containing declare module '@mapbox/geo-viewport';

@veno501 how did you manage to suppress these?

I declared these myself, see https://github.com/maplibre/maplibre-react-native/issues/422#issuecomment-2230642658


Level.destroyBlock still havent been fixed?

var goldId = 41;
function redstoneUpdateHook(x,y,z,newCurrent, worldLoading, blockId, blockDamage){
var powered = newCurrent;
if(blockId == goldId && powered >=1 && powered <= 15){
Level.destroyBlock(x,y,z,true);
}
}
No working for me :(

Redstone currents only work for custom blocks, not built in blocks.


fix fix macos compile failed (#44061)

What problem does this PR solve?
cherry pick from #44061

run buildall


Too many websockets in typical usage

I think this project is starting to get to a point where a client program will have many redundant websockets to use all the features available.
Example:
If you want to process incoming trades & have live OrderBooks on 5 different products, you will need 6 open websockets for this. Each websocket is receiving the same data, so gdax-python SHOULD just be filtering the data on one open websocket.
Maybe we can create some sort of websocket singleton that can be used by all classes? or combine the orderbook class (that can hopefully support multiple pairs) as an toggle-able option in the websocket class?
Also worth noting that GDAX claims to rate-limit websocket connections:

The websocket feed is publicly available, but connections to it are rate-limited to 1 per 4 seconds per IP.

Yes. I've submitted an experimental/v1/alpha+probably buggy L2 orderbook where we use a filtration method:
https://github.com/danpaquin/gdax-python/pull/148/commits/a534088b7cc096ec162687e78e177be9bcab0d03
You basically create 1 web-socket & the orderbook has a process_message method (which filters by message type & product_id). The web-socket can subscribe to any number of products / channels.
I was hoping that this becomes standard. The only problem is whether or not we want to diverge from the gdax-node version (which is not my call).

@lirenz Glossing over your PR real quick looks like it's a step in the direction. I'm not sure if the current OrderBook really should inherit from the WebsocketClient. Instead we could just process each message in the on_message() of a single application-wide websocket.

I reworked the OrderBook code to no longer inherit from the WebsocketClient. However, my "OrderBookConsole" version throws all incoming websocket message into a Queue (also worth noting, this makes the example code python 2.7 exclusive), and then processes the queue in an infinite loop. I'm going to start using it in my application, but would like some more eyes on it before I submit a PR, since it's a pretty large functionality change.
https://github.com/mcardillo55/gdax-python/commit/e33088bb389a486e52c771fe708b74b6bcfed3af


Manually set scroll position?

Trying something like:
scrollBox.scrollLeft = 0

But got:
Uncaught TypeError: Cannot set property scrollLeft of # which has only a getter
It's weird...

That's because I didn't have setters for scrollLeft and scrollTop. I added them in v2.2.0. Let me know if you have any problems.

it works! thank you!


Layout wastes screen space

Describe the bug
The current design is not responsive, instead it's optimized for mobile screens.
Expected behavior
Maybe arrange the clients in a grid if it fits on the screen.
Screenshots

Hi, @notramo I would like to work on this issue can you please assign me this issue.


Support including two different versions of the header: #ifdef guard per function

If you include an old version of pythoncapi_compat.h header file and then include a new version of the header file, the new header is ignored by the global guard:
#ifndef PYTHONCAPI_COMPAT
#define PYTHONCAPI_COMPAT

It would be nice to support including multiple versions of the header file.
Use case:

a library has its own OLD pythoncapi_compat.h copy
an application uses this library and has a NEW header copy

The expected behavior is that the application gets the new definitions of the new copy, even if the old copy was already included.
The pybind11 project requires to support this use case: https://github.com/pybind/pybind11/pull/2932 to be able to use pythoncapi_compat.h.
The idea is to have guards per function, rather than having a single global guard.
I'm not sure how the compiler selects which header file is used if there are two copies in the include directory paths.

cc @erlend-aasland @corona10

I lost track of this issue. I prefer to close it for now.


Cleanup and refactoring

Description
This PR cleans up and refactors the codebase with the following changes:

[x] Move to production by removing staging endpoints
[x] Re-organize imports to order them consistently across modules
[x] Break webnative.ts up into init.ts and auth/account.ts modules
[x] Move the utils.ts module from src/lib/common to src/lib
[x] Replace the Toast used in __layout.svelte with a Notification and remove the Toast component
[x] Move the theme implementation from src/lib/theme to  src/lib (no need for the subdirectory here)
[x] Rename theme to themeStore to name it
[ ] Add missing dark borders (Seems this is all covered!)
[x] Enforce minimum node version (at >=16.9 which is minimum for SvelteKit)
[x] Check that all subscriptions are unsubscribed on destroy
[x] Examine components for code that can be lifted to their parent route. In particular code that is re-used by sibling components, but some functionality like URL parsing might make more sense in a route
[x] Replace uuid helper in utils.ts with WebCrypto randomUUID
[x] Remove unneeded console logs
[x] Generalize URL parsing code
[x] Hide app name in header on mobile
[x] Remove deviceStore (It was unused. We are setting mobile styles with Tailwind utility classes.)
[x] Remove unused navigate event from AreYouSure component
[x] Add social preview image and add URL to app-info.ts
[x] Replace convertUint8ToString in utils.ts with toString from uint8arrays
[x] Separate gallery directory creation into dedicated function
[x] Update webnative version in package.json to allow minor upgrades

Under consideration:

Create gallery directories in gallery route instead of at account registration
Upgrade SvelteKit to latest beta version The changes are significant and should be on a separate PR.
Add icons for info and warning notifications We can add these later when we have the assets available

Link to issue
Closes #57
Type of change
Please delete options that are not relevant.

[x] Refactor (non-breaking change that updates existing functionality)

@avivash requesting your review because there a couple of changes to the gallery in this PR. Most notably:

Replace uuid helper in utils.ts with WebCrypto randomUUID
Replace convertUint8ToString in utils.ts with toString from uint8arrays

Don't feel obligated to review this entire PR (unless you want to!). Wanted to run the gallery changes by you though if you have a chance to look at them.

@avivash requesting your review because there a couple of changes to the gallery in this PR. Most notably:

Replace uuid helper in utils.ts with WebCrypto randomUUID
Replace convertUint8ToString in utils.ts with toString from uint8arrays

Don't feel obligated to review this entire PR (unless you want to!). Wanted to run the gallery changes by you though if you have a chance to look at them.

That sounds good! I'm definitely a fan of using the native crypto package(not the npm one) wherever possible 👌🏼. I like the toString from uint8arrays more too. I hadn't really had to use uint8Arrays much before I started working with webnative, so I had a feeling I may not be using best practises 😅 thanks for updating that
It may be worth mentioning I ended up building out the gallery in walletauth using a DDD approach to make it easier for people to remove all the gallery code in one fell swoop if they decide they don't want it https://github.com/webnative-examples/walletauth/tree/main/src/routes/gallery. I'd be happy to look into implementing something similar in this repo 👍🏼
Also, I don't think this is related to your app, but when I ran your branch locally I noticed the homepage was showing my eth address as my username(even though I don't have walletauth or any other node apps currently running). This does default to the same port as the walletauth app when running dev though, so maybe I'll change the default port in the walletauth app for now?

That sounds good! I'm definitely a fan of using the native crypto package(not the npm one) wherever possible 👌🏼. I like the toString from uint8arrays more too. I hadn't really had to use uint8Arrays much before I started working with webnative, so I had a feeling I may not be using best practises 😅 thanks for updating that

Thanks for looking those over! I might be hesitant to use uint8Arrays for a small thing like this, but we use it heavily in Webnative so no harm using it here as well. 🙂

It may be worth mentioning I ended up building out the gallery in walletauth using a DDD approach to make it easier for people to remove all the gallery code in one fell swoop if they decide they don't want it https://github.com/webnative-examples/walletauth/tree/main/src/routes/gallery. I'd be happy to look into implementing something similar in this repo 👍🏼

Yeah, making it easier to pull out would be great! I'd say let's wait until we get upgraded to the latest SvelteKit. Looks that will bring things closer to the walletauth implementation and easier to port over.

Also, I don't think this is related to your changes, but when I ran your branch locally I noticed the homepage was showing my eth address as my username(even though I don't have walletauth or any other node apps currently running). This does default to the same port as the walletauth app when running dev though, so maybe I'll change the default port in the walletauth app for now?

Yep, the username and filesystem are stored by domain and port. Switching the default port over there makes sense -- could get confusing if you are working on both projects at the same time.


user wanting more information about one off payment

closing , as the issue is explored in #597 (evidence copied over)


ZSTD depends on partial-io but does not have those features

When trying to add zstd to cargo with the tokio feature, every version after 0.4.9 fails with teh following error:
error: failed to select a version for `zstd`.
    ... required by package `bacon v0.1.0 (/Users/nemo/rust/bacon)`
versions that meet the requirements `= 0.4.23` are: 0.4.23+zstd.1.4.0

the package `bacon` depends on `zstd`, with features: `partial-io` but `zstd` does not have these features.

failed to select a version for `zstd` which could resolve this conflict

[dependencies]
zstd = { version = "0.4.23+zstd.1.4.0", features = [ "tokio" ] }

Hi, and thanks for the request!
I can reproduce the problem, but I'm not sure what's causing it yet. Building with cargo build --features tokio works fine from the zstd-rs repo, so something may be wrong either with the version on crates.io or with cargo when it pulls the dependency for bacon...

bacon is my own binary I am developing, here's the full cargo.toml
[package]
name = "bacon"
version = "0.1.0"
authors = ["Nimi Wariboko Jr<EMAIL_ADDRESS>edition = "2018"

[dependencies]
log = "0.4.6"
env_logger = "0.6.1"
tokio = "0.1.19"
reqwest = "0.9.15"
tokio-timer = "0.2.10"
tokio-fs = "0.1.6"
zstd = { version = "0.4.23+zstd.1.4.0", features = [ "tokio" ] }
serde = "1.0.90"
serde_json = "1.0.39"
serde_derive = "1.0.90"
failure = "0.1.5"
tokio-io = "0.1.12"
futures = "0.1.26"

I forked the library and removed the partial-io features and that seems to enable the AsyncWrite traits for encoder - but I'm not sure if this breaks anything else.

It may be caused by having a feature depend on dev dependencies.
I published a new version (0.4.24) where the dev dependencies are no longer optional. Does this help?

It builds and it may be fixed - I'm just not expert enough to know for sure (my program still fails to build for unrelated build issues).
FWIW if you use
zstd = { version = "^0.4", features = [ "tokio" ] }

cargo will use 0.4.9, which doesn't have partial-io features.

I noticed that too earlier, but now it seems to be gone and it correctly fetches 0.4.24.

Ok I have compiled a working binary that compressed a file. So this issue can be closed. Only thing I can't seem to figure out is how to properly finish() when using combinators.


Update FAQ: Effective validity of vaccination decreased to 270 days

Decreases the effective validity mentioned in glossary and faq entry from 1 year to 270 days (starting on February 1st)

Is this really true? I think in Germany vaccination certificates are still valid one year only for intra-EU traveling the effective validity was reduced to 270 days, see https://github.com/corona-warn-app/cwa-wishlist/issues/726.

@Ein-Tim

Is this really true? I think in Germany vaccination certificates are still valid one year, only for intra-EU traveling the effective validity was reduced to 270 day

There are no special German vaccination certificates. The only certificates being used are EU digital COVID vaccination certificates. If the EU regulations change the validity to 270 days (see regulations https://github.com/corona-warn-app/cwa-website/issues/2240#issue-1087441547) then automatically in Germany that is the same, also for EU certificates issued by other countries being used internally in Germany.
I'm sure a lawyer experienced in EU law and how EU regulations apply to member countries can explain it better, but I think what I write is basically correct.

@MikeMcC399
I asked because https://ec.europa.eu/commission/presscorner/detail/en/ip_21_6837 especially states:

Today, the Commission adopted rules relating to the EU Digital COVID Certificate, establishing a binding acceptance period of 9 months (precisely 270 days) of vaccination certificates for the purposes of intra-EU travel.

Are you sure that this also affects the validity in Germany?

@Ein-Tim

I personally read this as a change only affecting the validity for entering another country.
But for sure, neither you nor me have to understand this, but only the project team.

To be sure, it would need a statement from the German government.

@Ein-Tim
The EU legal text is the Commission Delegated Regulation (EU) 2021/2288 of 21 December 2021 amending the Annex to Regulation (EU) 2021/953 of the European Parliament and of the Council as regards the acceptance period of vaccination certificates issued in the EU Digital COVID Certificate format indicating the completion of the primary vaccination series (Text with EEA relevance). The website allows you to read it in English, German or any of the official EU languages.

@MikeMcC399
Thanks. I read it and it confused me even more.
In (10) it is written:

To avoid diverging and disruptive measures, it is thus necessary to establish, for the purpose of travel, a standard acceptance period of 270 days for vaccination certificates indicating the completion of the primary vaccination series. This takes into account the guidance of the European Centre for Disease Prevention and Control regarding the administration of booster doses as of six months after completion of the primary vaccination series, and provides for an additional period of three months to ensure that national vaccination campaigns can adjust and citizens can have access to the administration of boosters. To ensure a coordinated approach, Member States should not accept vaccination certificates indicating the completion of the primary vaccination series if more than 270 days have passed since the administration of the dose indicated therein. At the same time, and in order to ensure a coordinated approach, Member States should not, for the purpose of travel, provide for an acceptance period shorter than 270 days. Within this standard acceptance period, vaccination certificates indicating the completion of the primary vaccination series should continue to be accepted by a Member State even if it is already administering booster doses.

However, then later in 16 it states:

The standard acceptance period should not be included as a new data field in the vaccination certificate, but should be applied at the level of verification, by adapting the mobile applications used to verify EU Digital COVID Certificates. If a relevant vaccination certificate indicating a date of vaccination exceeding the acceptance period of 270 days is presented to the verifier, the mobile application used for verification should indicate the certificate as expired. Applying the standard acceptance period at the level of verification allows for easier follow-up of further evolution in scientific evidence than if a set expiry date is included in the certificates. For the purpose of applying the standard acceptance period at the level of verification, the data field on the date of vaccination should be modified. Doing so is preferable to adding a new data field specifically on the expiry date of a vaccination certificate. Adding a new data field would imply the need either to re-issue already issued vaccination certificates or to establish technical systems capable of interpreting, at the same time, already issued vaccination certificates without an expiry date and newly issued vaccination certificates featuring an expiry date. To ensure its uniform application, the standard acceptance period of vaccination certificates should be incorporated into the verification applications of all Member States.

Here, there is no mention of the purpose of travel anymore. So either check apps will need a "border" mode where all vaccination certificates which are older than 270 days (but booster vaccination certificates) are rejected or this in the end means that regardless of the purpose the certificate is not accepted anymore after 270 days.
What do you say?
@dsarkar Is this being cross checked with the lawyers?

@Ein-Tim

What do you say?

My opinion is not what counts here. Only an official statement has value.

@MikeMcC399 Definitely! I assume the team is already clarifying this.

@larswmh
The discussion has drifted into a legal one here, which would maybe better take place in a separate issue, instead of a PR discussion.
Are you implementing a German decision into the FAQs or are you implementing the EU regulation into the FAQs? If you are implementing the EU regulation, then I suggest to review the wording, which uses Germany as a reference a lot.
For instance in: "This vaccination took place on a date X and is valid from then on e.g. in Germany for 270 days after February 1st 2022, according to the current state of scientific knowledge." it makes it sound like it is only Germany (not the EU) and the reference to scientific knowledge should probably be replaced by a reference to the regulation, if indeed the EU regulation is what is triggering this change.

After reading the tagesschau article EU-Impfnachweis Ohne Booster nur noch 9 Monate gültig, which says:

Die EU-Impfnachweise sind ohne Auffrischungsimpfung nur noch neun Monate gültig. Nach Ablauf dieser Frist werden Menschen ohne Booster bei Grenzübertritten wie Ungeimpfte behandelt.

I'm quite certain that this only affects the validity for traveling but not the validity in Germany.

continued here: https://github.com/corona-warn-app/cwa-website/pull/2408


Edge from document to packageInformation

I want to split documents based on packages, and I think it is only possible via looking indirectly through one of exports, and if a document doesn't have exports we can't find its package. So an edge between document and packageInformation can be helpful.
By the way, packageInformation edge is a good candidate for N to 1 edges (outVs)?

Need to think whether a document can belong to more than one package. A document can belong to more than one project.

My thoughts: In languages I'm aware of, packages are mapped to folders, so at worse a file can belong to some nesting packages. If we assume that in every usecase, packages are subsets of each other (or isolated) it is enough to only link to innermost package. Furthermore if we assume that packages have exactly one folder, we can just add uri of the root (so dump would be less bloated) and let the consumers of lsif dump figure out which document is belong to which package, if they want, For example by adding a source vertex.


More likely to be more empty rows than empty columns

Closes #620
Why is this the best possible solution? Were any other approaches considered?
Smallest change possible.
What are the regression risks?
None. We are increasing a limit.
Does this change require updates to documentation? If so, please file an issue here and include the link below.
Nope.
Before submitting this PR, please make sure you have:

[ ] included test cases for core behavior and edge cases in tests
[ ] run nosetests and verified all tests pass
[ ] run black pyxform tests to format code
[x] verified that any code or assets from external sources are properly credited in comments

Seems reasonable to me. Let them be S P A C E D!

S
P
A
C
E
D
?
😅


Handling app updates with chunking and lazy loaded routes doesn't seem possible.

Do you want to request a feature or report a bug?
This could be a bug or feature.
What is the current behavior?
My app has multiple React routes, and will lazy load chunks on route change. If a user is viewing the site while a new build is made, this will remove chunks the browser holds references too, and when the user changes their route the app will request that missing chunk and receive a 404 html response. Because it's a 404 (and html) webpack fails to load this chunk resulting in a complete app crash requiring the user to refresh and/or clear their cache to get the new version. This will sometimes show a "Syntax error: Unexpected token <"  in the console when trying to load these missing chunks.
What is the expected behavior?
That the app doesn't crash. Possibly a way to detect missing chunks from the server and force a reload to get the new updated version which points to the correct chunks.
I'm aware of the offline plugin which can auto-update all the chunks if it detects an update, but this isn't a reliable solution because service workers aren't supported on every browser.

Don't delete chunks from previous versions from the server. Keep them around for a bit (maybe a few weeks)
Syntax error: Unexpected token <: Configure your server to send correct 404 responses in these cases. Don't send HTML when JS is requested.
Attach an error handler to the import() calls. `import().catch(...)

Hi @sokra. Thanks for the answer. How do you expect import().catch(...) to help in this case? We already do this. But it doesn't prevent the app from crashing when server returns an HTML page instead of requested JS file.

We already do this.

Try to call the getComponent cb in case error too. Maybe with an error page.

@sokra Sorry for the late response. The problem is importModules.catch() doesn't get fired at all because I get this error first:

I even tried to wrap everything in try catch like this:
try {
  importModules.then(() => {
    ...
  });
} catch (err) {
  ...

But catch block gets never called. So I think the above error happens somewhere before importModules is fired.
Any ideas on how to intercept it and make hard reload of the page?

It means you still get 404, something wrong with configuration, feel free to feedback


[DO NOT MERGE] testing autorest output

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Codecov Report

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

@@            Coverage Diff             @@
##           master    #4314      +/-   ##
==========================================
- Coverage   53.62%   53.26%   -0.37%
==========================================
  Files       10270     9655     -615
  Lines      216091   216685     +594
==========================================
- Hits       115880   115415     -465
- Misses     100211   101270    +1059

Impacted Files
Coverage Δ

...compute/azure/mgmt/compute/v2018_06_01/__init__.py
90% <0%> (-10%)
:arrow_down:

...compute/azure/mgmt/compute/v2018_10_01/__init__.py
90% <0%> (-10%)
:arrow_down:

...compute/v2018_10_01/models/availability_set_py3.py

...mt/compute/v2018_06_01/models/vault_certificate.py

...06_01/models/log_analytics_operation_result_py3.py

..._01/operations/virtual_machine_sizes_operations.py

...v2018_10_01/models/throttled_requests_input_py3.py

...mgmt/compute/v2018_06_01/models/inner_error_py3.py

...ual_machine_scale_set_network_configuration_py3.py

...ute/v2018_10_01/models/log_analytics_input_base.py

... and 721 more

Continue to review full report at Codecov.

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


ISSUE-213 POJOs are made to be backward compatible

This allows schema registry clients with earlier versions to send old POJOs to new versions of SchemaRegistry server and deserialization will not look for missing fields in respective POJOs SchemaRegsitry server.

Closes #213


added additional parameters for url button

Codecov Report

Merging #40 into 1.0 will decrease coverage by 0.54%.
The diff coverage is 50%.

@@             Coverage Diff              @@
##                1.0      #40      +/-   ##
============================================
- Coverage     99.72%   99.17%   -0.55%
- Complexity      163      164       +1
============================================
  Files            33       33
  Lines           361      364       +3
============================================
+ Hits            360      361       +1
- Misses            1        3       +2

Impacted Files
Coverage Δ
Complexity Δ

src/Conversation/Buttons/UrlButton.php
80% <50%> (-20%)
4 <2> (+1)

Continue to review full report at Codecov.

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


flutter-analyze bot can break because of Flutter rather than the analyzer

Because the flutter-analyze bot analyzes code written and checked in Flutter with a different version of the analyzer than is at head, sometimes Flutter code can introduce errors in this bot.  It's not obvious to me how to solve this.  One solution would be a reverse "analyzer-flutter" bot on Flutter that checks their code against the head analyzer, and prevents checking in code to Flutter that breaks with the head analyzer.   Dartdoc uses this technique, but it could just move the problem to Flutter rather than solving it.

/cc @athomas, @whesse  any insights?

First off, this is a limitation of multi-head testing: if a downstream repo using a pinned version changes in may break against an upstream HEAD revision. The original idea with the multi-head testing is to detect roll problems early. Gallery having analyzer errors is such a problem (the head analyzer will eventually roll to gallery and this will likely be a roll blocker). If Gallery developers need to care about their commits passing with the head analyzer, then their CI may be fragile because the analyzer may change at any time suddenly turning the Gallery CI red.
Some ideas:
If flutter-analyze would be based on the monorepo it would be easier to pinpoint the failure to a Dart or Flutter change.
We could have flutter-analyze do some sort of deflaking on tryjobs (where the goal is to vet a Dart SDK change against "more roll problems"): if a step fails, re-run it with an unpatched analyzer and compare the results (no difference, assume Gallery is bad). But this would require a build of the unpatched analyzer (we could download an SDK from main's download location or use the checked-in SDK). This would allow the tryjob to succeed to unblock work, but the post-submit job should stay red because there is in fact a roll problem.

Also: why is this a P1?

I think upstream breaks the bot every few months (I've only seen gallery break it, when they use deprecated APIs from flutter). I would not say P1.


delete_using_cid is not deleting alternative conformations

When a CID such as //A/1-100 is passed to molecules_container_T::delete_using_cid the result contains alternative conformations for residues that should have been deleted.

This is an mmdb bug.

Currently a void atom is added at the end of the chain when writing a mmcif (similar to a TER record). It seems that we need to edit residue::make_atom_cif to check if is_ter.


Tests for proposal pruning across epochs

Description
Resolves #3894
This is split into two and superseded by #3978 and #3981
Pending

[x] Isolate all operations over governance proposals in Proposals module
[x] Write property tests for all functionality concerning Proposals addition, expiry and enactment
[ ] Write unit tests to cover all scenarios

[x] Basic
[ ] Advanced

[x] Remove all traces and debugging code from this PR
[x] Clean every file that has been touched
[x] Fix roundtrip tests
[x] Update cardano-ledger-test
[ ] Document the Conway.Governance.Proposals module
[x] Rearrange commit sequence

Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages. New section is never added with the code changes. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[ ] Self-reviewed the diff

Closing in favor of #3981


Add stations in Chile

SolarAnwyhere used a number of high-quality stations from Chile: https://www.solaranywhere.com/resources/data-validation/

https://doi.org/10.1016/j.solener.2015.08.034

@IoannisSifnaios Latitude/longitude is provided in this report: https://hal.science/hal-02380106/file/PREFLEXMS_DEL_D4.2_validation_sites_v3_20160729.pdf


Publish @semaphore-protocol/contracts as a package in the soldeer package registry.

It would be ideal to be able to easily install the semaphore contracts as a dependency in any Foundry project. Soldeer is a recently introduced package manager for Foundry.
Soldeer outlines the process for publishing a set of contracts as a package here. For any additional help, I believe the team may provide more context into how to seamlessly achieve this.

Semaphore contracts are finally available on soldeer btw
https://soldeer.xyz/project/semaphore-protocol-contracts


Failing to install intel-classic on Windows runner with latest tag

I get the following output:
Unsupported platform: mingw64_nt-10.0-20348
+ case $compiler in
+ version=2021.10
+ install_intel mingw64_nt-10.0-20348 true
+ local platform=mingw64_nt-10.0-20348
+ local classic=true
+ case $platform in
+ echo 'Unsupported platform: mingw64_nt-10.0-20348'
+ exit 1

The latest version on main seems to work, though. Would you mind issuing a new release?

@alexdewar 1.2 was released yesterday, does it resolve your issue?

Yes it does. Thanks for getting back to me :smile: