date_spine no longer works on BigQuery

Using date_spine this way on BigQuery
   {{ dbt_utils.date_spine(         "day",         "parse_date('%F', '2000-01-01')",         "date_add(current_datetime, interval 53 week)"        )     }}
errors with the following message:
No matching signature for operator <= for argument types: DATETIME, DATE. Supported signatures: ANY <= ANY
It seems that the errors results from the comparison in this line that refers to dateadd. Looking at that file it seems that this commit to dateadd changed the type of the output of the macro to datetime in the case of BQ. Reverting to the older version solves the problem.

hey @dolfth - thanks for the report. Just wanted to acknowledge that I saw this - will take a look this week!

I am currently working with this version of date_add without any problems

thanks for the update!

Hi, just wanted to check on this. Any plans to merge @dolfth's version of date_add to make the date_spine work?

Ah, looks like I have to call the date_spine macro like this
{{ dbt_utils.date_spine(
        datepart="day",
        start_date="cast('" ~ start_date ~ "' as datetime)",
        end_date="cast('" ~ end_date ~ "' as datetime)",
       )
    }}

since the day_date column is of type datetime instead of date.

Hey folks! I know this issue is from a while ago. I was able to get date_spine working on BQ with a very slight tweak to @dolfth's original code:
{{ dbt_utils.date_spine( "day", "parse_date('%F', '2000-01-01')", "datetime_add(current_datetime, interval 53 week)" ) }}

As @clausherther notes, the BQ implementation of dbt_utils.dateadd returns a datetime rather than a date, so the end_date needs to be of type datetime. The datatype of start_date doesn't appear to matter as long as it's one of date, datetime, timestamp.
I think it would make sense to (a) try to make the macro more flexible by safe-casting to datetime in this line, or (b) specify in the README that the end_date expression must return a datetime.
Thoughts?

I like the idea of safe-casting inside the macro. That would allow folks to port older code from something like Redshift to BQ more easily. If you don't already have a PR on this @jtcohen6 I'll take a stab.


Fix dwdatasize being set as if it was wnumstrings

fixes #8
The windows-rs EventLog API doesn't require setting the message buffer size. Attempting to set the missing positional argument means we set dwdatasize instead, which should actually always be 0. The E2E tests pass now.

Cool, test against the master branch and tell me if it works proper :)


links on landing page according to specs

Issue #14

ah, we also need the links to open in a new tab. I'll fix that and commit it directly. Thanks for taking this ticket! 🎉


Implement generics for some get env functions

Implement get env functions with generics
Implement slices support for current defined types

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

env.go
100.00% <100.00%> (ø)


def train_test() and def train()

what is the difference between def train_test and def train?
Thank you

@yukitsuji can you please answee this issue? Thank you :)

Although this does not answer your question, the code of this project is very dirty and I recommend you should refer second or pointpillars repositories as a reference.
Thanks


nodrop doesn't work anymore (v2.1.5)

In a previous commit the nodrop functionality was supposedly fixed.
https://github.com/angular-ui-tree/angular-ui-tree/commit/1ff9a99661d6467aec5648bff03130cd3430075c
When I checked for the code that was fixed in that commit it was missing from the current version. Now the nodrop attribute on the uitreenodes scope is never getting set.
        scope.$watch(function() {
         return scope.$eval(attrs.maxDepth);
       }, function(newVal) {
         if((typeof newVal) == "number") {
           scope.maxDepth = newVal;
         }
       }, true);

       scope.$watch(function () {
       return attrs.nodrop;
       }, function (newVal) {
       if((typeof newVal) != "undefined") {
         scope.nodrop = true;
         }
       }, true);

Hi,
Can we have a release with this fix please?
Thank you!

+1 for 2.1.6

Please test this PR. I fixed the nodrop and added a clone attribute. https://github.com/angular-ui-tree/angular-ui-tree/pull/411

+1


No such host

Getting:
dial tcp: lookup ec2-XX-XXX-XXX-XXX.compute-X.amazonaws.com on <IP_ADDRESS>:53: no such host
after going go get then ./install then ./run

Is the XXX part meant to be there? You are probably meant to change that


Make PyObject a type alias of Py<PyAny> (& remove FromPy)

This is two related simplifications of the PyO3 public API:
1. PyObject has been replaced by type PyObject = Py<PyAny>;
Not much to say about this one. I think many of us have wanted to see us make this change for a long time.
To avoid breaking as much code as possible, all methods from PyObject have been naively moved Py<T> for now, though I plan next to clean up and deduplicate methods on Py<T>.
2. FromPy has been removed.
I have been thinking about making this change for a while. In the end, while attempting the PyObject simplification, I realised that there was a fundamental complication caused by FromPy:
impl FromPy<T> for T { ... }

This blanket implementation, central to FromPy's design, conflicts with the following blanket implementation once PyObject is replaced with  Py<PyAny>:
impl<T> IntoPy<PyObject> for Py<T> { ... }

Therefore I realised that making change (1) was basically impossible without making alterations to the FromPy trait.
Here are a few reasons why I think making this breaking change (removal of FromPy) is okay:

IntoPy is the main trait we use in all PyO3 APIs to describe the "into python" direction of conversions. FromPy, while closely related, is barely used.
Previously there were two ways to define the to-python conversion: implement FromPy<T> for PyObject, or implement IntoPy<PyObject> for T. Now there's just one (always implement IntoPy).
The name FromPy, to me, implies "conversion from Python to Rust". I don't think I'm the first person who has been confused by this name.
While it is a breaking change, migration of FromPy to IntoPy should be easy for most projects.

Because this is a breaking change to the PyO3 API, I'd like to gather feedback from as many people as possible before I continue ahead with updating documentation as well as the migration guide.
I'd like to stress that I overwhelmingly think this simplification is worth it. There are so many types and conversion traits in PyO3 that it's tough for users to understand it all, and hard for us to refactor / improve APIs. This is a minimally breaking removal of one of each, which seems like great opportunity to make the library leaner.

TODO:

[ ] Update documentation
[ ] Write migration guide
[ ] Check all methods transplanted from PyObject onto Py<T> - ensure names are consistent, deprecate duplicates & inconsistent names.
[ ] (optional) Remove AsPyRef trait with .as_ref() member on Py<T>?

Will try it out at work this week but all in favour of less types and it being simpler.

As all feedback so far has been in favour of this change, I'm going to wait one more week. If nobody has reasons why we shouldn't merge this by then, I'm going to finish up documentation and aim to merge soon after.

I think this change can improve usability a bit, but honestly, I don't know this is so meaningful.

I guess it's pretty meh for the old guard who is familiar with all the types already, but IMO will make it much easier for newcomers.

but IMO will make it much easier for newcomers.

So it can be much easier for now but anyway I want to remove Py as I commented.

Oh - it wasn't clear to me from your comment there that you wanted to remove Py completely. So your thinking is that PyAny<'a> is roughly what we currently use as &'a PyAny, and PyAnyRaw replaces all of Py<T> and PyObject?
(Maybe best to discuss that in the other thread.)

So your proposal will be

Yeah, but you don't have to consider it seriously for this PR. I'm sorry for my off-topic words.
I agree with what you're going to do in this PR, but what I'm not sure is how conversion traits should be changed.

Ok. I agree design improvements for the conversion traits can still be worked out, but I am firmly of the opinion that FromPy should not be in the final design. 😄
I actually have some notes on some thinking I did about a (future, would currently be nightly-only) design for the conversion traits which I think is nice. But because it is unstable for now I haven't rushed to write them up. I'll try to do this another time soon.

Cool! I will rebase this PR and write docs in the near future!

I've now updated the documentation and migration guide on this branch.
I also did the tidy up of Py methods. Mostly I just rearranged them so the docs are in a better order. The only method I marked deprecated in the end is PyObject::from_owned_ptr_or_panic, which is now the same as Py::from_owned_ptr.
If someone is willing to review the documentation for typos and suggestions, then I'd like to get this merged!

(rebased to resolve merge conflict)

(Rebased again to resolve merge conflicts. I'm thinking I'll merge this tonight if nobody raises any objections by then. We can always improve / rewrite the documentation further in future PRs.)


Add and implement Exponentiation Trait

We should provide Sway users convenient methods for calculating exponents of values.
This would take the form of a wrapper around the exp instruction, most likely in core::ops.
Also a slack comment here re a dedicated token for this op: https://fuellabs.slack.com/archives/C01KBNGSWGJ/p1650642887038259

Isn't there an exponent instruction?

As a general direction, I think this should be implemented as a pub trait in core::ops, and impl it for u64.
Then, any other types which want to implement the trait can do so in their respective libs.

My first intuition is that the trait should have a pow(base, exponent) method as that's common for other languages and  exp() is usually related to base e exponentials.

Yeah, searching exp and pow in the Rust docs is a good example of how tricky things can get. That said, we don't have to think about floats (:pray:) which simplifies things a lot for Sway.

I've got something drafted for this now, but blocked by MemoryOverflow.
Also, I  need to think about how to handle overflows.
Possibly blocked by https://github.com/FuelLabs/fuel-vm/issues/104 ?
The spec say:

If the result cannot fit in 8 bytes, $of is set to 1, otherwise $of is cleared.

I'm not sure if this applies to u8, u16 and u32 as well, but it seems to as at the VM level we're dealing with registers regardless of the unit size in Sway.
So if I did 4u8.pow(4u8), the result is > max_u8, but it still fits in 8 bytes...
so does it return max_u8 & set $of to 1, or does it return a larger size unit?
cc @adlerjohn

The result of any binary operation should retain the type. So, if the result of u8*u8 for example doesn't fit in a u8, then this should be an overflow, at least at the language level.
Now, in bytecode, we only have 64-bit registers, and I'm assuming that the VM only overflows if the result of an operation doesn't fit in 64 bits.

I have this pow method that is mostly working:
impl Exponentiate for u64 {
    fn pow(self, exponent: Self) -> Self {
        asm(r1: self, r2: exponent, r3) {
            exp r3 r1 r2;
            r3: Self
        }
    }
}

What I don't know is what the expected behaviour is in this case: 100.pow(10).
My original thought was that 100.pow(10) == max_u64, and $of is set to 1, but I'm not certain of this.
log_u64(100.pow(10)); logs<PHONE_NUMBER>452241920, not what I was expecting.
cc @adlerjohn

Ah I see. Maybe the implementation truncates off higher bytes rather than saturating to u64::MAX.
The VM uses u64::overflowing_pow under the hood, which looks like it doesn't saturate. https://github.com/FuelLabs/fuel-vm/blob/72ee94908ef2400b41966e927124b05c924a7c4b/src/interpreter/executors/instruction.rs#L107
The value returned isn't really relevant (though should be clarified in the specs) so long as $of is set.

So, I would have to check the value of $of inside the pow() implementation in order to know whether the returned value can be used or should be discarded, otherwise, there's no way to know whether the value is the correct result or garbage.
This is assuming that there's no panic on overflow, which I think is actually supposed to be the default for some operations, but not others.

The entire VM panics on overflow by default. If you turn that off, then yes you'll have to check the $of register, but that's true regardless of what the value is. E.g. if you raise u64::MAX to the power of 1, then the value would be 0xFF...FF, but $of would be zero.

The entire VM panics on overflow by default

Great, this is easy to reason about!
However, this is not what I'm experiencing. See above:
log_u64(100.pow(10)); logs<PHONE_NUMBER>452241920, not what I was expecting. This should panic as 100.pow(10) should overflow a u64, no?

https://github.com/FuelLabs/fuel-vm/blob/db315a8565ed0fd5820b6527843ba6b25f0ec026/src/interpreter/alu.rs#L19-L20

Ah, I see. We literally just "wrapped" back around to that unfinished TODO in the VM again 😆 .


Always resolve ignored paths

Having issue with the inconsistent handling of the paths in .jshintignore between using the jshint cli and tools such as mocha-jshint where the paths aren't always resolved.
For example, a folder with a trailing slash in the .jshintignore, such as node_modules/, will successfully be ignored when using the jshint cli but will not with mocha-jshint.
This has been previously found but the pull request (in which this issue was only a small part) was eventually abandoned. I've gone ahead and pulled the fix out into this quick patch in the hopes it goes through easier.

Thanks for the patch! Would you mind adding a test? It's been a while since you
submitted this; if you're otherwise occupied, I can step in and add the test on
your behalf. Let me know!

Sure, I'll give it a shot within the next few days.

Coverage remained the same at 97.754% when pulling 06642a4273860ef837ef1834870b6b0b6e34f31e on shanesmith:master into 12afbcdeb38edcbe379b1e9eb9b388e3741ecc75 on jshint:master.

Coverage remained the same at 97.754% when pulling d39ffba19b8cc12738c99eec6605244100fe35b3 on shanesmith:master into 12afbcdeb38edcbe379b1e9eb9b388e3741ecc75 on jshint:master.

Unit tests added and commit message updated.... sorry about taking more than "a few days". ^^;;

No worries about the delay; I know how things get! The testing approach needs a
little work, though.
Instead of defining actual fixture files, lets take a cue from the existing
tests and define the new input via a CLI "stub." Beyond being more consistent,
this will save us from having to increase the complexity of the browser testing
infrastructure (where this test isn't relevant, anyway).
Because that kind of indirection could potentially lead to false positives,
lets also define a corresponding test--one where the "stub" files are not
ignored and the errors are reported as expected.
Finally, we should define the new test in addition to the existing test
(instead of replacing it).

Alright, I'll take another stab at it.. just give me a few more days ;)


Move source files from /maniphono to /src

According to best practices. Organizing the packages in setup.py might prove a bit tricky.

Done a while ago.


TGraphAsymmErrors unusable.

Hi,
currently with uproot I cannot do anything with with TGraphAsymmErrors object. Probably TGraph are also not handled by uproot yet (?). Would it be possible the add the treatment of this class ?
Matt

For writing TGraph* objects to ROOT files, that's currently at the bottom of our to-do list. We should handle all the histogram and profile types before graphs because histogram writing methods are generalizable and it will put us into a good pattern for expansion later.
But if you mean reading, you should be able to read any TGraph* now, though not make use of it (as you said). uproot should give you a Python class object containing a bunch of member data that starts with _f*. uproot-methods doesn't yet do any interpretation. I'd need input about what you'd want it to do, though.
THnSparse is an example of a stub for filling out methods of a class, and TH1 is an example of a filled one. Once you've decided how you want a TGraph* to appear in Python— what methods you want it to have, how to put _f* members to use in Python— it's pretty easy to fill in the class definition.
uproot will automatically pick up the new methods if the module name is equal to the C++ class name and the class is named Methods (just like THnSparse). This applies to subclasses as well— notice that we only defined behaviors for TH1 and all of its subclasses automatically get the same methods. You could put general methods in a TGraph module and specialized methods in a TGraphAsymmErrors module.
Are you interested in defining this class's behavior?

Sorry I didn't precise, but I meant reading.
Indeed I found the starting _f* and I got the data I wanted thanks.
Yeah I am interested in defining this class's behavior. It doesn't seem difficult, however for the particular case of TGraph,  and then TGraphErrors/TGraphAsymmErrors the general methods would be in TGraph.py and the specialized in TGraphErrors.py/TGraphAsymmErrors.py like TH1 and TH2 right ?
However I don't see how it is done, i.e, when I read a TH2 with uproot I do see methods from TH1 but I cannot where in the repo you say in that TH2 is a subclass of TH1. But maybe you don't say it and this information is given by the streams in the ROOT File and I wouldn't have to worry defining such inheritance relation with TGraph and TGraphErrors/`TGraphAsymmErrors.

Fixed by PR #7.


Istanbul University is safe pull request

Hello, I have not been able to do my studies on Jetbrains products with a student license for about 2 years. Please trust our school for this.

@sahinekber18 I am sorry, the domain ogr.iu.edu.tr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Markdown Syntax and Custom CSS Support

It seems that some common Markdown syntax, such as tables, hyperlinks, task lists, etc., does not work well in this App. Also, it should be possible to allow custom CSS or themes so that users can develop personalized styles.

Thanks for you feedback. This application, like many others, follows a specific markdown syntax, primarily based on its tiptap components. As for custom themes, they might deviate from the app's core goal of maintaining a minimal and clutter-free interface, so they're not a goal as of now.

I'm sorry for adding another comment to the closed issue.  I'm not sure how to use the specific Markdown syntax in this App. I inserted a hyperlink and a table using the standard Markdown syntax, as seen in the following figure, but they are still shown as plain text and not in the desired target style. Is there something wrong with my input?

Your input is totally fine, but Beaver Noted doesn’t support tables or the markdown syntax for links as they are not implemented in tiptap. I hope this doesn’t cause much trouble on your end.

Thanks for your reply. Hopefully these markdown syntaxes will soon be supported by Beaver Notes, which I am sure will give users a better writing experience. I'll keep an eye on the App.


Logistics of using Binder

remember to click on the button maybe 10 minutes before the start time to make sure ssl-hep has a valid cache
try it and include some very quick guidelines slides before/after installing local Julia guide?

...what account do you need to use the Binder service? It doesn't like me using my UoG IdP apparently (I get "you are not authorized" after I log in)

CERN account should work, also try ORCid

Well, first I have to work out how to clear my current login session (since it seems to be sticky, and I can't see a "logout and try a different IdP" button).

Try in a private browser session for now just to figure out what auth works I suppose

So, I've tapped out of options: my University account gets me through to the JupyterHub but hits a "not authorized" page, CERN SSO just doesn't seem to work (it refuses to auth me, despite my double-checking that username/password works on the CERN website), and ORCid gets to the Link Cilogon "confirm your email address" step, and then fails with "unexpected error contacting your identify provider".
Are we sure this thing works for people outside the USA?

If you can get to Jupiter page you shouldn't be not authorized. Maybe give that a minute or use a less private browser. (I may have had similar issues with Firefox but now I'm fine on Firefox)

I get the same thing in Firefox and Chromium [including if I turn off literally every privacy plugin I have in Chromium], so...
Do you know, is this thing using a login list, or should it just work for any account that can authenticate via an IdP?

My understanding was they didn't have an allow list which was a concern for abuse at some point. Maybe now they have?
But CERN SSO should definitely work though if they have an allow list now. I will ask


Show building info when level 1 for building is being built

When a level 1 is being built on an empty spot, the side bar still shows New building menu. It should show Building info of the building being constructed.
Steps to reproduce:

Pick an empty spot and build a building
The menu doesnt change to building info menu

Fixed


Implicitly conversion from a non-nullable value type to the nullable form of that value type is broken?

See https://github.com/StefH/System.Linq.Dynamic.Core/wiki/Dynamic-Expressions#conversions
Or I misused this in an not proper way?
Hit this issue with debug an query issue with efcore when eval at local, and it's able to write an reproduct case without efcore. Tested with <IP_ADDRESS>
        public class ConsumptionWithDateLite
        {
            public DayOfWeek? DayOfWeek { get; set; }
        }

                var a1 = Enumerable.Repeat(0, 100)
                    .Select((d, i) => new DateTime(2000, 1, 1).AddDays(i))
                    .AsQueryable()
                    //.Select("new (DayOfWeek)")
                    .Select<ConsumptionWithDateLite>("new (DayOfWeek)");

                var z1 = a1.ToList();
                System.Diagnostics.Debug.Assert(!z1.Any(zx => zx.DayOfWeek == null));

Update: This get null on netcoreapp, and an System.Security.VerificationException:“操作可能会破坏运行时稳定性。”(Operation may break runtime stability) on netfx

Can you please post a full project example for dotnet core / normal .net ?

@StefH
https://github.com/yyjdelete/DynamicLinqTestCast
dotnet run -f net45 or dotnet run -f netcoreapp2.1, or you can retarget to other installed TargetFrameworks.

Thanks.
I'm able to reproduce and I've fixed it. Now I need to add some unit-tests.
You can already take a look here:
https://github.com/StefH/DynamicLinqTestCast/tree/test_issue_188
+
https://github.com/StefH/System.Linq.Dynamic.Core/tree/issue_188

👍

I'll create a new NuGet in some time.


[Vulcania] changed Rank to the right thing in ita and en

Changes / Comments
Changed Rank to "Ferite Massime" in ita and "Total Health" in english. Now the should be change
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Fixing bad formatting reported by David via email

Fixed and tested
Signed-off-by: Mary Anthony<EMAIL_ADDRESS>

ping @diogomonica @NathanMcCauley

oh nice ones :+1:
LGTM thanks!


Proposal: Source maps v4

Feature request

What is the expected behavior?
Analyzing JS stack traces is complex. Source maps provide a reasonable debugging experience at runtime, but when analyzing an exception, it's difficult to reconstruct an unminified stack trace, even with V3 source maps available. The best case of this often is that the token at the point of the error can be discovered, so a language parser will need to walk backward from that token to try to find a function declaration to get the name.
Consider a tiny example such as this:
function causeError() {
  throw new Error('Expected failure.');
}
causeError();

Upon minification, this might become:
(()=>{throw new Error('Expected failure.')})();

A plain rendering of this in an error stack might look like:
Error: Expected failure.
    at example.js:1:13
    at example.js:1:45

With source maps, we can get a pretty reasonable output:
Error: Expected failure.
    at example-src.js:2:3
    at example-src.js:4:1

However, the token at 2:3 is throw. That isn't terribly useful. If I reconstructed that stack by hand, I would expect:
Error: Expected failure.
    at causeError (example-src.js:2:3)
    at Global code (example-src.js:4:1)

To that end, the Edge DevTools team are proposing a v4 of Source Maps that will support this by encoding a notion of "scopes" -- source text ranges that correspond to a given runtime name. This is at MicrosoftEdge/MSEdgeExplainers#538.
What is motivation or use case for adding/changing the behavior?
We've seen other tools that do this -- https://github.com/bloomberg/pasta-sourcemaps as an example -- but if we can standardize this, we can incorporate that functionality into our everyday developer tools.
How should this be implemented in your opinion?
The spec proposes that the scopes field would be comprised of a list 6 VLQs for each scope name mapping:

Source index
Start line
Start column
End line
End column
Scope name index

Given an input source map from a tool like TypeScript already producing these values, the only thing a tool like Webpack would need to do is combine all of them, in this case, combining and de-duping the scopeNames field, and providing a small amount of modification (updating the source index and scope name index) when combining all of the various scopes values from each of the input source maps.
Are you willing to work on this yourself?
Yes. And, I've been working on producing this in TypeScript as well -- microsoft/typescript#47152

Interesting proposal, but I have a few questions:
I guess the idea is to make it similar to the mappings field, which why I wondered about the following differences:

the "key" in mappings field is the generated line+column. Why isn't that the case for the scopes field? I think it should also "keyed" by generated line+column. It should use the same format as mappings (; moves to next line, only column is a value)
the mappings fields only specifies starting points and not ranges. Why isn't that the case for the scopes field? I think it should only define the starting point of a range and that would continue until the next point.

These changes would make the scopes smaller and more similar to mappings, which would also make it easier to reuse implementations.
Each scopes field would be 2 VLQs:

generated column
(optional) scope name index
let's say there could be additional values that should be ignored by implementations to support future extensions.

; moves to the next line, multiple entries on a single line are separated by , (exactly like mappings)

Hey all, glad to see interest and energy on this proposal.  Here's some background from the previous work we did on this that may address @sokra's questions.
Background
In pasta at least, the reason for expressing the named scope as a range (two coordinates) rather than a single point (one coordinate) is consequence of two key design decisions:

Scope name decoding is based on source location

As usual, you first take the generated location and decode a source location.  The new step is to then map that source location to a source scope name
The alternative (as @sokra says) would be to key scope name decoding off the generated location, which may well be more direct. This would work, but it offers less information and involves some repetition of the source name index each time you return to a previous scope. Almost all use-cases require computing source location anyway, so it is easily at hand to perform the subsequent name lookup.

Scope declarations are per-function - meaning nested instead of linear

// *nested*                            // *linear*
| "<top-level>"                        | "<top-level>"
|                                      |
|  |  "causeError"         vs            |  "causeError"
|  |                                     |
|                                      | "<top-level>"

The nested approach means it only needs one VLQ entry per-function.  Whereas a function that has many inner functions needs to repeatedly reference the same name as you go into and out of the children.
The nested approach has a semantic benefit - it truly expresses the logical structure of the source code, i.e. there is a 1:1 correspondence of VLQ entries and functions.  So you can easily disambiguate edge cases such as two contiguous functions with the same name, or a function within a function of the same name.  Additionally, taking @sokra's suggestion that we might want future extensions, it seems more likely for that to become useful if we keep the data associated with a semantic per-function datastructure, e.g. you could imagine adding more per-function metadata such as isExported, isAsync, isDeprecated, listOfDecorators.
Discussion
The above is core spec discussion rather than anything specific to webpack, so maybe we should talk about this in the proposal repo?  This also highlights the need for us to build recorded rationale for each key design decision so we can get more buy-in and avoid explaining these same things across repos. I think @ldarbi can help with that.
Maybe it would also be good to chat about this in the TC39 Tooling Group run by @romulocintra.  That brings together the kind of folk who would be interested in this. I think the next meeting will be mid-January (the github is a little out of date).

This is a really good topic for the Tools discussion, please be my guests at the next meeting happening in January - in case you want/need an invite ping me at<EMAIL_ADDRESS>...

Implementing this as the pointer to source line+col rather than generated line+col reduces the implementation complexity and number of tools that need to be updated to take advantage of the change:

If you imagine a tool chain of TypeScript + WebPack + Terser, then TypeScript needs to emit the full list. WebPack only needs to modify the sourceIndex and nameIndex fields, and Terser doesn't need to modify it at all.
Assuming that you're generating full source maps, it's a (relatively fast) two-step process to resolve generated->scope. First you resolve the mapping for generated->source, and then resolve the scope using the previously-resolved source.

I can't really follow that argument.

Most source map operations involve re-numbering the sources indicies, which would require touching scopes too.
It's not possible to declare scopes in generated-only code (which doesn't have a original source code attached)
Multiple pieces of generated code can map to the same original code and it's no longer possible to have different scopes for that.

the mappings fields only specifies starting points and not ranges. Why isn't that the case for the scopes field? I think it should only define the starting point of a range and that would continue until the next point.

As @robpalme notes above, the ranges reflect the lexical scopes of the language. I believe I mistakenly indicated that there would be a linear output of scopes in the spec proposal; when I actually implemented it, it followed the "nested" form noted above.

With a "nested" form I would still encode points and use them as start (scope name index set) and end (scope name index) locations which push/pop from a scope stack.
e. g.
| "scopeA"
|
|  |  "scopeB"
|  |
|  |  | "scopeC"
|
|

encodes as [0 "scopeA"];;[0 "scopeB"];;[0 "scopeC"];[0],[0];;[0]

In general I would look more into what would be the best format rather then looking into which tools need to be changed...

Here is a simple example to demonstrate the two approaches discussed so far.
In this example we have one source file that gets minified.
Source file
1    // source file
2    function foo()
3    {
4        function bar()
5        {
6            throw new Error("oops");
7        }
8        bar();
9    }
10   foo()

Generated file
1    function o(){function o(){throw new Error("oops")}o()}o();

The two options for encoding the scopes field would look like this.
1. "Key by generated" (list starting positions in the generated file each time a scope change occurs)
Similar to the existing mappings field, we'll use generated file locations as keys. We'll have an entry for every time a scope change occurs.

When a new scope starts, we'll specify column number and scope name index.
When a scope ends, we'll only specify column number (scope name will be implicit due to us popping a stack).
We'll use ; to go to a new line
We'll use , to seperate entries

In our example let's assume scopeNames = ["foo", "bar"]

The first scope starts at column 14 and corresponds to "foo" (scope name index = 0) so the entry will be {14,0}
The second scope starts at column 27 (13 relative to the first scope) and corresponds to "bar" (scope name index = 1) so the entry will be {13,1}
The second scope ends at column 51 (24 relative to the first scope) so the entry will be {24}
The first scope ends at column 55 (4 relative to the end of previous scope) so the entry will be {4}

To summarize, the logical representation of scopes will looks like this:
{14,0},{13,1},{24},{4}

Essentially each function gets two entries, with three numbers altogether - two numbers in the start point entry (starting column and scope name index) and one number in the end point entry (ending column).
2. "Key by source function" (indexed by source file, then function)
In this option the entries are based on the source file, and each function gets one entry representing its coordinates.
In our example there will be two entries to represent the two functions. Again, assuming scopeNames = ["foo", "bar"]

foo is represented by startLine = 3, startColumn = 1, endLine = 9, endColumn = 1. Adding the scope name index to the start of the entry, we have {0,3,1,9,1}
bar is represented by  startLine = 5, startColumn = 4, endLine = 5, endColumn = 4. Adding the scope name index to the start of the entry, we have {1,5,4,5,4}

Note that we would use appropriate relative indexing for columns and lines to reduce the numbers, but for simplicity of the explainer we'll leave them as absolute.

bump


Imported target "ifm3d::image" includes non-existent path "/usr/include/opencv"

Hello there,
I am new to ifm cameras. When I try to build the examples at https://github.com/ifm/ifm3d-examples, the terminal output "CMake Generate step failed.  Build files cannot be regenerated correctly." at the cmake .. step. All detailed errors are the same one(except for in different CMakeLists.txt files): fast_app_switch/CMakeLists.txt: Imported target "ifm3d::image" includes non-existent path "/usr/include/opencv".
I have checked in the folder /usr/include/, there is no opencv folder there. But there is a ifm3d folder in this repository, which is created when I install the ifm3d package. There is a opencv folder in ifm3d folder, i.e. /usr/include/ifm3d/opencv/ exists.
I just want to know, how should I solve this problem? Thanks

@sliangqk please specify OS, its version and how you installed ifm3d.  have you installed opencv on your system ?

@sliangqk please specify OS, its version and how you installed ifm3d.  have you installed opencv on your system ?

@inbangsa thanks for responding.
My Ubuntu version is 16.04. Yes, I have installed opencv4.5.1 on the computer before trying to install the ifm3d-examples package. But those folders of opencv4 in the repository /usr/local/ are like this /usr/local/share/opencv4/,  /usr/local/include/opencv4/, /usr/local/lib/cmake/opencv4/, /usr/local/share/licenses/opencv4/. Those repositiories mentioned are the result when I search with the keyword "opencv" under the /usr/ folder. The only folder with the name opencv in the /user/ repository is the one provided by imf, i.e. /usr/include/ifm3d/opencv/., but not the required "/usr/include/opencv".
According to my current knowledge to CMake, I should modify the repository which consumes the ifm3d::camera library in those CMakeLists.txt files（ifm3d::camera is one argument of the command target_link_libraries() ). The only problem is, I do not know exactly how to modify it, since I am also a new learner of CMake.
Thanks again for your help!

@inbangsa thanks for responding.
My Ubuntu version is 16.04. Yes, I have installed opencv4.5.1 on the computer before trying to install the ifm3d-examples package. But those folders of opencv4 in the repository /usr/local/ are like this /usr/local/share/opencv4/,  /usr/local/include/opencv4/, /usr/local/lib/cmake/opencv4/, /usr/local/share/licenses/opencv4/. Those repositiories mentioned are the result when I search with the keyword "opencv" under the /usr/ folder. The only folder with the name opencv in the /user/ repository is the one provided by imf, i.e. /usr/include/ifm3d/opencv/., but not the required "/usr/include/opencv".
According to my current knowledge to CMake, I should modify the repository which consumes the ifm3d::camera library in those CMakeLists.txt files（ifm3d::camera is one argument of the command target_link_libraries() ). The only problem is, I do not know exactly how to modify it, since I am also a new learner of CMake.
Thanks again for your help!

sorry, an error in the last message. It is ifm3d::image but not ifm3d::camera. The error is reported for ifm3d::image, like this:
_CMake Error in timestamp/CMakeLists.txt:
Imported target "ifm3d::image" includes non-existent path
"/usr/include/opencv"

in its INTERFACE_INCLUDE_DIRECTORIES._
The way of installing ifm3d is just following the tutorial on the page with following commands:
$ sudo apt-get update
$ sudo apt-get install ifm3d-camera
ifm3d-framegrabber
ifm3d-swupdater
ifm3d-image
ifm3d-opencv
ifm3d-pcicclient
ifm3d-tools
ifm3d-python3
ifm3d-pcl-viewer \
The way of installing ifm3d-example is following the [page] (https://github.com/ifm/ifm3d-examples) with commands:
$ mkdir build
$ cd build
$ cmake ..
$ make
And the error occurs at the $cmake .. step.

sorry, an error in the last message. It is ifm3d::image but not ifm3d::camera. The error is reported for ifm3d::image, like this:
_CMake Error in timestamp/CMakeLists.txt:
Imported target "ifm3d::image" includes non-existent path
"/usr/include/opencv"

in its INTERFACE_INCLUDE_DIRECTORIES._
The way of installing ifm3d is just following the tutorial on the page with following commands:
$ sudo apt-get update
$ sudo apt-get install ifm3d-camera
ifm3d-framegrabber
ifm3d-swupdater
ifm3d-image
ifm3d-opencv
ifm3d-pcicclient
ifm3d-tools
ifm3d-python3
ifm3d-pcl-viewer \
The way of installing ifm3d-example is following the [page] (https://github.com/ifm/ifm3d-examples) with commands:
$ mkdir build
$ cd build
$ cmake ..
$ make
And the error occurs at the $cmake .. step.

@sliangqk your first message makes me want to ensure the cmake is called properly: did you use $cmake ..  in your_path/ifm3d-examples/build, and not in the separate modules?

@sliangqk your first message makes me want to ensure the cmake is called properly: did you use $cmake ..  in your_path/ifm3d-examples/build, and not in the separate modules?

@sliangqk  ifm3d image module depends on headers of opencv and PCL.  which it assumes to be present at /usr/include , for your system opencv is installed on /usr/local//include/opencv and hence you are facing this issue. This is a known issue to us and we are in process of releasing the fix  in upcoming releases.
At the moment following can solve your issue:

install opencv headers to /usr/include
OR
compile ifm3d from  source on system by proving opencv path to cmake. This can be done by giving
-DCMAKE_PREFIX_PATH=/usr/local;/usr  to cmake while building ( provide both as some of the libraries can be installed at /usr)
instruction for compilation

After this compilation and Installation  cmake export for image module will have correct paths.

@sliangqk  ifm3d image module depends on headers of opencv and PCL.  which it assumes to be present at /usr/include , for your system opencv is installed on /usr/local//include/opencv and hence you are facing this issue. This is a known issue to us and we are in process of releasing the fix  in upcoming releases.
At the moment following can solve your issue:

install opencv headers to /usr/include
OR
compile ifm3d from  source on system by proving opencv path to cmake. This can be done by giving
-DCMAKE_PREFIX_PATH=/usr/local;/usr  to cmake while building ( provide both as some of the libraries can be installed at /usr)
instruction for compilation

After this compilation and Installation  cmake export for image module will have correct paths.

@lola-masson Thanks for your responding!
Yes, I have called cmake .. in my_path/ifm3d - example/build, but not in separate modules. Should I compile those modules one by one?

@lola-masson Thanks for your responding!
Yes, I have called cmake .. in my_path/ifm3d - example/build, but not in separate modules. Should I compile those modules one by one?

@inbangsa  Thanks!
I do not want to re-install opencv, since it has taken me a while to install the opencv-contrib.
So I have followed your second advice. However, it does not work.
I have run the command cmake -DCMAKE_PREFIX_PATH=/usr/local;/usr ... The output is:  CMake Error: The source directory "/home/sliangqk/Software/ifm_camera/ifm3d-master/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
bash: /usr: Is a directory
Then I tried the command with only one path: cmake -DCMAKE_PREFIX_PATH=/usr/local ... The output is as following:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIB_glog
linked by target "ifm3d_camera" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/camera/src/libifm3d_camera
linked by target "ifm3d_framegrabber" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/framegrabber/src/libifm3d_framegrabber
linked by target "ifm3d-fg-tests" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/framegrabber/test
linked by target "ifm3d_swupdater" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/swupdater/src/libifm3d_swupdater
linked by target "ifm3d-swupdater-tests" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/swupdater/test
linked by target "ifm3d_image" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/image/src/libifm3d_image
linked by target "ifm3d-image-tests" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/image/test
linked by target "ifm3d_tools_shared" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/tools/src/libifm3d_tools
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
Have I misunderstood your instruction or not? Thanks again~

@inbangsa  Thanks!
I do not want to re-install opencv, since it has taken me a while to install the opencv-contrib.
So I have followed your second advice. However, it does not work.
I have run the command cmake -DCMAKE_PREFIX_PATH=/usr/local;/usr ... The output is:  CMake Error: The source directory "/home/sliangqk/Software/ifm_camera/ifm3d-master/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
bash: /usr: Is a directory
Then I tried the command with only one path: cmake -DCMAKE_PREFIX_PATH=/usr/local ... The output is as following:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIB_glog
linked by target "ifm3d_camera" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/camera/src/libifm3d_camera
linked by target "ifm3d_framegrabber" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/framegrabber/src/libifm3d_framegrabber
linked by target "ifm3d-fg-tests" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/framegrabber/test
linked by target "ifm3d_swupdater" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/swupdater/src/libifm3d_swupdater
linked by target "ifm3d-swupdater-tests" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/swupdater/test
linked by target "ifm3d_image" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/image/src/libifm3d_image
linked by target "ifm3d-image-tests" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/image/test
linked by target "ifm3d_tools_shared" in directory /home/sliangqk/Software/ifm_camera/ifm3d-master/modules/tools/src/libifm3d_tools
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
Have I misunderstood your instruction or not? Thanks again~

@sliangqk  Lets solve your issue by changing the OpenCV path in the cmake config file. As I said earlier ifm3d-image-targets.cmake assumes that opencv library installed at /usr. But we can change this file itself to solve this issue.

open file ifm3d-image-targets.cmake from location /usr/lib/cmake/ifm3d-0.18.0/

replace /usr/include/opencv at line 67 to /usr/local/include/opencv .

Above steps will need root permissions !!
Please let us know if this solves your issue.

on ifm3d compilation, I forgot to mention multiple paths to CMAKE should be provided as string so please enclosed them with ""
so from your build folder try following
$ cmake -DCMAKE_PREFIX_PATH="/usr/local/;/usr"  -DCMAKE_INSTALL_PREFIX=/usr ..
if you are able to  compile and installation successfully you will find above changes in the ifm3d-image-targets.cmake
last point :
from log it seems libglog is missing, please install libgoogle-glog-dev with apt-get.

@sliangqk  Lets solve your issue by changing the OpenCV path in the cmake config file. As I said earlier ifm3d-image-targets.cmake assumes that opencv library installed at /usr. But we can change this file itself to solve this issue.

open file ifm3d-image-targets.cmake from location /usr/lib/cmake/ifm3d-0.18.0/

replace /usr/include/opencv at line 67 to /usr/local/include/opencv .

Above steps will need root permissions !!
Please let us know if this solves your issue.

on ifm3d compilation, I forgot to mention multiple paths to CMAKE should be provided as string so please enclosed them with ""
so from your build folder try following
$ cmake -DCMAKE_PREFIX_PATH="/usr/local/;/usr"  -DCMAKE_INSTALL_PREFIX=/usr ..
if you are able to  compile and installation successfully you will find above changes in the ifm3d-image-targets.cmake
last point :
from log it seems libglog is missing, please install libgoogle-glog-dev with apt-get.


When I manually set it in my config.fish, it switched back to No fucks given


ps script gets stuck when tring to update vmss

[ i am using this doc to create vmss and deploy sample application, however when updating vmss , ps sript gets stuck or gives error- long running script.
am copy pasting exact commands, also am beginner and trying to learn.
kindly help

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 82c3c9d7-8a0c-b803-c62c-b860012fa0f4
Version Independent ID: 6e34ed54-66c3-581c-2154-c4959e555c06
Content: Quickstart - Create a virtual machine scale set with Azure PowerShell
Content Source: articles/virtual-machine-scale-sets/quick-create-powershell.md
Service: virtual-machine-scale-sets
GitHub Login: @cynthn
Microsoft Alias: cynthn

Hi @jordanrgsd Thank you for your feedback! We will review and provide an update as appropriate.

New-AzVmss -ResourceGroupName "myResourceGroup"
-VMScaleSetName "myScaleSet" -Location "EastUS"
-VirtualNetworkName "myVnet" -SubnetName "mySubnet"
-PublicIpAddressName "myPublicIPAddress" -LoadBalancerName "myLoadBalancer"
-UpgradePolicyMode "Automatic
$customConfig = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automationconfigurations/
master/automate-iis.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis.ps1"
}
Get information about the scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup"
-VMScaleSetName "myScaleSet"
Add the Custom Script Extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension -VirtualMachineScaleSet $vmss
-Name "customScript" -Publisher "Microsoft.Compute"
-Type "CustomScriptExtension" -TypeHandlerVersion 1.9
-Setting $customConfig
Update the scale set and apply the Custom Script Extension to the VM instances
Update-AzVmss -ResourceGroupName "myResourceGroup"
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Script gets stuck at updating. wondering if it has something to do with github,
can anyone please help me understand. plz

@jordanrgsd You are right.
- is missing in the github url in the word compute-automationconfigurations.
That has to compute-automation-configurations.
Try with this updated url
https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis.ps1
Document has correct url.

even after editing the url , getting the error.

Error is 404 Not found. So the URL which we gave is not available.
Can you paste that GitHub link in the browser and check if it works or not.

Also post your custom script extension command

@jordanrgsd Did you got a chance to check the last comment

@jakaruna-MSFT - sorry for delayed response.
It did worked this time. i think i was making that typo.
Thank you sir for all your help but has one query - if i want to use my own github account, i should keep script in my repository and put that URL right ??

but when i am trying to deploy vmss through template , am getting below error

however when update line 10  with  -templateuri instead ofTemplatefile it gets through , does take a lot of time . but throwing error location cant be null when trying to update vmss.

@jakaruna-MSFT - sorry for delayed response.
It did worked this time. i think i was making that typo.
Thank you sir for all your help but has one query - if i want to use my own github account, i should keep script in my repository and put that URL right ??

It will work if your repo is public.
If your repo is private, Then you need to provide the credentials along with the URL.

however when update line 10 with -templateuri instead ofTemplatefile it gets through , does take a lot of time . but throwing error location cant be null when trying to update vmss.

You need to load the $vmssConfig variable after the VMSS is created with the VMSS details like shown below.
# Get information about the scale set
$vmssConfig= Get-AzVmss `
            -ResourceGroupName "myResourceGroup3" `
            -VMScaleSetName "attempt3"

Above script should go to the  line 10.
Once you have the config loaded in the variable $vmssConfig,
Then you can supply that to Update-AzVmss

@jordanrgsd Did you got a chance to look at the above comment

@jakaruna-MSFT - Thank you sir for all your patience and assistance.  I got it now


[i18n] Propose way to associate translations to specific commit of default lang page

Originally posted by @chalin in https://github.com/open-telemetry/opentelemetry.io/pull/4536#discussion_r1622197587

Thank you for providing more context, and the reference to the K8s example.
FYI, I've started two threads of discussion in the hopes of figuring out what "best practices" there might already be in use at the CNCF or elsewhere:

https://github.com/open-telemetry/opentelemetry.io/discussions/4302#discussioncomment-9616612
https://cloud-native.slack.com/archives/CUJ6W5TLM/p1717149935431579

Let me respond more to your suggestion to embed en page segments as HTML comments in zh pages in the thread of https://github.com/open-telemetry/opentelemetry.io/discussions/4302#discussioncomment-9616612.

Via https://github.com/open-telemetry/opentelemetry.io/pull/4536#discussion_r1621969636:

I second @windsonsea comment, this should be removed in the spirit of keeping things DRY. Otherwise, how do you know that the comment is up-to-date? You'll need to open the original file to double check anyways.
Please remove all embedded HTML comments.
What would be more useful would be to include, in the front matter, a permalink to the specific version (including the commit hash) of the en page that was used to create this translation, but we can discuss this separately. /cc @open-telemetry/docs-approvers

Via https://github.com/open-telemetry/opentelemetry.io/discussions/4302#discussioncomment-9616801, I, @chalin wrote:

Being able to detect page drift between en and non-en pages is a challenging problem. @cjyabraham has made me aware of solutions used by other CNCF projects. I'll be reviewing those a reporting back here.
In #4536 (comment), @my-git9 proposes to use the K8s zh localization approach of embedding en page segments in zh pages as HTML comments. I'd strongly vote against this approach because:

The duplication and maintenance overhead of keeping those en language HTML comments up-to-date.
Embedding en page segments as HTML only compounds the maintenance problem without helping us detect if there is a drift between en and zh pages.

I'll be reviewing other CNCF-project approaches to this and report back here as soon as I can.

Via same previous thread @my-git9 wrote:

The k8s documentation community uses a script as a detection tool. The premise of using it requires the translator to standardize the commit. Perhaps we can refer to: https://github.com/kubernetes/website/blob/main/scripts/lsync.sh

Our support for translations is nascent. We have an opportunity to get it right, or at least good enough, from the start.
Let me put something together to show you what I have in mind. In the meantime, I'd suggest delaying the merge of other zh page translations.
Tasks

[x] #4599
[x] #4602
[x] #4612
[x] #4614
[x] #4620

Related

https://github.com/search?q=repo%3Akubernetes%2Fwebsite scripts%2Flsync.sh&type=code
https://github.com/kubernetes/website/blob/main/scripts/lsync.sh
https://github.com/kubernetes/website/tree/main/content

@open-telemetry/docs-maintainers - FYI, during today's Comms meeting we agreed to not / no longer merge non-en language pages containing embedded en-source page fragments as HTML comments. @svrnm - I assume that you'll follow up with the zh PRs that you merged before the meeting to ask them to strip the comments? Thanks!

I'm satsified with the proposed design and implementation, as documented in https://opentelemetry.io/docs/contributing/localization/. We'll continue to vet the approach and adjust as needed, but I'm closing-as-completed for now.


LND dies after upgrade to 1.9.0

I used to leave my Raspiblitz running for months with no issues. Now LND crashes after about a day of running. Systemd shows it as dead until i restart it again
● lnd.service - Lightning Network Daemon
     Loaded: loaded (/etc/systemd/system/lnd.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sat 2023-07-22 02:12:29 BST; 19h ago
    Process: 3743191 ExecStartPre=/home/admin/config.scripts/lnd.check.sh prestart mainnet (code=exited, status=0/SUCCESS)
    Process: 3743470 ExecStart=/usr/local/bin/lnd --configfile=/home/bitcoin/.lnd/lnd.conf (code=exited, status=0/SUCCESS)
   Main PID: 3743470 (code=exited, status=0/SUCCESS)
     Status: "Wallet unlocked"
        CPU: 3h 56min 10.190s

Jul 21 13:03:03 raspberrypi systemd[1]: Starting Lightning Network Daemon...
Jul 21 13:03:28 raspberrypi systemd[1]: Started Lightning Network Daemon.
Jul 22 02:12:29 raspberrypi systemd[1]: lnd.service: Succeeded.
Jul 22 02:12:29 raspberrypi systemd[1]: lnd.service: Consumed 3h 56min 10.190s CPU time.

If anyone knows which log file to look in to see why this is dying I can post the error message(s).

Hi team, Thanks for your work on this project. I've encountered a known bug (ref: #3885) also in v1.8 blitz. LND works after resetting but I would use that time to close any channels you have open. Bitcoin still runs so I'm primarily running my blitz to keep the blockchain synced. Hoping this helps in troubleshooting. Appreciate all your efforts.

Update:  Running stable for over 24 hours now.  Fingers crossed it stays that way.

If anyone knows which log file to look in to see why this is dying I can post the error message(s).

there are two places to look. The shortcut:
lndlog

brings up the logs, also in SYSTEM menu.
The journal can be viewed (like for every service) with:
sudo journalctl -fu lnd -n 100

Thanks, neither of those revealed any errors and the node has been stable for two days now.  If it makes it through the weekend I'll close out this issue.

Ok finally captured the log.

Likely a performance issue. How is the load in htop?
Try these settings in the lnd.conf (discussed in https://github.com/raspiblitz/raspiblitz/pull/4010):
[healthcheck]
healthcheck.chainbackend.attempts=3
healthcheck.chainbackend.timeout=2m0s
healthcheck.chainbackend.interval=1m30s

Ok will give it a try and report back.

Adding the health check kept it up and running for a few more days but still eventually crashes:
2023-08-02 01:59:01.503 [INF] UTXN: Attempting to graduate height=801276: num_kids=0, num_babies=0
2023-08-02 01:59:05.789 [INF] CRTR: Block<PHONE_NUMBER>0000000001a5455150df515b3d5900a6320ca46a821d5e046c5530 (height=801276) closed 0 channels
2023-08-02 02:06:53.296 [INF] HLCK: Health check: chain backend, call: 1 failed with: health check: chain backend timed out after: 2m0s, backing off for: 2m0s
2023-08-02 02:07:55.748 [INF] CRTR: Pruning channel graph using block<PHONE_NUMBER>00000000022f44c3fb4183f6c1fb5751d4ab9da1c8d962c53abaee (height=801277)
2023-08-02 02:10:33.621 [INF] CRTR: Block<PHONE_NUMBER>00000000022f44c3fb4183f6c1fb5751d4ab9da1c8d962c53abaee (height=801277) closed 0 channels
2023-08-02 02:12:53.130 [INF] HLCK: Health check: chain backend, call: 1 failed with: health check: chain backend timed out after: 2m0s, backing off for: 2m0s
2023-08-02 02:16:53.183 [INF] HLCK: Health check: chain backend, call: 2 failed with: health check: chain backend timed out after: 2m0s, backing off for: 2m0s
2023-08-02 02:20:53.537 [CRT] SRVR: Health check: chain backend failed after 3 calls
2023-08-02 02:20:53.639 [INF] SRVR: Sending request for shutdown
2023-08-02 02:20:53.653 [INF] LTND: Received shutdown request.
2023-08-02 02:20:53.657 [INF] LTND: Shutting down...
2023-08-02 02:20:53.748 [INF] LTND: Systemd was notified about stopping
2023-08-02 02:20:53.748 [INF] LTND: Gracefully shutting down.
2023-08-02 02:20:53.853 [INF] NANN: Channel Status Manager shutting down
2023-08-02 02:20:53.864 [INF] HSWC: HTLC Switch shutting down

htop load doesn't seem unreasonable

@scarolan can you try if the new new v1.10.0rc2 solves this problem: https://github.com/raspiblitz/raspiblitz/tree/v1.10#downloading-the-software
it contains the new healthcheck parameters and a new lnd with the memleak fix.


ES2015 strict mode - SyntaxError: Octal literals are not allowed in strict mode

We see a syntax error in node ES2015 strict mode. The error says:
/node_modules/restler/lib/multipartform.js:112
      fs.open(this.value.path, "r", 0666, function (err, fd) {
                                    ^^^^
SyntaxError: Octal literals are not allowed in strict mode.

It is important for us to fix it for staying compatible with latest modes of running the app. The moment I spotted this is because I use sendwithus in an app that has dependency on this package.
ES2015 strict mode is getting popular. I run my app using node --use_strict app.js for strict mode, that gives access to new features like let and many others.

I'm also having this issue


(Request) Could we have the option for 2 lines text too?

I kinda like how the event text is written in 2 line like before - makes it more readable for longer event title.
Can we have the option to toggle for either 1 or 2 lines?

I think that it would not maintain the widget style.


What to do with (hybrid) pathways that contain genes of multiple species?

such as https://www.wikipathways.org/index.php/Pathway:WP1438
How can we annotate the species?

Hi all; also discussed this issue with @mkutmon . Would it be an idea to extend the GPML model, so users can specify per datanode/interaction/lit. ref for which species this is relevant? Then the main species designation chosen in the beginning is implemented for all datanodes+interactions+lit.refs as initial values, but we give users an option to select a different species in the DataNode/Interaction properties panel. I could see some examples where we could use this information:

Hybrid PWs (where info from multiple species is combined).
Disease PWs (indicating some elements relationship to disease have only been established in certain animal model, for clarity. I think @fehrhart is adding this type of info now in comments).
Make (meta)data for homology converted PWs more transparent; for example the LIPIDMAPS PWs have only been created for Mouse; I've added literature for mouse+human to complete the PWs, but no way now for automated retrieval which lit.ref belongs to which species.
Create easier suited Systems Pharmacology models, see for example mevalonate PW with inhibitors, which has info for 2 species. I'm not stating this is the final model we would like to have (maybe easier to add the drugs later on through CyTargetLinker); but would be a nice extension for the kinetic semantic data model I've been working on (see poster).

We could even extend this approach later to specify in which organ/tissue/cell type a DataNode/interaction/lit. ref is relevant, which is something we wanted for quite some time if I remember correctly. This information would also allow us to align the GPML with Genome Scale Metabolic Modeling approaches, so we can use it for Fluxomics etc.


What does "chapter = true" do?

I see that it means that it will have child pages, but does that mean within a section there could be multiple chapters? Is _index.md automatically a chapter?

Chapter changes the CSS associated with the page. I encourage you to play around with it because you'll see the changes in rendered HTML (and whether you want them or not). I used to use chapters but don't now because it reduces the size of images (to 60% width if I recall correctly?), which was undesirable.

Chapters are an archetype used by this theme, introduced here in the theme documentation.
You can have chapters within chapters.
Yes chapter type pages have their own CSS and theme layout. You can override this CSS if you desire. The best way to do this is to create a "yours" theme variant, copy all the CSS from the red / blue / green variant, and make whatever customisations you want.


Set up 'disk server':

OS
SSH Keys
Volumes/partitions/etc
Salt

@robredpath

The server has Ubuntu 18.04 LTS installed. root has all the usual keys for ODSC staff to access it. archive has all the usual keys, plus its own. The archive user can log into itself, on both kingfisher servers. This is either a brilliant or a terrible idea, but seems like a nice self-contained way for the servers to be able to talk securely.
Out of the box, the server was partitioned with two large software RAID volumes - one 3.5TB, one 2TB. I could do some mdadm fettling to turn these into one large partition, but I feel like 3.5TB is enough for storing old files, while 2TB is enough for storing backups of other information from the main sever (eg dumps of the management tables). Especially if we compress them.
All of the configuration is in salt, apart from the software RAID which is set by Hetzner.

Moved to Done, so closing.


CMake OpenCV dont found path to libraries CUDA

Hi!
I have error build docker image from file Dockerfile.opencv.
CMake OpenCV dont found path to libraries CUDA
-- Configuring incomplete, errors occurred!
See also "/opt/opencv/build/CMakeFiles/CMakeOutput.log".
See also "/opt/opencv/build/CMakeFiles/CMakeError.log".
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_LIBRARY (ADVANCED)
    linked by target "opencv_cudev" in directory /opt/opencv_contrib/modules/cudev
    linked by target "opencv_core" in directory /opt/opencv/modules/core
    linked by target "opencv_cudaarithm" in directory /opt/opencv_contrib/modules/cudaarithm
    linked by target "opencv_cudaarithm" in directory /opt/opencv_contrib/modules/cudaarithm

I think you need to set your default docker-runtime to nvidia first and then reboot:
https://github.com/dusty-nv/jetson-containers#docker-default-runtime
Also here is a link to the deb's that were built by this Dockerfile:
https://nvidia.box.com/shared/static/5v89u6g5rb62fpz4lh0rz531ajo2t5ef.gz
Dockerfile.opencv is for building the debs for OpenCV (with CUDA enabled)

Thank you. It helped me. Problem is solved


[WIP]Adding pod anti affinity for zones on mon and mds pods

More than one mon or mds pods are randomly coming up on the same Availability Zone.
This PR adds topologyKey: failure-domain.beta.kubernetes.io/zone podAntiAffinity to Mon and MDS placement spec.

Placement spec for Mons after these changes:
placement:
    all:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: cluster.ocs.openshift.io/openshift-storage
              operator: Exists
      tolerations:
      - effect: NoSchedule
        key: node.ocs.openshift.io/storage
        operator: Equal
        value: "true"
    mon:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - rook-ceph-mon
            topologyKey: failure-domain.beta.kubernetes.io/zone
          weight: 100

Placement spec for MDS after these changes:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: cluster.ocs.openshift.io/openshift-storage
              operator: Exists
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - rook-ceph-mds
            topologyKey: failure-domain.beta.kubernetes.io/zone
          weight: 100


Less specific datetimes

Do we support toml-lang/toml#297?  If not, we should,

Not as of yet. We support everything in version 0.4.0 of the spec.
I'm holding off on less specific datetime support until toml-lang/toml#362 or toml-lang/toml#361 is merged. There's currently a lot of ambiguity in the master branch spec as to what the "default" values ought to be for the less specific datetimes.
For obvious reasons, I'm partial to toml-lang/toml#362, but from a pure implementer standpoint I just want to have clarity on what people are expecting the parsers to do for the ambiguous values before adding support.

Apparently this is now part of the spec:

https://github.com/toml-lang/toml#user-content-offset-date-time
https://github.com/toml-lang/toml#local-date-time
https://github.com/toml-lang/toml#local-date
https://github.com/toml-lang/toml#local-time

Would be lovely to see this in your cpptoml parser.  FWIW I had good luck recently with the CCTZ library when it came to RFC 3339 parsing.

Awesome, thanks!


Testimonial btn styled

What is the change?
Added existing css classes
Related issue?
close: #770
How was it tested?
Remove this line and tell us how the code was tested.
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelines while contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[] Did you lint your code before making the Pull Request?
[] Have you made corresponding changes to the documentation?
[x] Your submission doesn't break any existing feature.
[x] Have you tested the code before submission?

Screenshots or Video:

/gssoc/

/level2/


refactor(xrpl_api): reorganize the transaction files

cc @allanbrondumkr the single transaction dir was kind of confusing. Also I don't like the (older) mod.rs
What do you think?


fix processing of multipacket messages

Fixes a bug in the rust-sdk whereby messages too long to send in a single packet would have bytes carved out of them.

looks correct, but might be worth adding a unit test to validate this logic and capture a few examples

per offline discussion, moving this to a separate ticket here


Add workdir back to the path of found dockerfiles

Fixing the failing dockerlint tests

Here is a successful run on indico: https://github.com/canonical/indico-operator/actions/runs/3708756353/jobs/6286654628


Add kuksa.val.services as ghcr push enabled repos

@int0x27 @SebastianSchildt - I started to use this one from kuksa.services without checking that the criteria also evaluates to true for kuksa.services. Please review and if you accept the change approve, then I will create a new minor 2.X tag


[docs] Instruct how to deploy several license files

Many projects will have more than a single license. Such projects typically have a LICENSES folder with SPDX copies of them. This explains how to copy them all instead just a single one.
Such projects with multiple licenses should be officially recognized, so that maintainers are aware of it. See e.g.: https://github.com/microsoft/vcpkg/pull/19199#pullrequestreview-717624939
https://github.com/microsoft/vcpkg/pull/19200#discussion_r678871016
EDIT: also promotes ${PORT} usage and wrapping paths in quotes.

Is it really desired that the copyright file becomes a folder in some cases?

Is it really desired that the copyright file becomes a folder in some cases?

I am really not sure what you mean here.

Is it really desired that the copyright file becomes a folder in some cases?

I am really not sure what you mean here.

Until now I relied on the assumption that share/${PORT}/copyright is a file. There is no clear documentation in vcpkg, but there are loose links to debian packaging.
I do not dispute the need to deal with alternative licenses. I'm worried because if share/${PORT}/copyright can be a directory, it needs different treatment in scripts that rely on such files.
(In my app, I do collect such files in order to deploy them with the app.)
Now I wonder if there are any examples in vcpkg where share/${PORT}/copyright already is a directory, not a file.

Until now I relied on the assumption that share/${PORT}/copyright is a file. There is no clear documentation in vcpkg, but there are loose links to debian packaging.
(...)
Now I wonder if there are any examples in vcpkg where share/${PORT}/copyright already is a directory, not a file.

There's no documentation indeed, which is why I came up with this solution that allowed me to copy multiple files to a copyright folder instead. The post-installation validation checks for copyright presence, bu not whether it's a file or a directory, so I took advantage of that.
That having said, I see that Debian still delivers a single file for KDE Frameworks, despite them having moved to requiring all relevant SPDX copies of the licenses used present in LICENSES, so unless they concatenate them all in a single file, they packages have their licensing wrong: https://packages.debian.org/experimental/amd64/libkf5sonnet-dev/filelist

Yeah, Debian maintainers do much more than just copying files. Another thing to note is that they document the legal state of the source code. For the resulting binaries which are combined from multiple components, you still have to check which licenses can be combined to form a legal result.
For vcpkg, I just would like to ensure a conscious decision whether to stay with a file (and additional sidecar files if needed) or whether to allow directories (and if yes, if there needs to be another primary file). It is not just a quick documentation fix.

After some discussion considering the above, @ras0219 @vicroms @dan-shaw and I met "in person" and agreed that all 3 of:

concatenating everything into 1 file
using a directory
creating a file with "pointers" in text to the other files

are roughly equivalent for human readers, and the concatenation solution is best for tools as @dg0yt mentioned, so that is the solution we wish to prefer in the future.
Contributors who are interested in helping with this, in addition to changing the docs in this PR to be consistent with that result:

it would be nice to add a vcpkg_copy_license(...) accepting any number of paths to licenses which automatically prepares the concatenated result as "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright"
we can't go back and time and stop ports from putting directories here as there are some, but it would be nice to add a warning to the tool around https://github.com/microsoft/vcpkg-tool/blob/6d539419b0163e920c1f51a901212c6e310e2994/src/vcpkg/postbuildlint.cpp#L343 which warns if it is not a file

it would be nice to add a vcpkg_copy_license(...) accepting any number of paths to licenses which automatically prepares the concatenated result as "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright"

May be it would be helpful to (optionally) insert an introductory remark before each file.

May be it would be helpful to (optionally) insert an introductory remark before each file.

And In particular, also listing all the names of the original files, which most of the time would be the names of licenses found in that file.

@wrobelda, could you address the review suggestion?

@wrobelda, could you address the review suggestion?

I have noting else to add than what I suggested above (https://github.com/microsoft/vcpkg/pull/19227#issuecomment-912410969). Everything else sounds good to me.

Please reopen this PR if you have spare time.


hardcoded matrix.org when logging in with access_token

https://github.com/KrazyKirby99999/simple-matrix-bot-lib/blob/96b120e9ea7425a117fb08918a2993ec6fb86e41/simplematrixbotlib/api.py#L58
should be
async with session.get(f'{self.creds.homeserver}/_matrix/client/r0/account/whoami?access_token={self.creds.access_token}') as response:

or so

Thank you for bringing this issue to my attention, I will fix this as soon as possible.


Extend CertificateProfile to allow verify SSL Server certificates

Hello all,
is it possible to open the API in order to support the TUC_PKI_018 verification of further certificate profiles? For example the SSL server certificate profile (oid_fd_tls_s / 1.2.2<IP_ADDRESS>.169) is missing. Currently (v<IP_ADDRESS>) the related policy 1.2.2<IP_ADDRESS>.169 is already defined as CertificateType, but there is no corresponding CertificateProfile.
Perhaps there is the possibility of replacing the practical but very restrictive mapping of the certificates profiles via Java-enums with a more open data structure, e.g. Java-interfaces?
If you are interested and if desired, I could make a corresponding pull request.
Best wishes,
Frank

Hi Frank,
we plan a new release very soon. I am implementing oid_fd_tls_s  right now. We will discuss your suggestion to switch to interfaces internally.
Greetings, Mirko


added note on sign in

added a note to clarify that the "click here" link may take you to one of your other subscriptions, and not the dev subscription.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/office-365-developer-program-get-started.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/office-365-developer-program-get-started.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add missing Apple supported platforms

Bug/issue #, if applicable: 127384226
Summary
Added missing Apple supported platforms iPadOS and visionOS and added them into the list of sorted platforms for presentation.
Dependencies
N/A
Testing
PlatformsOrder.docc.zip
Steps:

Preview the provided documentation catalog
2.Assert that the platforms displayed in the availability section are sorted as expected.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests / Refined existing tests
[X] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary (N/A)

@swift-ci please test


Cannot find module<EMAIL_ADDRESS>from 'src/tests/unit/App.test.tsx'

I am running a very basic test copied from the  React + Typescript example.
import React from "react";

import { render, screen } from "@testing-library/react";
import App from "../../App";

test("renders learn react link", () => {
  render(<App />);
  const linkElement = screen.getByText(/learn react/i);
  expect(linkElement).toBeInTheDocument();
});

Sadly, it throws me an error
Test suite failed to run

    Cannot find module<EMAIL_ADDRESS>from 'src/__tests__/unit/App.test.tsx'

      at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:318:11)

I checked my .vite folder, I do have testing library react js installed

This is my package.json

I have tried placing it under dependencies and also devDependencies, but nothing seems to work.
Any ideas?
My full package.json. I really want to use vite-jest ! But if this doesn't work, I would have to go back to my hackish babel method of running jest with vite.
"scripts": {
    "dev": "vite --host",
    "build": "./build.sh",
    "serve": "vite preview",
    "lint": "eslint src",
    "test:unit": "vite-jest"
  },
  "dependencies": {
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^12.0.0",
    "react": "^17.0.0",
    "react-dom": "^17.0.0"
  },
  "devDependencies": {
    "@types/jest": "^27.0.1",
    "@types/node": "^16.9.0",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@typescript-eslint/eslint-plugin": "^4.31.0",
    "@vitejs/plugin-react-refresh": "^1.3.1",
    "autoprefixer": "^10.3.4",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react": "^7.25.1",
    "jest": "^27.1.1",
    "jest-environment-jsdom": "^27.1.1",
    "postcss": "^8.3.6",
    "tailwindcss": "^2.2.13",
    "typescript": "^4.3.2",
    "vite": "^2.5.4",
    "vite-jest": "^0.0.3"
  }

It is not a Windows issue, I'm running this on Linux, Ubuntu 18.04.

similar issue with @testing-library/dom on macOs 11.5.2, node 16.9.1
❯ yarn test
yarn run v1.22.11
$ vite-jest
(node:56260) ExperimentalWarning: VM Modules is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 FAIL  src/app.test.ts
  ● Test suite failed to run

    Cannot find module<EMAIL_ADDRESS>from 'src/app.test.ts'

      at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:318:11)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        1.482 s
Ran all test suites.
/Users/kav/Dev/playground/tsblank/node_modules/execa/lib/error.js:60
                error = new Error(message);
                        ^

Error: Command failed with exit code 1: node --experimental-vm-modules /Users/kav/Dev/playground/tsblank/node_modules/jest/bin/jest.js
    at makeError (/Users/kav/Dev/playground/tsblank/node_modules/execa/lib/error.js:60:11)
    at Function.module.exports.sync (/Users/kav/Dev/playground/tsblank/node_modules/execa/index.js:194:17)
    at file:///Users/kav/Dev/playground/tsblank/node_modules/vite-jest/bin/vite-jest.js:11:7
    at ModuleJob.run (node:internal/modules/esm/module_job:183:25)
    at async Loader.import (node:internal/modules/esm/loader:178:24)
    at async Object.loadESM (node:internal/process/esm_loader:68:5)
    at async handleMainPromise (node:internal/modules/run_main:63:12) {
  shortMessage: 'Command failed with exit code 1: node --experimental-vm-modules /Users/kav/Dev/playground/tsblank/node_modules/jest/bin/jest.js',
  command: 'node --experimental-vm-modules /Users/kav/Dev/playground/tsblank/node_modules/jest/bin/jest.js',
  escapedCommand: 'node --experimental-vm-modules "/Users/kav/Dev/playground/tsblank/node_modules/jest/bin/jest.js"',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

package.json:
{
  "name": "tsblank",
  "version": "0.0.0",
  "repository": {
    "type": "git",
    "url": "git@github.com:kavsingh/tsblank.git"
  },
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "test": "vite-jest",
    "lint": "tsc && eslint .",
    "dev": "vite",
    "prebuild": "rm -rf ./dist",
    "build": "vite build",
    "serve": "vite preview"
  },
  "devDependencies": {
    "@testing-library/dom": "8.5.0",
    "@testing-library/jest-dom": "5.14.1",
    "@types/jest": "27.0.1",
    "@typescript-eslint/eslint-plugin": "4.31.0",
    "@typescript-eslint/parser": "4.31.0",
    "@vitejs/plugin-legacy": "1.5.3",
    "eslint": "7.32.0",
    "eslint-config-prettier": "8.3.0",
    "eslint-import-resolver-custom-alias": "1.2.0",
    "eslint-plugin-filenames": "1.3.2",
    "eslint-plugin-import": "2.24.2",
    "eslint-plugin-jest": "24.4.0",
    "eslint-plugin-jest-dom": "3.9.2",
    "eslint-plugin-prettier": "4.0.0",
    "eslint-plugin-testing-library": "4.12.2",
    "jest": "27.1.1",
    "prettier": "2.4.0",
    "ts-node": "10.2.1",
    "typescript": "4.4.3",
    "vite": "2.5.6",
    "vite-jest": "0.0.3"
  }
}

vite config:
import { defineConfig } from 'vite';
import legacyPlugin from '@vitejs/plugin-legacy';

export default defineConfig({
  build: { sourcemap: true },
  plugins: [legacyPlugin()],
  resolve: { alias: [{ find: '~', replacement: './src' }] },
});

This helped me to resolve the issue.
// jest.config.js
moduleNameMapper: {
    '^@src/(.*)$': '<rootDir>/src/$1',
    '\\.(css|sass|scss)$': 'identity-obj-proxy',
  },

Oh that is nice, what does the $1 do?

Basically, map (.*) to $1 as regular exp.
https://jestjs.io/docs/configuration#modulenamemapper-objectstring-string--arraystring
It's an odd one does alias for jest, did it work for you?

I have another error now
Jest failed to parse a file.
Details:
SyntaxError: /home/.../src/tests/unit/App.test.tsx: Support for the experimental syntax 'jsx' isn't currently enabled (8:12):
Add @babel/preset-react (https://git.io/JfeDR) to the 'presets' section of your Babel config to enable transformation.
If you want to leave it as-is, add @babel/plugin-syntax-jsx (https://git.io/vb4yA) to the 'plugins' section to enable parsing.
Can't seem to solve this error now...

im having the same issue, was there ever a resolution to this issue?


L0 fits file name

From ESA:

The only files with issues are the two L0 sci files with start and end OBT - the filename only allows for the coarse OBT, i.e. without the 'f' and fine OBT (see my mail to Laszlo on 8 Nov 2021).

It's a straight forward change in the code but I'm concerned about collision of file names

Addressed in #217 but need to verify if it doesn't cause any issues when processing all the TM


Read Offer on Item on AssetHub

Context
I would like to see offers for the particular item the the item detail
Task

In gallery item create a new tab in the big table called offers
fetch offers from the indexer - Gallery item detail: list offers intended for the item
show the values in logical order - exez can help you with that - for refference we can reuse design of old basilisk offers - https://github.com/kodadot/nft-gallery/pull/8912

I will spin-up new indexer on AHK for that


Unhandled edge case for Products being removed from API

Hi there Tomas,hope I'm not intruding
I've stumbled upon an edge case when publishing and updating existing API Products, we do not delete a Product that has been removed from the products array, which is a problem and could be dangerous.
Here's a visual example:

Not that good with JS/TS and tooling, but I did wrote a quick "fix", which unfortunately I haven't found a way to test in the real world, but here's a proposal:
After calling api.beginCreateOrUpdateAndWait and before calling productApi.createOrUpdate:
Get existing Products for the API, and if a product is not part of the passed products (being added), remove the API from the Product
    for await (let page of client.apiProduct.listByApis(resourceGroupName, apiManagementName, name).byPage()) {
      for(const pr of page) {
        if(pr.name != null && !products.includes(pr.name)) {
            await client.productApi.delete(resourceGroupName, apiManagementName, pr.name, name);
        }
      }
    }

I can do a PR when I have 100% tested and working so you can publish a new package version.
Nothing urgent really, but something we need to be fixed in the long term.

Thanks for raising this issue!
Yes, It's true that the tool will not delete product assignments when removed from the list. Similarly, it will not:

delete remove operations (e.g., an endpoint) from an API
delete an entire API

This was actually by design; IMO, automating deletions is a bit dangerous. At least deleting entire API:s; but product assignments and operations can of course be done.
IMO, it would make sense to keep the current behaviour of never removing anything.
BUT, it needs to be clearly stated in docs that it is the intended behaviour.
Thougths?

Sorry for the late response!
Giving it a second thought I DO agree with all you've said above. The "edge case" is more of a project specific, and  the package shouldn't be concerned with it. We'll update our docs to clearly state this behavior, as this now passes silently and "unnoticed".Sometimes one might really want to perform product un-assignment, but if so it should be done explicitly!
I'll be communicating all of this with the rest of the teams and DevOps, and if at some point we find ourselves in need of this functionality, I hope you won't mind us forking the repo and releasing a "different" npm package for our use.
Thanks for the response and have a great week!

I've been thinking this over a bit more and perhaps it would make sense to have the option to automate deletions.
WDYT about:

By default the tool will NOT delete anything - it will create new endpoints, update existing and assign new products.
Adding a flag that changes the behaviour of the tool to also remove superfluous operations and/or product assignments.

E.g.,
  --remove-unknown-assignments        If used the tool will remove Product Assignments from each API if not specified in the api-config.json. (default: false)
  --remove-unknown-operations         If used the tool will remove Operations from each API if not specified in the api-config.json. (default: false)

If you would want this behaviour you could just use the flags.

I was also thinking of adding the deletion behavior via flags explicitly, but rather on the api-config.json level so it's more flexible and can be controlled per API. Something along the lines of  :
  {
    "displayName": "My API,
    "operations": [
      {
        "id": "my-operation-1"
      }
    ],
    "operations_remove_unknown_assignments": false
    "products": [
      "my product"
    ],
	"products_remove_unknown_assignments": true
  }

 operations_remove_unknown_assignments and products_remove_unknown_assignments of course being non-mandatory and default to false. And maybe also have the option of flagging on cli level(as you've described) applying it for all APIs in the config. But this will maybe make it convoluted which flag has higher precedence, both for usage and implementation 🤔  I wouldn't really mind any of the the as long as they are there to use 😄

@borislavml terribly sorry about the delay! I've been very busy at work.
Firstly, I've decided to split this in two parts:

Remove unknown product assignments - PR
Remove unknown API operations - Issue.

The reason for this separation is that removing a product assignment is a lot more trivial; and this issue originally was specifically only about the first (1) part. I have opened a separate issue for the second one to track progress there.
Secondly, the more I think about it; the more I've realised that the "options" (products_remove_unknown) which discussed above are not necessary. I think it's reasonable to let the script remove unknown product assignments; since this script is not intended to be used together with manually manipulating APIs and/or product assignments. Therefore, I've implemented this as the default behaviour.
Finally - ask for help!
I currently do not have access to any Api Management I could use to test this. Would you be able to help me? I've written instructions for how to test in the PR. As it's only in PR-state you need to start by doing something like;

Ensure you have the right Node version (16.15.1) installed and install yarn using npm install -g yarn.
clone the repository and check out the right branch (feature/remove-unknown-api-product-assignments-from-apim).
run yarn to install dependencies
Step into the clis/ado-cli folder

From here you should be able to run the script using yarn dev <normal command and options stuff here>.
OR you can run yarn build and then run it using yarn ado-cli  <normal command and options stuff here> if you prefer. Both options run the script directly from the repository and does not install anything globally on your laptop; so you have to remain in the CI folder.

Hey @tomaswalander. Thanks for looking into the issue. I've been also quite busy at work, but I'll DO try to find some time the following week to properly test the PR branch with all the Azure infra setup needed. Will write back when I can confirm for sure it's working as expected!

@borislavml new version 0.1.0 available. You can test it, e.g., through npx:
npx<EMAIL_ADDRESS>--help

IIRC, you need to modify your pipelines to use the new version explicitly :)

All testing performer,

@borislavml new version 0.1.0 available. You can test it, e.g., through npx:
npx<EMAIL_ADDRESS>--help

IIRC, you need to modify your pipelines to use the new version explicitly :)

Yep we DO need to do that :). Tested via npx with the new version - all's working as expected. Many thanks for the support 🙏

Great news! Thanks for opening the issue and helping with testing!


application builder: JSON import regression with dashed root keys

Command
build, serve
Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
When importing a json file using import('file.json') in an CLi application, the JSON returned does not include the root keys that have a dash in their name.
Consider the following JSON:
{
  "withoutdash": "Without dash, OK",
  "with-dash": "With dash, OK",
  "nested": {
    "withoutdash": "Nested without dash, OK",
    "with-dash": "Nested with dash, OK"
  }
}

loaded in a component dynamically:
  jsonContent: any;

  async show() {
    const fileName = 'test';
    this.jsonContent = await import(`./${fileName}.json`);
  }

and then displayed:
<button (click)="show()">Load and show JSON content</button>

@if (jsonContent) {

Whole object

{{ jsonContent | json }}

Default property

{{ jsonContent.default | json }}

}

The whole object displays (no with-dash root key):
{
  "default": {
    "withoutdash": "Without dash, OK",
    "with-dash": "With dash, OK",
    "nested": {
      "withoutdash": "Nested without dash, OK",
      "with-dash": "Nested with dash, OK"
    }
  },
  "nested": {
    "withoutdash": "Nested without dash, OK",
    "with-dash": "Nested with dash, OK"
  },
  "withoutdash": "Without dash, OK"
}

whereas the default content is correct:
{
  "withoutdash": "Without dash, OK",
  "with-dash": "With dash, OK",
  "nested": {
    "withoutdash": "Nested without dash, OK",
    "with-dash": "Nested with dash, OK"
  }
}

Minimal Reproduction
See https://stackblitz.com/edit/stackblitz-starters-dg68rk?file=json-loading-bug%2Fsrc%2Fapp%2Fapp.component.html
Run:
cd json-loading-bug/
npm i
npm run start

Exception or Error
No response
Your Environment
Angular CLI: 17.0.3
Node: 18.18.0
Package Manager: npm 9.4.2
OS: linux x64

Angular: 17.0.4
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1700.3
@angular-devkit/build-angular   17.0.3
@angular-devkit/core            17.0.3
@angular-devkit/schematics      17.0.3
@angular/cli                    17.0.3
@schematics/angular             17.0.3
rxjs                            7.8.1
typescript                      5.2.2
zone.js                         0.14.2

Anything else relevant?
A workaround is to use the default property:
this.jsonContent = await import(`./${fileName}.json`).then(m => m.default);

I forgot to mention that this quite breaking for applications using libraries like ngx-translate

This is unfortunately expected, as not all default browsers support an arbitrary module namespace which is required to support direct dashed exports in ESM.
IE:
export {
  with_dash as "with-dash",
};

Also of note here is that the default export is the only export that can be guaranteed to be present. The JSON module specification directly calls out this behavior.  So from an ESM and spec perspective, the default is probably the better long-term option especially for the dynamic import usage.
The new build system does support named imports (assuming you don't use the json type attribute with the import) which does have some nice tree-shaking capabilities.  But as mentioned, this would only be viable to use for non-identifier JSON top-level properties due to target browsers support of arbitrary module namespace identifiers.
Webpack will actually generate an error if you attempt to use a static import statement for JSON with a named import:
import { x } from './a.json';
Results in:
./src/app/app.component.ts:343:12-13 - Error: Should not import the named export 'x' (imported as 'x') from default-exporting module (only default export is available soon)


MAINT: prepare branch for 1.2.1 & backport gh-9615

a single commit to prepare the branch for 1.2.1, including a new release notes file (probably to be updated closer to the actual release with simple Issue / PR/ author lists as done for previous bugfix point releases)
a single commit to backport gh-9615, to prevent non-ASCII characters / related issues from sneaking into the LTS branch

The AppVeyor failure is TestLevyStable.test_cdf_nolan_samples, haven't seen that fail before I think.

Revised based on reviewer comments and tested locally--hopefully CI agrees.

Those u'' prefixes may be tricky for Python 2.7 though. They were added for backporting purposes I think, but the backport complexity can increase pretty quickly with even modest changes when master is not required to support 2.7.

Also, I don't see Travis in the CI list for this PR at the time of writing.

Hmm, odd indeed that TravisCI didn't trigger. No [ci skip] in the last commit message, so not sure what's going on there.

Those u'' prefixes may be tricky for Python 2.7 though.

that should work fine; u"" was only problematic on Python 3.0-3.2

Ah found it, the build said Could not parse .travis.yml  - see https://travis-ci.org/scipy/scipy/requests

There's a yml validator somewhere that should be helpful here

Note that you should be able to break the yml lines using \ at the end of the line. That would help make the code more readable.

Looks like there was a spurious python language directive specification left over in .travis.yml as a result of my attempt at merge conflict resolution -- I've removed it and amended the commit / force pushed.
The local yml linter was happier after removing that (though we do still get various warnings from the linter) --  hopefully CI is too.


Create documentation for the ANLY_TILE_PREFIX and ANLY_TILE_REGEX keywords in the METplus configuration file(s)

A description of these keywords, used in the feature relative use case, needs to be created in the user documentation.

Incorporated in the METplus User documentation


Added Google Authentication

Describe the changes you've made
Added google authentication for user registration/login.
Checklist

[x] My code follows the code style of this project.
[x] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.

Can you check the Login page? something broke the padding vertical that we had:
Before:

Now:

I'm also getting this error

I think we need to create a google app & configure strapi.