Formatter preview

Version 2.6.6 integrates formatter.
The formatter is still in development and looking forward to your feedback!
How to enable
The formatter can be enabled by adding the parameter --preview to the command line parameters.
For VSCode, add this parameter in the Lua.misc.parameters setting.
how to use
The formatter provides two functions: "format document" and "format selected range".
For VSCode users, you can find thease features in the right-click menu.
In addition, VSCode can also enable Format On Paste and Format On Save in the settings.
Note that the Format On Type feature is currently provided by this language server, not by the formatter.
The formatter also provides the Code style check feature, but it is disabled by default. To enable it, please set:
"Lua.diagnostics.neededFileStatus": {
    "codestyle-check": "Any"
}

How to configure
Please read the wiki https://github.com/sumneko/lua-language-server/wiki/Code-Reformat
How to give feedback
If you have any suggestions or bug reports about the formatter, please open issues in https://github.com/CppCXY/EmmyLuaCodeStyle/issues
Other
In fact, I didn't plan to add the formatting feature before.

I've always formatted manually because I feel like I can get some rest and force myself to review the code. So I have no motivation to develop formatter.
I think the formatter is very different from the other features of the language server, the language server is dedicated to intellisense, and all features are based on understanding the semantics of your code. But code formatting only needs to check the current file, or even a code snippet. The extensive settings required for formatting is also very different from the language server itself.
There are already many independent formatters on the market, and users can choose freely.
This language server supports Lua5.1 to Lua5.4 (and LuaJIT) and can run on multiple platforms. These issues also need to be addressed if integrating third-party formatters, especially cross-platform compilation issues.

Fortunately, this PR took the initiative to help me solve 1 and 4, so I decided to integrate it in the new version.
I've raised dozens of issues after trying out this formatting tool, so if you have any suggestions or report, please feel free to feedback.

@sumneko in 2.6.5 the formatter worked but now it doesn't anymore. Did something change? Do I need to do anything to make it work again?

@sumneko in 2.6.5 the formatter worked but now it doesn't anymore. Did something change? Do I need to do anything to make it work again?

The formatter still has a lot of issues to fix, so I disabled it in 2.6.6.
You can use --preview to enable it again, see How to enable above.

I noticed that --preview takes effect when added after -E ...path/to/main.lua.

怎么配置格式化,?我建了xx.editorconfig 或者在setting里配置测试都不起作用
    "Lua.format.defaultConfig": {
        "continuous_assign_statement_align_to_equal_sign": false
    },

怎么配置格式化,?我建了xx.editorconfig 或者在setting里配置测试都不起作用
    "Lua.format.defaultConfig": {
        "continuous_assign_statement_align_to_equal_sign": false
    },

2.6.6 版本只支持从 .editorconfig 中加载设置，从 setting 中加载设置请等2.6.7发布

怎么配置格式化,?我建了xx.editorconfig 或者在setting里配置测试都不起作用
    "Lua.format.defaultConfig": {
        "continuous_assign_statement_align_to_equal_sign": false
    },

2.6.6 版本只支持从 .editorconfig 中加载设置，从 setting 中加载设置请等2.6.7发布

好的 :smile:

Any thoughts on adding support for alternative formatter in the future? I believe a lot of the neovim community has coalesced around stylua so it would be nice to see some support for that eventually.

Any thoughts on adding support for alternative formatter in the future? I believe a lot of the neovim community has coalesced around stylua so it would be nice to see some support for that eventually.

AFAIK, StyLua dose not support Lua 5.4.
I think the formatter is very different from the other features of the language server, you can easily install other formatters and choose freely.

Published in 3.0.0


🧫[EXPERIMENTAL] Very slow implementation of inequality

This code is very bad and slow, but it is proof-of-concept. I used ocamlgraphs to implement it. Suggestions or rewrites are welcome.

I suggest avoiding using an external library. A map from vertices to reachable vertices should be more than enough.

I agree — I was just getting owned trying to compute the transitive closure by hand and i decided to give my brain a test.

On May 19, 2022, at 6:04 AM, favonia @.***> wrote:

I suggest avoiding using an external library. A map from vertices to reachable vertices should be more than enough.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.

OK the code doesn't work anymore, but it can no doubt be fixed. 😆

I want to repeat that I don't recommend using any existing algorithm papers. They are not designed with full persistency in mind. According to a preliminary experiment I did 2 years ago (I just revived it: https://github.com/favonia/kusariyarou), none of the "advanced" algorithms work well in our settings. The one you cited (https://pure.tue.nl/ws/files/4393029/319321.pdf) is likely too complicated because we don't need to support edge deletion.
Again, I strongly recommend maintaining just a set of reachable vertices for each vertex. It could take \Theta(n^2)-time to add an edge, but it doesn't matter when the number of vertices is likely very small.

@favonia Yes, I agree with you --- the reason I looked at a paper is that I am not interested in graph algorithms so I didn't want to figure out how to implement it myself. But this bit me in the ass since I think the algorithm in the paper I looked up had bugs anyway 😆

LMAO what is happening is that in the base case, dimension variables are being "compared" for inequality by their de bruijn level or something LMAO.


Added support for TI Code

"TI Code" is an umbrella name for programs/apps written for the Texas Instruments 83+/84 graphing calculator, which has multiple sublanguages such as TI-BASIC, Axe, and Assembly, all possessing the same file extension. This pull request enables recognition of these previously unknown programs.
Example Programs

Does anybody know why the Travis CI build is failing?

Linguist doesn't process binary files, only plain-text formats. Those binaries should be removed, and they're also what're causing the build to fail.

Okay, thanks!

Good grief, I wrote that comment without even noticing your question OR your response... talk about timing.
Now, concerning the in-the-wild usage... I only found 52 results for the 8xk extension, and nothing for 8xk.txt. Are these extensions really common enough to be used?
You should also put 8xp first to identify it as a primary extension (that's an exception we make to alphabetisation; the most used extension for a language comes first).

Haha, I thought so. Your response appeared almost immediately after I clicked "Comment".
As for the in-the-wild usage, that's a bit messy... These programs are written on the  TI-84 graphing calculator rather than a regular computer. But the TI-84 stores them as binary files rather than plain text, so when you go to read them on the computer you just get gibberish. You can open them up and read/edit the source on the calculator itself but if you send the programs to a computer or put them on GitHub you can't read the source. To fix this, some people use a tool like this one to convert the binary file to plain text so that it's readable on GitHub. They then upload the plain text to their repository alongside their regular program. There's no standardized extensions for the text files, so .8xp.txt and .8xk.txt are some extensions I thought up hoping they would catch on eventually. Most people seem to use .txt.
My main concern though is just that .8xp and .8xk programs are recognized, not so much the .8xp.txt and .8xk.txt. Would you like me to remove them?

Would you like me to remove them?

Ah yes, that'd probably be best. Definitely remove the .8xk.txt extension. If its use does ever catch on, it can be added in future once there's a sizeable amount of ITW usage.
However, this is the part that concerns me:

Most people seem to use .txt

This would imply that .txt should be added as the most common extension for these files. That's going to make a serious mess of classifications unless there's a very sturdy heuristic involved. Even then, I'm not sure I'd be comfortable having a format as generic as plain text risk being classified as a programming language... :S
Is there anything we can use to search for TI Code programs stored in .txt files?

.txt is also common for Forth and Forth-like languages:
https://github.com/search?q=extension%3Atxt+dup+swap

Ah, right.
In that case, let's keep it at the 8x-like extensions, and steer clear of anything too generic. I guess there's no harm in keeping the .8xp.txt extension, even if it doesn't really command much usage.
Regarding the name... I know you said "TI PGRM" is an umbrella term, but I couldn't find much use of the term when googling it. I noticed you more recently renamed it to "TI Code"... is there anything more definitive, or is that the closest we have?
TI-BASIC seems to be the most commonly-used name for it, though I know you said there were other (unrelated) languages that're using the same file extension... how unrelated are they, exactly?

What about the name Texas Instruments Program...? If there's no name for these languages (which is probably the case), I'd say that's more descriptive than "TI Code" (which sounds pretty normative).
We can always add "TI-BASIC" as an alias to help with people who want to search for programs in this language.

That's what I was worried about too with the .txt extensions. It is possible to identify which .txt files are for the TI calculator, but since it's such a small percentage of total .txt files it's probably not worth the risk. I think you're right and it's best to just ignore the .txt files, and let GitHub think they're just plain text especially since they're just an optional addition and not required to run the program.
I also like your thought process for the name! Texas Instruments Program is more descriptive than just TI Code, and since there's not an official term it's best to be descriptive. What if we abbreviated it so that it's TI Program? My reason for this is because when you're looking on someone's repository page, Texas Instruments Program is too long and get's wrapped to three lines.
Example of the line wrap problem:

It wouldn't be the first language to do something like that, don't worry. It is long, but it also spares a reader from having to google "TI" to find out what it stands for.
I feel that's a point open to discussion, though. @pchaigno, @arfon... what're your thoughts? :)

I'd rather have nothing than have Texas Instruments Program, to be honest. I realize that sounds demanding, its just that it looks too cluttered with three lines of text. After all, more common languages such as HTML and CSS are abbreviated. But sure, let's hear some second opinions!

Don't get too attached to what you see on GitHub. Sporadic layout changes happen all the time. Sure, it might look like this today:

... until you wake up one day and find it looking like this:

The take-home point is that language names have more permanency on GitHub than its layout does. It's not right to justify a choice of name based on how it might be presented at any one point in time.
I feel I should stress I'm actually not GitHub staff, just a regular contributor to this repository. The actual maintainer is very busy, so contributors go out of their way to help answer questions in advance.

The take-home point is that language names have more permanency on GitHub than its layout does. It's not right to justify a choice of name based on how it might be presented at any one point in time.

Absolutely. I don't think we should make a decision on the Linguist language name based upon GitHub's layout.
@scottmangiapane - I think we should either go with TIP or Texas Instruments Program.

What if we compromised and did TI Prgm / TI-Prgm? It's similar to TIP, except that it's also an actual acronym used in the TI programming community so people will recognize it. Plus it yields relevant results on Google.

I can only find 133 results on Google for TI Prgm...

Texas Instruments Program is actually worse, there are more results sure but literally all of the results are off topic (usually about something called a "Texas Instruments Program Recorder"). And TIP is unrelated as well.

Erh, googling Texas Instruments Program seems to yield pretty relevant results. Am I missing something here?
This would all be a lot easier if Texas Instruments bothered to give their calculator-languages a proper name. ;p

Also, you are aware that by "search results", we're mostly talking about GitHub's language search... right?
Look, there's a name even bigger than Texas*...

What's the issue with the current TI Program? That's how I used to call it and it yields relevant results on Google...

What's the issue with the current TI Program? That's how I used to call it and it yields relevant results on Google...

Potentially none ¯\_(ツ)_/¯. I was under the impression that this was a somewhat arbitrary name that was decided in this thread but if it's the normal/standard name I don't have any strong objections.

Thank you! I think that Alhadis is opposed to it because it's not as descriptive as Texas Instruments Program. But TI Program is the most standardized in my opinion, it's more normal in the TI programming community to abbreviate it.

If you approve @arfon, the code is all ready to be merged :)

OK thanks @scottmangiapane. Can you just confirm the origin of the sample files included in this PR? They need to have a permissive license (MIT, BST, Apache 2.0 etc.) to be acceptable to Linguist.

Sure! They're all my own code, and they're licensed under the MIT license.

⚡ thanks for this @scottmangiapane. This will be live in the next release of Linguist (likely next week sometime).
@Alhadis - thanks for helping us explore all possible combinations of names here 😁

Thank you @arfon and @Alhadis! I appreciate it.

Hey @arfon / @Alhadis, how come my repositories still aren't being recognized? Did I do something wrong in my pull request or is the new release just taking a while to circulate?

Ah, that'll probably be because the results are still cached from before the release was cut. =)
Just push some changes to your repos, and it should bust the cache and force a reindexing.

No luck :/ I tried updating a file, removing everything, restoring everything, adding a new file, and deleting the new file.
I'm looking through the contribution guidelines though and I might've found it. The readme says that I have to run the 'set-language-ids script' to update the language ID, but I don't think it said that a couple weeks ago so I had just added one manually instead of running the script. Maybe that broke it?

I've run Linguist locally on your repo, and it's because the .8xp files are binary. Linguist will skip anything that contains stuff like NUL bytes and kin.
Try changing the file extension of the text file to .8xp.txt and try again?

You're right, that fixed it! Thanks :)


[Feature][Telemetry] Automatic span latency measurement

This PR adds a custom tracing Layer that records the latency of every Span into a Prometheus Histogram.
A label span_name contains the name of the span, so one can easily search for latency stats for a particular span they are interested in.
The memory usage of this layer is one Prometheus Histogram (with a configurable number of buckets, but at least 10 is recommended) per declared span in the codebase.
This PR should make it vastly easier to track the running latency statistics of any tracing span declared in an application.

Need some help with cargo-deny failure:
error[A001]: Potential segfault in the time crate
[14](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:15)
    ┌─ /github/workspace/Cargo.lock:268:1
[15](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:16)
    │
[16](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:17)
268 │ time 0.1.44 registry+https://github.com/rust-lang/crates.io-index
[17](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:18)
    │ ----------------------------------------------------------------- security vulnerability detected
[18](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:19)
    │
[19](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:20)
    = ID: RUSTSEC-2020-0071
[20](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:21)
    = Advisory: https://rustsec.org/advisories/RUSTSEC-2020-0071
[21](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:22)
    = ### Impact
[22](https://github.com/MystenLabs/mysten-infra/runs/8007709614?check_suite_focus=true#step:4:23)

It seems we have two versions of time in dependencies, and one of them comes from libc... which is weird.
<EMAIL_ADDRESS><EMAIL_ADDRESS>~/s/m/mysten-infra (ec/span-latency-measurement ↩=) cargo tree -p<EMAIL_ADDRESS>time v0.1.44
└── libc v0.2.126

@longbowlu thanks for the look.  I understand the concern about using too many resources, but I don't think this is something to worry about.   The reasons:

The biggest consumer of resources (memory, locking) is the creation of a span in the first place, as it adds a lot of metadata for each span.  There are multiple spans per transaction, so each time a transaction is run, maybe 5 debug spans are created today in validator (and maybe 5 more in quorum_driver).
However, this PR only uses resources per type of span (to be more exact, per span name).    It uses a Prometheus histogram. It also adds a timing, which is very small compared to the rest of the span metadata.

Today as I said there are something like 5 debug spans and 10-15 trace spans in the validator, and some more in the quorum_driver.  We will add more too.   By default, trace logging is off, so we only see debug.
If we log span creation and span close, like we do today, then regardless of whether this PR's histogram feature is turned on or off, we are using a ton of resources in creating spans.
Turning on this feature will create, by default, 5 Prometheus latency histograms, for the lifetime of the node.   That's it.    And a tiny amount (basically a u64) of additional state per span.   The histogram memory usage can be further tuned by tuning the number of buckets, but again it is trivial compared to the memory used per span created (used for logging).
We have further mechanisms to control span creation in the future:

First, logging levels dictate which spans are enabled or not, today
I have already filed an issue for span sampling.  This would be the answer in the future to the resource usage of the spans - that is we should not create spans every time, but only a fraction of the time, and it should be done intelligently so we can gather the entire trace, not just the debug ones.

So hopefully the above answers the question of resource consumption by this feature.
To summarize:

Just by logging spans (not this PR), we are consuming resources O(num_spans * num_TXes)
This PR only consumes resources O(num_spans)

@longbowlu @andll have addressed both of your comments.
I need to add a test and maybe refactor some of the tests.  For some reason the code coverage claims a bunch of code is not tested even though I explicitly added tests for it.

@bmwill

This will greatly complicate the process of initializing the logging infra since the logging infra is initialized at the beginning of main while the metrics are started up sometime later inside the SuiNode constructor

I've looked at that and I don't think it will be a problem to initialize the Prom registry earlier.

How does this interact with testing, you can only init logging once and for testing purposes we init N nodes inside the same process. This makes it impossible to do that cleanly

This is optional.  We won't be starting with this option for testing, it will only be in sui-node.

The cardinality of that metrics may result in really poor performance on the prometheus server since there are going to be a LOT of spans in our code as well as third-party deps

You have to remember that this adds a metric for each unique span in the code, at the current logging level.  At debug, we would only have like 15 spans in Sui, maybe another 15 in Narwhal.    At info, we would have none.
Prometheus can easily handle tens of thousands of histograms at the same time.   I know Prom really really well and I really do not think this will be a problem anytime soon.
We also can filter spans as well as do sampling if we really want to, and I alluded to these elsewhere.   I don't think we will need that for a long time.

Span timing info is already available if we have Span close events enabled. This will enable us to see how long a span was open for and could be translated into a histogram at a later point in time by looking at the logs if we'd like to.

This is true and I alluded to that.  We could take advantage of the close events timing info if we want.
The point of this change is to enable latency insights which are rapidly actionable, and the Prometheus/Grafana ecosystem allows us to do that.   Yes, the timings are in log spans, but nobody is going to bother to go through, scrape that stuff, and built tooling to enable easy insights.   Furthermore, debug logs are very expensive and when we scale up, we will probably want to turn off all debug logging, and we won't then be able to scrape anything.
Using metrics is comparatively cheap compared to logging, and the insights are much faster - and there is an avenue to continue to measure this at scale.

I've looked at that and I don't think it will be a problem to initialize the Prom registry earlier.

I would have thought this was more difficult, glad you don't think it'll be a problem.

This is optional. We won't be starting with this option for testing, it will only be in sui-node.

Good point, given its optional it may not be an issue.

Prometheus can easily handle tens of thousands of histograms at the same time.

I was more worried about spans that we haven't defined ourselves, but again maybe i'm being over cautious or over estimating the number of spans.


Fixed the state refresh issue in the controller

Performed a replace operation due to incorrect state naming.
Removed the stateName parameter from the Stateful Widget due to issues with custom state names.
Added the notifyListeners method to align with the conventional state update approach.

Hi @ruwiss,
Thanks for the PR, I'll review this tomorrow.

Note: We don't have to give a function in setState(() {}). If we put a function in it, it should have small operations. Otherwise the state will not be updated. For this reason usually,
function();

then
setState(() {});

is used as

Note: We don't have to give a function in setState(() {}). If we put a function in it, it should have small operations. Otherwise the state will not be updated. For this reason usually,

function();

then

setState(() {});

is used as

Thanks for the information, I'm looking into this now

Resolved in nylo_support: 6.12.2


fix make group commit wal_manager exit elegantly

Proposed changes
now be exit will hang because of wal_manager relay thread dosen't exit, this pr fix it.
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Can we get the code when it fails to connect to the store?

I'm seeing several app users trying to make purchases but the connection to the store is not working for them. I've tested both with a test account and another account in a published version of the app and it works fine for me. It would be helpful to have the code instead of just a Boolean!
Thanks

Wonder if wouldn't be better to have a normal exception instead of boolean. That will allow to have additional fields and detailed message if is the case.


Flashlights not saving between sessions

There seems to be a bug where when this mod is active, any flashlights (both regular and pro) that are either being held by employees or placed in the storage cupboard will be lost once you save and reload the game. I can confirm shovels and jetpacks stay, and haven't yet had time to try all items. I recently created a modpack and had this issue, so was disabling mods one at a time (whilst using LethalDevMode to spawn flashlights back in to the ship) until the flashlights stopped disappearing, which was when LittleCompany was disabled. Upon re-enabling the mod the flashlights that stayed when it was disabled were present upon the first load of the save file, but once I saved and reloaded, all flashlights had disappeared from the ship again. It could be a conflict with another mod, and I will be investigating further in case it is when I'm able to, but I wanted to bring this to attention in case it is specifically this mod causing the issue, as otherwise it has been a really cool mod to use so far.

I did a couple fixes for item saving in 1.2.0 and will test it again in the evening. Have you used a version >= 1.1.0?

Could also be a conflict with other mods such as BetterItemSaving, as I haven't had the time to test it with other mods yet

Tested it with v1.2.0 and it seems to work as intended again. Can you verify that please?
Thanks for reporting the issue and thank you for your kind words. Glad you enjoy the mod :)

I will be able to test tomorrow as I do not have access to my PC. Looking at dates and when I was last on Lethal Company I would have most likely been on 1.1.2. when disabling the mod. I'll get back to you as soon as I can on this

Just tested and using both LethalDevMode to spawn and save flashlights as well as purchasing via the store and ship drop (with completing a day) I can verify that flashlights are being correctly saved between sessions now, this is with the latest version installed (1.2.1) and all other mods active.


Add file storage location to file manager folder

This PR supersedes #7202.
Fixes #4343

@a3020 Thanks for taking the time to review this PR ! I'll take a look a that.

Thanks – I love this feature, I think it's just too late in the development cycle to get it into 8.5.0. But there will be at least an 8.6.0 (coming much sooner than it took for 8.5.0) that we can get this in.
I would merge it into develop right now, but unfortunately I'm still picking pull requests added to develop that I need into 8.5.0rc1. Will merge soon.

I have merged this into the 8.6.x-dev branch. Thanks!


[Event Request] table 337 "Reservation Entry" - OnAfterCopyTrackingFiltersToReservationEntry

We would like to add a new event OnAfterCopyTrackingFiltersToReservationEntry in the following procedure:
procedure CopyTrackingFiltersToReservationEntry(var ReservationEntry: Record "Reservation Entry")
begin
    //A200F0000.Event.ns
    CopyFilter("Serial No.", ReservationEntry."Serial No.");
    CopyFilter("Lot No.", ReservationEntry."Lot No.");

    OnAfterCopyTrackingFiltersToReservationEntry(Rec, ReservationEntry);
    //A200F0000.Event.ne
end;

Event Signature:
[IntegrationEvent(false, false)]
local procedure OnAfterCopyTrackingFiltersToReservationEntry(var FromReservationEntry: Record "Reservation Entry"; var ToReservationEntry: Record "Reservation Entry")
begin
    //A200F0000.Event
end;

Function CopyTrackingFiltersToReservationEntry does not exist. Please check the latest code base.

We already have this
procedure CopyTrackingFiltersToReservEntry(var FilterReservEntry: Record "Reservation Entry")
begin
    CopyFilter("Serial No.", FilterReservEntry."Serial No.");
    CopyFilter("Lot No.", FilterReservEntry."Lot No.");

    OnAfterCopyTrackingFiltersToReservEntry(Rec, FilterReservEntry);

#if not CLEAN17
OnAfterCopyTrackingFiltersToResernEntry(Rec, FilterReservEntry); // Obsoleted
#endif
end;


[Enhancement] Compressed code formatting

It would be great to have an option for compressed code formatting.
Especially the line breaks for the value pairs for automatically generated code like in "Table.TransformColumnTypes" or "Table.RenameColumns" (after the Table.PromoteHeaders) make the code very lengthy.

Could you give an example of what your desired output is? I'm thinking putting two element lists on a single line, eg:
// current
{
    "BudgetNameID",
    "BudgetName_ID"
}
{"BudgetNameID", "BudgetName_ID}

Further cases where I'd like to see compression:

I plan on looking into both changes. The BinOpExpressions (+, -, *, is, as, etc) are, to put it nicely, very janky. Thankfully those should be an easier fix than the InvokeExpression changes, think a bug fix vs feature improvement.


pkgsCross: binary names of binutils passed to nativeBuildInputs are prefixed with "armv7l-unknown-linux-gnueabihf-"

Describe the bug
A clear and concise description of what the bug is.
The bin/ of the binutils drv passed as nativeBuildInput in pkgsCross derivations contains the following:
[nix-shell:~/Projects/nixpkgs]$ l /nix/store/6x6csr0s7fvdjd13d6qbyyiqzk7f4sh8-armv7l-unknown-linux-gnueabihf-binutils-2.31.1/bin/
total 7.7M
-r-xr-xr-x 1 root root  38K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-addr2line
-r-xr-xr-x 1 root root  79K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-ar
-r-xr-xr-x 1 root root 759K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-as
-r-xr-xr-x 1 root root  37K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-c++filt
-r-xr-xr-x 1 root root 4.4M 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-dwp
-r-xr-xr-x 1 root root  45K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-elfedit
-r-xr-xr-x 1 root root 112K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-gprof
lrwxrwxrwx 1 root root   37 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-ld -> armv7l-unknown-linux-gnueabihf-ld.bfd
-r-xr-xr-x 1 root root 774K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-ld.bfd
-r-xr-xr-x 1 root root 7.2M 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-ld.gold
-r-xr-xr-x 1 root root  54K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-nm
-r-xr-xr-x 1 root root 202K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-objcopy
-r-xr-xr-x 1 root root 368K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-objdump
-r-xr-xr-x 1 root root  79K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-ranlib
-r-xr-xr-x 1 root root 594K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-readelf
-r-xr-xr-x 1 root root  42K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-size
-r-xr-xr-x 1 root root  42K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-strings
-r-xr-xr-x 1 root root 202K 1970-01-01 01:00 armv7l-unknown-linux-gnueabihf-strip

These are x86_64 ELFs as they should be:
[nix-shell:~/Projects/nixpkgs]$ file `which armv7l-unknown-linux-gnueabihf-nm`
/nix/store/6x6csr0s7fvdjd13d6qbyyiqzk7f4sh8-armv7l-unknown-linux-gnueabihf-binutils-2.31.1/bin/armv7l-unknown-linux-gnueabihf-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/qvf11lymvw6n8g66xgj1wsm28z1viqdv-glibc-2.30/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped

but their names have been prefixed.
This causes pkgsCross.mesa to fail because it can't find nm (because it's armv7l-unknown-linux-gnueabihf-nm).
To Reproduce
Steps to reproduce the behavior:
[atemu@HEPHAISTOS nixpkgs]$ nix-shell -A hello --run nm
nm: 'a.out': No such file
[atemu@HEPHAISTOS nixpkgs]$ nix-shell -A pkgsCross.armv7l-hf-multiplatform.hello --run nm
/tmp/nix-shell-2575-0/rc: line 1: nm: command not found
[atemu@HEPHAISTOS nixpkgs]$ nix-shell -A pkgsCross.armv7l-hf-multiplatform.hello --run armv7l-unknown-linux-gnueabihf-nm
armv7l-unknown-linux-gnueabihf-nm: 'a.out': No such file

Expected behavior
A clear and concise description of what you expected to happen.
The bin/ should look just like the regular, native binutils' bin/:
[nix-shell:~/Projects/nixpkgs]$ l /nix/store/ivmds12g88jbjf8famgwkj36a4rrfcy6-binutils-2.31.1/bin/
total 7.6M
-r-xr-xr-x  2 root root  38K 1970-01-01 01:00 addr2line
-r-xr-xr-x  2 root root  79K 1970-01-01 01:00 ar
-r-xr-xr-x  2 root root 440K 1970-01-01 01:00 as
-r-xr-xr-x  2 root root  37K 1970-01-01 01:00 c++filt
-r-xr-xr-x  2 root root 4.4M 1970-01-01 01:00 dwp
-r-xr-xr-x  2 root root  45K 1970-01-01 01:00 elfedit
-r-xr-xr-x  2 root root 112K 1970-01-01 01:00 gprof
lrwxrwxrwx 59 root root    6 1970-01-01 01:00 ld -> ld.bfd
-r-xr-xr-x  2 root root 1.6M 1970-01-01 01:00 ld.bfd
-r-xr-xr-x  2 root root 7.2M 1970-01-01 01:00 ld.gold
-r-xr-xr-x  2 root root  54K 1970-01-01 01:00 nm
-r-xr-xr-x  2 root root 202K 1970-01-01 01:00 objcopy
-r-xr-xr-x  2 root root 368K 1970-01-01 01:00 objdump
-r-xr-xr-x  2 root root  79K 1970-01-01 01:00 ranlib
-r-xr-xr-x  2 root root 594K 1970-01-01 01:00 readelf
-r-xr-xr-x  2 root root  42K 1970-01-01 01:00 size
-r-xr-xr-x  2 root root  42K 1970-01-01 01:00 strings
-r-xr-xr-x  2 root root 202K 1970-01-01 01:00 strip

Additional context
Add any other context about the problem here.
https://github.com/NixOS/nixpkgs/issues/106759
Notify maintainers

@Ericson2314
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

This is intended behavior. The prefixing is to indicate what type of binaries the tools read and write not what type of binaries the tools themselves are.

So how would you go about fixing the mesa build trying to access nm and failing because it can't?

https://github.com/NixOS/nixpkgs/issues/106759#issuecomment-743787678, only saw it now.


Update mf_mountain_lion.c

Remove duplicate return statement in mf_mlion_stop_getting_screen_updates()
This change is no impact anywhere.

@freerdp-bot can you test this, but it's so trivial that I should merge it before your answer.


Added Face mask detection using PCA

Fixes #776

@akshitagupta15june could you please add level label...!!
Thanks


Replace optparse with argparse

note: some of the changes I am unsure of.

@rht I split out, fixed and merged a few commits that work.  If you're going to work on doing code migrations, especially things like argument parsing, you simply have to actually test your work.  I found like 8 bugs in these where the --help output was worse than before because you didn't convert things properly (e.g. the program name being just %prog, or the description no longer starting with the usage data because usage became description, etc.).  And some of these don't even run.  For example:
(zulip-py3-venv) tabbott@zaset:~/zulip$ ./scripts/lib/email-mirror-postfix --help
Traceback (most recent call last):
  File "./scripts/lib/email-mirror-postfix", line 60, in <module>
    parser.make_argument('-r', '--recipient', dest="recipient", type='string', default='',
AttributeError: 'ArgumentParser' object has no attribute 'make_argument'

Please carefully test your changes when you revise this PR (this is a requirement for responsibly submitting code to an open source project; don't submit a PR unless you've tested the functionality you're changing manually, in addition to whatever automated tests exist).

Merged, thanks @rht!


chore: beta prep

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #13
The dialog in the client might need Ahmad's touch, but it is a start

Just merging, because I can 😃
Tom, I am QAing your stuff now


Multiple calls of "onCallAccepted" and "onCallRejected" for iOS only

In initState I initialized the plugin:
WidgetsBinding.instance.addPostFrameCallback(
      (_) async {
      ConnectycubeFlutterCallKit.instance.init(
          icon: 'facility_logo',
          color: '#653CBC',
          onCallAccepted: _onCallAccepted,
          onCallRejected: _onCallRejected,
        );
}

for iOS _onCallAccepted and _onCallRejected calls multiple times. For Android, all are working fine and call only once

Look, three "Accept" callbacks and two "Reject" in less than a second duration when I tap "Answer". It's always a random count of callbacks

For rejecting, the callback is also duplicated

You can try to investigate it on your side and share the result here and I will try to apply your fixes the next week.


Delete blog link at the top of page.

From Jeff's email (issue #36)
Delete the blog link at the top of the page. If we do anything with blog posts, we can use the secondary content area at the bottom of the page for it.

Closed by #43


Install hangs on Ubuntu 18.04 in WSL 1709

Using Ubuntu 18.04 on WSL on 1709
Go thru the prelim steps on install page.
Install hangs here:
Preparing to unpack .../azure-cli_2.0.33-1~xenial_all.deb ...
Unpacking azure-cli (2.0.33-1~xenial) over (2.0.33-1~xenial) ...
Stuck there - have to ctrl+z to exit.
If I try to remove:
$ sudo apt-get remove -y azure-cli
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
$ sudo dpkg --configure -a
$ sudo apt-get remove -y azure-cli
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
azure-cli
0 upgraded, 0 newly installed, 1 to remove and 148 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
dpkg: error processing package azure-cli (--remove):
package is in a very bad inconsistent state; you should
reinstall it before attempting a removal
Errors were encountered while processing:
azure-cli
E: Sub-process /usr/bin/dpkg returned an error code (1)
Unable to do any other apt work at this point as it will try to reinstall azure-cli and hang again.
It would be nice to have more output during install.

Similar issue here. I had to do the following just to get apt working again:
sudo mv /var/lib/dpkg/info/azure-cli.* /tmp/
sudo dpkg --remove --force-remove-reinstreq azure-cli
sudo apt-get remove azure-cli
sudo dpkg --configure -a

I  then installed it using the following:
sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev build-essential
curl -L https://aka.ms/InstallAzureCli | bash

The last command there took probably 10 minutes to install. In particular it seemed to hang at "uninstalling wheel-0.31.1" for quite a while.

Closing due to inactivity.


Avoid an error after a one-time scheduled job

When setting a scheduled job that occurs just one time, the function
was returning an error because next[1] is then undefined and .getTime()
is not defined. Adding a test to bypass this error.

Huh. Didn't see you pull request, @jnkien. You might take a look at my pull requests here, I think we've set out to achieve the same thing:
https://github.com/percolatestudio/meteor-synced-cron/pull/42


7.2.x extra vars not included in 2.1 release.

Bug description
The tagged scripts for the 2.1 release do not include the 7.2.x 'extra vars' script. The 7.1.x script as the name suggests is only configured to download 7.1.1.
The hyland documentation links to version 2.0 (https://docs.alfresco.com/content-services/latest/install/ansible/ -> https://nexus.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/alfresco-ansible-deployment/2.0.0/alfresco-ansible-deployment-2.0.0.zip), so this is what most users will use, but it does not download 7.2.x components.
It was found that modifying the 7.1.x to download 7.2 components, more changes were necessary to support the new solr 'secret' functionality. I made my own changes to fix the solr config issue so I could create a PR, but I wonder if this is just down to a problem with tagging in git hub. I notice that the branch labeled next/7.3 contains files for 7.2.x. which I have yet to review.

Thanks for the reply, ah ok, I didn’t spot the implication that the ‘extra vars’ scripts were intended to be used for previous versions only, and there isn’t a dedicated file for the latest. It seems obvious now!
I ended up modifying the 2.0.0 scripts for our customer,  and mostly things went fine but I had a problem where solr wasn’t starting up to use the shared secret when alfresco.secureComms=secret in solrcore.properties
I had to add
SOLR_OPTS="$SOLR_OPTS -Dalfresco.secureComms=secret -Dalfresco.secureComms.secret={{ reposearch_shared_secret }}"
to
roles/search/templates/solr.in.sh
I didn’t like hardcoding that parameter – It should have been picked up from solrcore.properties, but I think that might be a known issue in ASS.
We also had to make sure that the FQDN was used everywhere rather than a resolved IP address, as the customer intended to switch the IP addresses of the server after go-live.

I ended up modifying the 2.0.0 scripts for our customer, and mostly things went fine but I had a problem where solr wasn’t starting up to use the shared secret when alfresco.secureComms=secret in solrcore.properties

alfresco.secureComms.secret is handled in the startup script solr.sh and won't startup without it so it must be for some other reason in your case.

We also had to make sure that the FQDN was used everywhere rather than a resolved IP address, as the customer intended to switch the IP addresses of the server after go-live.

IP addresses are usually gathered from the inventory file itself, so you either need to re-run the playbook on the final infrastructure after the IP change or make sure that dns resolution works and use fqdn in the inventory.


Adjust the enchants to link to the spell and not the item.

Is your feature request related to a problem? Please describe.
The enchants on the list are inconsistent on whether or not the link is to the spell of the enchant or to the item that teaches the enchant.  If the link is to the item you can't see the materials required for the enchant.
Describe the solution you'd like
Adjust the enchants to link to the spells instead of the items.
Example:
https://www.wowhead.com/wotlk/spell=60692/enchant-chest-powerful-stats
vs
https://www.wowhead.com/wotlk/item=44489/formula-enchant-chest-powerful-stats#teaches-recipe

@zaider Is this still an issue? Looking at the site right now, I'm seeing consistent spell tooltips for enchants (vs the formula item tooltip).

yea looks like this is fixed, or not sure exact links its referencing, looks like the enchant dropdowns are all using spell links now


Issue 2520 offset paging items optimization

Summary of the changes (Less than 80 chars)

Added the lacking optimisation (described in detail in the issue #2520 )

Closes #2520(in this specific format)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.5 out of 10 committers have signed the CLA.:white_check_mark: michaelstaib:white_check_mark: gkfischer:white_check_mark: vmary2014:white_check_mark: oising:white_check_mark: PascalSenn:x: david-driscoll:x: mightymiracleman:x: Suzii:x: cts-tradeit:x: ademchenkoYou have signed the CLA already but the status is still pending? Let us recheck it.

I think you should rebase your change on top of the current main or change the target branch to main-version-12 as it seems you branched off of that one. Otherwise the change history is a bit noisy to review :)

I think you should rebase your change on top of the current main or change the target branch to main-version-12 as it seems you branched off of that one. Otherwise the change history is a bit noisy to review :)

Oh, yes, really, thanks. Didn't realize immediately that by default it requests to merge into 'main'. Changed base to 'main-version-12'.

Closing this issue as we will have a push on paging. I will as discussed on slack open a separate issue where we discuss changes.


Replace several activation script snippets with declarative configuration

Motivation for this change
I find it difficult to understand what the dependencies are between the fragments of scripts that implement stage-2 init and activation. This branch illustrates several ways of eliminating some fragments of those scripts in favor of systemd tools like tmpfiles.d. In one case I found the snippet was not necessary at all, as far as I can tell.
As I reported in #47550, using tmpfiles.d is not entirely safe on NixOS, but so many things rely on it at this point that I think that just needs to be fixed, rather than continuing to use activation snippets to avoid the problem.
Things done
This series changes only modules that I'm personally using. I've tested these patches against my personal system config in QEMU, by first starting with an empty disk and verifying that first-boot comes up without errors; then rebooting the VM and verifying that stage-2-init still works with an already-initialized filesystem; and finally running /run/current-system/bin/switch-to-configuration test and verifying that activation on a running system works.
I don't know which NixOS tests are relevant and haven't figured out how to run any of them yet, so presumably I need to go read some documentation somewhere...

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

This is a lot of critical stuff changed here. This will need some testing.

Tests can be run by calling nix-build on the file in questions. Some file contain test sets in which case you can run nix-build ./file.nix -A subtest.

@GrahamcOfBorg test boot.biosCdrom boot.netboot boot.uefiUsb

@GrahamcOfBorg test boot.boot-stage1

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: tests.boot.boot-stage1
Partial log (click to expand)
Cannot nix-instantiate `tests.boot.boot-stage1' because:
error: attribute 'boot-stage1' in selection path 'tests.boot.boot-stage1' not found

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: tests.boot.boot-stage1
Partial log (click to expand)
Cannot nix-instantiate `tests.boot.boot-stage1' because:
error: attribute 'boot-stage1' in selection path 'tests.boot.boot-stage1' not found

@GrahamcOfBorg test boot-stage1

@GrahamcOfBorg test containers-imperative

Success on x86_64-linux (full log)
Attempted: tests.boot-stage1
Partial log (click to expand)
machine: exit status 1
syncing
machine: running command: sync
machine: exit status 0
test script finished in 7.98s
cleaning up
killing machine (pid 600)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/cdh89mnbdqgf3s7h4sl8bwrzbrqq7g2a-vm-test-run-boot-stage1

Success on x86_64-linux (full log)
Attempted: tests.containers-imperative
Partial log (click to expand)
machine: exit status 1
syncing
machine: running command: sync
machine: exit status 0
test script finished in 34.24s
cleaning up
killing machine (pid 597)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/ky6mv5fn2i2jwwyqqxv1y28lawbkd9hq-vm-test-run-containers-imperative

Success on aarch64-linux (full log)
Attempted: tests.containers-imperative
Partial log (click to expand)
machine: exit status 1
syncing
machine: running command: sync
machine: exit status 0
test script finished in 59.59s
cleaning up
killing machine (pid 631)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/a6nnc7x38bb6y8x9yb31cn66422lq2m0-vm-test-run-containers-imperative

Success on aarch64-linux (full log)
Attempted: tests.boot-stage1
Partial log (click to expand)
machine: exit status 1
syncing
machine: running command: sync
machine: exit status 0
test script finished in 52.01s
cleaning up
killing machine (pid 631)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/x0f279gq59f6374j54pk7z3d8x18mj4v-vm-test-run-boot-stage1

Failure on aarch64-linux (full log)
Attempted: tests.boot.netboot
The following builds were skipped because they don't evaluate on aarch64-linux: tests.boot.biosCdrom, tests.boot.uefiUsb
Partial log (click to expand)
building '/nix/store/012672nrqa16d0a92v194siirza1m9y0-vm-test-run-boot-netboot.drv'...
running the VM test script
machine: starting vm
machine# qemu-system-aarch64: -enable-kvm: No machine specified, and there is no default
machine# Use -machine help to list supported machines
error: QEMU died prematurely
Died at /nix/store/315069h7r2ph5j9qkdgf1mg6xp9jfvkh-nixos-test-driver/bin/.nixos-test-driver-wrapped line 112.
cleaning up
builder for '/nix/store/012672nrqa16d0a92v194siirza1m9y0-vm-test-run-boot-netboot.drv' failed with exit code 4
error: build of '/nix/store/012672nrqa16d0a92v194siirza1m9y0-vm-test-run-boot-netboot.drv' failed

Success on x86_64-linux (full log)
Attempted: tests.boot.biosCdrom, tests.boot.netboot, tests.boot.uefiUsb
Partial log (click to expand)
machine# [  646.539777] [2829]: Failed to unmount /iso: Device or resource busy
machine# [  646.547642] ACPI: Preparing to enter system sleep state S5
machine# [  646.550209] reboot: Power down
collecting coverage data
syncing
test script finished in 677.64s
cleaning up
/nix/store/6ns4pb600xm5k0a0bvqwsh7lj15v56y1-vm-test-run-boot-bios-cdrom
/nix/store/1wkwi0rq21rg3fakn1x627zpkdp89sfq-vm-test-run-boot-netboot
/nix/store/a2scfnjwipf4zyb0046ixaglsbmdimg2-vm-test-run-boot-uefi-usb

I and @flokli are happy to have a closer look and review this. We were actually working on something very similar during the All Systems Go Hackfest this weekend and have some (very unstructured)  notes here. https://hackmd.io/vFdKH1PpT5CbAp45SxOlAw#
Guess the section about "Cleanup" is most relevant. Rest is just our rambling of stuff we learnt at the conference

Excellent!
So 10e865051548f39e8bff205ea09a648c49304d11 will allow actually making proper use of "Storage=auto".
Until now auto was essentially an alias of persistent ;-)

@xaverdh Yes! Assuming that commit gets merged, I think there should also be a new config option for journald.conf's Storage setting so people can pick which mode they want. I just figured this pull request was invasive enough without adding that change to it as well.


DBZ-5173 Add some user case data for unsigned bigint converter

https://issues.redhat.com/browse/DBZ-5173
There is no change for unsigin bigint converter, just add some user case data for unsigned bigint

@harveyyue Hi, it seems to me that this PR is unnecessary. Am I right?


Label Metal render encoders with group markers

This makes debugging Metal captures much easier to follow.

Note that <stack> includes <deque> which includes <algorithm>. After Mathias makes some containers we should do a big cleanup.

Agreed.


Ledger : Issue with 'Hiro wallet wants to connect 'pop up box

User testing Ledger with web wallet on Windows 11
PR:https://github.com/hirosystems/stacks-wallet-web/actions/runs/2353152234
The screenshot below shows an additional popup on the left-hand side with ledger flow when the user tests the ledger (Is this an expected design)
The reason is that the popup box looks very plain and isn't complying to the design stands of Hiro ledger onboarding screens
Issue 1:  The user is not provided with any instruction if they should select Nano S (or not) on the left popup dialogue box
Issue 2: The user can only move to the next screen upon selecting Nano S from the left popup box which will then only highlight the Connect box thus allowing the user to continue

This is expected behavior since we can't customize the popup on the left. It's a native browser UI component.


Remove crypto-js

A follow up for https://github.com/bower/bower/issues/120#issuecomment-85257405 and https://github.com/bower/bower/issues/120#issuecomment-84255071
This package cannot be unregistered by author since author has deleted the Github repository.
Please delete manually.
Or replace the package reference
From: git://github.com/Jeff-Mott-OR/CryptoJS.git
To: git://github.com/evanvosberg/crypto-js.git

Re-registered crypto-js to git://github.com/evanvosberg/crypto-js.git :arrow_right: cc @evanvosberg

dis$ bower install crypto-js --save
bower crypto-js#*           not-cached git://github.com/Jeff-Mott-OR/CryptoJS.git#*
bower crypto-js#*              resolve git://github.com/Jeff-Mott-OR/CryptoJS.git#*
bower crypto-js#*           not-cached git://github.com/Jeff-Mott-OR/CryptoJS.git#*
bower crypto-js#*              resolve git://github.com/Jeff-Mott-OR/CryptoJS.git#*
bower crypto-js#*              ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/Jeff-Mott-OR/CryptoJS.git", exit code of #128

Still points to the same deleted repo. Please double check.

Cleaned the cache, after that works OK. But I don't think that this is user-friendly...

what isn't, caches?

Caches...

Users have to manually reset caches in case package was relocated and user has seen original URL.


Build VS2015 Win10 Errors

Hi,
I Try Build SOCI in VS2015 and Win10...:
https://gist.github.com/patodeborracha/a1fa994d3b511a9ef98e#file-gistfile1-txt
What i do?
Thank You!

On Mon, 24 Aug 2015 05:03:41 -0700 patodeborracha<EMAIL_ADDRESS>wrote:
p> I Try Build SOCI in VS2015 and Win10...:
p> https://gist.github.com/patodeborracha/a1fa994d3b511a9ef98e#file-gistfile1-txt
p>
p> What i do?
I thought this was fixed in 3.2 branch as well, but it definitely was in
the master, so I'd recommend getting the latest sources from git and using
them instead, especially if you're just starting with SOCI.
Regards,
VZ

I'll Try it..
Thank You!

I haven't tried to build SOCI with VS2015 yet, so I might have missed some of the fixes in branch release/3.2. However, I'll be happy to apply any fixes for VS2015 to both, the master and 3.2.

@patodeborracha Could you please retest on latest master?
I suspect https://github.com/SOCI/soci/commit/bb79b6074879aaef5643521e414417fcafdd7352 should fix your problem.


compatibility with Symphony 2.6.2

is this planned for near future?
Warning: Uncaught exception 'ErrorException' with message 'require_once(/Users/ctin/repos/w/extensions/image_upload/fields/field.image_upload.php): failed to open stream: No such file or directory' in /Users/ctin/repos/w/extensions/multilingual_image_upload/fields/field.multilingual_image_upload.php:7 Stack trace: #0 /Users/ctin/repos/w/extensions/multilingual_image_upload/fields/field.multilingual_image_upload.php(7): GenericErrorHandler::handler(2, 'require_once(/U...', '/Users/ctin/rep...', 7, Array) #1 /Users/ctin/repos/w/extensions/multilingual_image_upload/fields/field.multilingual_image_upload.php(7): require_once() #2 /Users/ctin/repos/w/symphony/lib/toolkit/class.fieldmanager.php(574): require_once('/Users/ctin/rep...') #3 /Users/ctin/repos/w/symphony/content/content.blueprintssections.php(483): FieldManager::create('multilingual_im...') #4 /Users/ctin/repos/w/symphony/lib/toolkit/class.administrationpage.php(705): contentBlueprintsSections->__viewEdit(NULL) #5 /Users/ctin/repos/w/symphony/lib/toolkit/class.a in /Users/ctin/repos/w/extensions/multilingual_image_upload/fields/field.multilingual_image_upload.php on line 7
Fatal error: main(): Failed opening required '/Users/ctin/repos/w/extensions/image_upload/fields/field.image_upload.php' (include_path='.:/usr/local/Cellar/php56/5.6.2/lib/php') in /Users/ctin/repos/w/extensions/multilingual_image_upload/fields/field.multilingual_image_upload.php on line 7

This should work with all the latest versions. Please reopen if needed.


[$1000] iOS - Chat - Can't download webp format image after it was upload to chat

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

Issue found when executing PR https://github.com/Expensify/App/pull/16031
Action Performed:

Open the app
Login with any account
Go to any chat
Put on + button -> Add attachment -> send a webp format image as a file
Open uploaded attachment -> download it

Expected Result:
An attachment is download
Actual Result:
Can't download attachment, an error appears
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/228081066-5462eea5-9a44-4d7c-98ec-4d659b69488a.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ce67f235c93f2d4c
Upwork Job ID:<PHONE_NUMBER>704184320
Last Price Increase: 2023-04-19

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

Bug0 Triage Checklist (Main S/O)

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

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

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

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

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

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

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

@youssef-lr I kind of wonder if we should put this issue on hold and handle it as part of supporting more file types, basically more formally than we do today? At the moment, I'm not really sure that this is technically a bug.

@JmillsExpensify Whoops! This issue is 2 days overdue. Let's get this updated quick!

@JmillsExpensify Still overdue 6 days?! Let's take care of this!

Ok coming back to this. I wasn't able to successfully reproduce this. I would normally say we shouldn't bother, but we do officially support this file format, so I'm going to open this up for proposals.

Job added to Upwork: https://www.upwork.com/jobs/~01ce67f235c93f2d4c

Current assignee @JmillsExpensify is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @sobitneupane (External)

Triggered auto assignment to @marcochavezf (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

I was unable to reproduce this on the latest main branch.

It seems it related to some IOS devices where it's not support webp

If this were the case, the image wouldn't have even displayed in the first place. webp images are not supported on iOS prior to v14.

@kbecciv could you try to reproduce this again? Seems this is no longer an issue (maybe was fixed recently?)

@marcochavezf Let me check with QA team, will post you results shortly

Proposal
Please re-state the problem that we are trying to solve in this issue.
iOS - Chat - Can't download webp format image after it was upload to chat
What is the root cause of that problem?
iOS cannot save webp photos
What changes do you think we should make in order to solve the problem?
iOS 14+ supports decoding webp images, but the support is not very good
Solution A

We do not perform format conversion, we can save it in the file app, but we may need to give the user a little hint to find it in the file app
https://github.com/Expensify/App/blob/3abe7b2f9e38dba42edf406ca1b1e19087f5599d/src/libs/fileDownload/index.ios.js#L74-L75

if (/\.webp$/.test(attachmentName)) {
    fileType = CONST.ATTACHMENT_FILE_TYPE.FILE
}
...
FileUtils.showSuccessAlert('you can find it in File app Expensify floder')

Solution B.

We can use cloudfront for format conversion, and the backend can add a format parameter to the image url and forward it to cloudfront
https://github.com/Expensify/App/blob/3abe7b2f9e38dba42edf406ca1b1e19087f5599d/src/libs/fileDownload/index.ios.js#L74-L75

if (/\.webp$/.test(attachmentName)) {
    fileUrl += '&format=jpeg'
}

Solution C.

We can perform format conversion, if SDWebImage+WebP can be imported, we use it to decode, we use it to decode, then we convert to jpeg, and then we save
https://github.com/react-native-cameraroll/react-native-cameraroll/blob/d12368ba7326c696a4fb25cd878c77efcb822f8c/ios/RNCCameraRoll.mm#L166

} else if ([[inputURI.pathExtension lowercaseString] isEqualToString:@"webp"]) {
    NSData *data = [NSData dataWithContentsOfURL:inputURI];
    UIImage *image;
    #if __has_include(<SDWebImageWebPCoder/UIImage+WebP.h>)
	image = [UIImage sd_imageWithWebPData:data];
    #else
	image = [UIImage imageWithData:data];
    #endif

    image = [UIImage imageWithData:UIImageJPEGRepresentation(image, 1)];

    assetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
}

What alternative solutions did you explore? (Optional)
Not Yet

@JmillsExpensify @marcochavezf @sobitneupane this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@JmillsExpensify @marcochavezf @sobitneupane this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

Let me check with QA team, will post you results shortly

@kbecciv Was the QA team able to reproduce the issue?

Issue is still reproductible on build <IP_ADDRESS>
https://user-images.githubusercontent.com/93399543/230937730-88f9242d-a1e3-4113-aee3-6ef74b8a69e2.MP4

Gentle bump @marcochavezf https://github.com/Expensify/App/issues/16599#issuecomment-1502966878

Issue is still reproductible on build <IP_ADDRESS>

Oh interesting, @kbecciv do you know which version of iOS or iPhone was used to reproduce the issue?

I try to reproduce it but the webp images load fine for me. I think we should close this issue if the bug only happens only in old iPhone devices.

@JmillsExpensify @marcochavezf @sobitneupane this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

@marcochavezf Are you sure it's only old iPhones? This bug is not about uploading webp photos but downloading them. For that part, I am able to reproduce.

@marcochavezf Are you sure it's only old iPhones? This bug is not about uploading webp photos but downloading them. For that part, I am able to reproduce.

The Apple documentation only mentions iOS 14+ for webp support, and some of us are unable to reproduce it. That's why I thought it happened on old iPhones. @kbecciv could you confirm if the issue is reproducible on iOS 14+?

Should we also do the conversion? Should we convert it across all platforms or just for IOS? To which format should it be converted?

If the issue is only happening on iOS, I think we should fix it there only.

@hellohublot Will you please update your proposal based on https://github.com/Expensify/App/issues/16599#issuecomment-1517123274. We should allow users to download webp format in other devices and should perform conversion only in IOS.

@marcochavezf Ah ok cool, thanks for the clarification. I agree with only fixing this on iOS only.

@sobitneupane Thanks
I have removed my Solution A, but I still keep Solution B available
https://github.com/react-native-cameraroll/react-native-cameraroll/pull/489
I have submitted a PR for Solution C, if my PR can't be accepted, So solution B is still available

@JmillsExpensify @marcochavezf @sobitneupane this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

Decide whether any proposals currently meet our guidelines and can be approved as-is today
If no proposals meet that standard, please take this issue internal and treat it as one of your highest priorities
If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

Current assignee @sobitneupane is eligible for the Internal assigner, not assigning anyone new.

Looks like associated PR on https://github.com/react-native-cameraroll/react-native-cameraroll repo is under review.

@sobitneupane Thanks, The upstream pr has been merged and published, you can try it now "@react-native-camera-roll/camera-roll": "5.4.0",

Thanks for the upstream @hellohublot! Could you create a PR to update the camera-roll npm package?

Current assignee @JmillsExpensify is eligible for the External assigner, not assigning anyone new.

Current assignee @sobitneupane is eligible for the External assigner, not assigning anyone new.

Current assignee @marcochavezf is eligible for the External assigner, not assigning anyone new.

📣 @hellohublot You have been assigned to this job by @marcochavezf!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

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

Issue not related to our App. Issue was existent on https://github.com/react-native-cameraroll/react-native-cameraroll and was solved by https://github.com/react-native-cameraroll/react-native-cameraroll/pull/489

Alright, circling back on this issue. It looks like our payouts should be:

Contributor: @hellohublot $1,500
Contributor: @sobitneupane $1,500

I've already invited Sobit. @hellohublot mind sharing your Upwork profile so I can hire you as well?
P.S. @sobitneupane I think this approach sounds reasonable.

@JmillsExpensify Thanks. https://www.upwork.com/freelancers/~01509ca2c74bfc7073

Apologies for the delay guys. I went OOO and I'm just coming back. I'm closing the loop on the payments now.

@sobitneupane has been paid out and I just invited @hellohublot. As soon as you're able to answer the invite, I'll issue contract, payment and bonus. Thanks!

Thanks for the quick response. Everyone should have been paid out now and now regression tests are outstanding. I'm closing this one out!


Fixed #285: Delete confirmation blocked by passcode screen

Does this fix mean that if someone starts the GnuCash AccountsActivity with an Intent and supplies the appropriate request code, they can bypass the passcode screen completely?

Yes, it does.

hmm, I think it is better in that case not to include this patch.
The original problem which the user reported in #285 will go away anyways and I think better to input the passcode one time too often as one time less.
But thank you for the quick response to this!

NAVER - http://www.naver.com/
<EMAIL_ADDRESS>님께 보내신 메일 <Re: [gnucash-android] Fixed #285: Delete confirmation blocked by passcode screen (#286)> 이 다음과 같은 이유로 전송 실패했습니다.

받는 사람의 메일박스 용량이 가득 찼습니다.


Use agonistic IP parsing & Manual Tokio selection

Should solve #52 and #47?

I tried to test this with the aio example, but it didn't compile for me (OSX Big Sur). Failed at igd.
Is there something I'm doing wrong?
Partial output of : cargo run --features=aio --example aio <IP_ADDRESS>:4321
   Compiling tokio v1.0.1
...
   Compiling igd v0.12.0 (/Users/darrin/src/t/rust-igd)
error[E0433]: failed to resolve: use of undeclared crate or module `tokio`
 --> src/aio/search.rs:6:5
  |
6 | use tokio::net::UdpSocket;
  |     ^^^^^ use of undeclared crate or module `tokio`

I tried to test this with the aio example, but it didn't compile for me (OSX Big Sur). Failed at igd.
Is there something I'm doing wrong?
Partial output of : cargo run --features=aio --example aio <IP_ADDRESS>:4321
   Compiling tokio v1.0.1
...
   Compiling igd v0.12.0 (/Users/darrin/src/t/rust-igd)
error[E0433]: failed to resolve: use of undeclared crate or module `tokio`
 --> src/aio/search.rs:6:5
  |
6 | use tokio::net::UdpSocket;
  |     ^^^^^ use of undeclared crate or module `tokio`

Hey thanks for this. Looks like I misconfigured the CI, it was not running for pull requests. Can you push again to trigger it?

Hey thanks for this. Looks like I misconfigured the CI, it was not running for pull requests. Can you push again to trigger it?

Tokio 0.2 and especially 0.3 are obsolete at this point, there's little sense in providing support for them.

Tokio 0.2 and especially 0.3 are obsolete at this point, there's little sense in providing support for them.

@vorot93 well I used this project in actix and 3.x is still using tokio 0.2 this point...maybe i misconfigured something?

@vorot93 well I used this project in actix and 3.x is still using tokio 0.2 this point...maybe i misconfigured something?

@stevefan1999-personal Hey, this issue is a blocker for me too, as I need support for dual-stack LAN. If needed, I can take over this PR.
I can also just make my own if you'd prefer (still based off yours, yours has good work that doesn't need to be duplicated)

@Silvea12 You still interested

@canewsin I jumped over to use rupnp for what I was doing instead, though I am no longer really touching this anymore, and it's been long enough I don't remember what changes I planned to make unfortunately.
It generally looks like this crate isn't maintained anymore (last commit 17 months ago) so if I were you I'd either fork it or look elsewhere like I did.
A bit of sample code for IGD stuff in rupnp:
async fn get_igd() -> Result<(Device, Service)> {
    trace!("Discovering root node");
    let discovered_devices =
        rupnp::discover(&SearchTarget::RootDevice, Duration::from_millis(5000))
            .await?
            .filter_map(|e| e.ok());
    pin!(discovered_devices);

    let root_device: Device = discovered_devices
        .next()
        .await
        .ok_or_else(|| eyre!("No root device found, maybe UPnP is disabled?"))?;

    trace!(url = %root_device.url());

    for service in root_device.services_iter() {
        trace!(service_type = %service.service_type(), service_id = service.service_id());
    }

    trace!(device = root_device.friendly_name(), "Discovering services");
    let service = root_device
        .services_iter()
        .find(|service| {
            let urn = service.service_type();
            urn.domain_name() == "schemas-upnp-org"
                && urn.typ() == "WANIPConnection"
                && urn.version() <= 2
        })
        .cloned()
        .ok_or_else(|| eyre!("IGD not supported on your router."))?;

    Ok((root_device, service))
}


Query structure, session pinning

Hey, I'm attempting to deploy Graphback into a serverless environment (AWS Lambda) that uses AWS RDS Proxy to manage connections to the database. The proxy is supposed to multiplex connections, but it seems there is not multiplexing occuring whatsoever. This is leading to extremely bad performance.
I'm just wondering if there is anything in the PostgreSQL queries being created by Graphback that might cause session pinning in AWS RDS Proxy.
From the AWS docs linked to below:

Multiplexing is more efficient when database requests don't rely on state information from previous requests. In that case, RDS Proxy can reuse a connection at the conclusion of each transaction. Examples of such state information include most variables and configuration parameters that you can change through SET or SELECT statements. SQL transactions on a client connection can multiplex between underlying database connections by default.

Does Graphback set any kind of state information needed across requests? I can't believe how poorly my proxy is performing, and I hope to have a little insight if anyone here knows. Thank you!
More information on pinning: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html#rds-proxy-pinning

Automatically generated comment to notify maintainers
/cc @craicoverflow, @machi1990, @wtrocki

I think I've tracked down the most likely candidate...prepared statements. Does Graphback use prepared statements? Is there any way to turn them off if so?

Scratch the prepared statements for now, digging into my logs more I get to the following message:
2020-09-02T05:36:40.995Z [WARN] [clientConnection=3710375619] The client session was pinned to the database connection [dbConnection=1366424556] for the remainder of the session. The proxy can't reuse this connection until the session ends. Reason: A parse message was detected.

A parse message was detected.. Seems this might be related to extended queries? Any insight here? Is there anyway I can get rid of parse messages from within Graphback or Knex?

Seems this is going to be a problem with pg itself

We do not use prepared statements. Executed queries are very vanilla (anything that knex would do), however I believe that problem is related to your app configuration and unrelated to how we do queries.
I do think that if you use serverless and proxy knex needs to be properly configured to not create connection pool (the part inside your app that setup knex database, similar to our templates).
https://github.com/aerogear/graphback/blob/master/templates/ts-apollo-postgres-backend/src/db.ts#L17
Pinning cannot be avoided anyway in some situations but if you have an external pool source we need to configure knex to initiate a connection every time it makes request. I would also see this as possible problem with the slowness of lambda as creating connection pool setups them.
To confirm my thesis I have configured proxy on AWS and used pooling:
How this causing issues
If I setup knex to have pool of 50 connections it takes the entire proxy connection pool on each lamba startup.
This is not only going to take lots of time for the startup but also going to block any other functions from accessing the pool. The pool is usually working with I do see connections being released after the process is killed with some delay etc.
What our team can get from this
Offtopic - setting up graphback as a serverless function took me quite some time (without even touching subscription support) so it will be cool if we build some community template that graphback can use.

@lastmjs let me know if that helps you. As team we are devoted to your success using graphback. It was really nice to play with AWS capabilities - I never used lambdas and proxy before.

Thanks for getting back to me, you guys still rock!
So, as for your suggestion here:

I do think that if you use serverless and proxy, knex needs to be properly configured to not create connection pool (the part inside your app that setup knex database, similar to our templates).

How would I do this? I already have knex configured to have a min pool of 0 and max pool of 1. I'm not sure this is the issue, though I would like to try your suggestion.
From what I understand, knex makes a prepared statement every time. So all graphback queries are prepared statements. I found that out here: https://github.com/knex/knex/issues/3636#issuecomment-685405664
From all of my research, it seems that prepared statements are not supported in postgres proxies that do transaction pooling. This is true for AWS RDS and for pgBouncer. I've linked to the AWS documentation that says this above, and here is what pgBouncer has to say about it: https://www.pgbouncer.org/faq.html#how-to-use-prepared-statements-with-transaction-pooling
So really it seems to be the prepared statements. Not supported by transaction pooling proxies. Knex does prepared statements for everything, and there is no way to turn them off.
I've collected my research on the matter here on the node-postgres repo: https://github.com/brianc/node-postgres/issues/2327
When avenue that I have not gone down yet is attempting to use the libpq native bindings in node-postgres to access their binary mode or their . The binary mode

It is still maintaining connection especially that AWS lambdas.
Check https://github.com/knex/knex/issues/3464
There is sample app (broken) that knex maintainer explains how to fix.

Alternatively, it will be better to create fastify middleware to disconnect database (that will be quick and easy

I moved out and no longer have access to the env. Using Aurora seems like the best choice in terms of efficiency and cost. Let us know how this works.

I will let you know. I'm looking into optimizing my queries with indexes, VACUUM and ANALYZE. That doesn't seem to be having any affect. It looks like scaling the database with read replicas or going with Aurora Serverless might be the next options. I'll keep you updated.

After all of my testing, the best path forward seems to be Aurora Serverless with the Data API. The Data API claims to abstract away connection handling. I'll be extensively testing it in my staging environment. If it looks promising, I'll most likely be moving forward with it.
The problem now is how to hook up Graphback to use the Data API. It is an HTTP API that accepts SQL queries directly. I believe I would need to somehow intercept the SQL queries from knex or node-postgres to get this to work. Unfortunately, that path does not look very promising. I would love to know if you know of a way that this can be done.
Unfortunately, this might be the end of the road for me and Graphback on the project I've been using it on. I love Graphback, but we need more stability and conservatism moving forward. Graphback not being easily compatible with the Data API seems to be the nail in the coffin. We have to have direct control over our SQL queries.
I appreciate all of the help, and again if there is any simple way to allow Graphback to use the Data API, I would love to know soon.


Update data-aggregations.json

this should be abandonded in favor of the on init based fix, closing


Dense dataloader on FRANKENSTEIN dataset

🐛 Bug
The dataloader produced data.x with shape [batch size, node number, 0]
To Reproduce
import os
from torch_geometric.datasets import TUDataset
import torch_geometric.transforms as T
from torch_geometric.data import DataLoader, DenseDataLoader

max_nodes = 900

class MyFilter(object):
    def __init__(self):
        self.max_nodes = max_nodes
    def __call__(self, data):
        return data.num_nodes <= self.max_nodes and data.num_nodes > 0

transform = T.ToDense(max_nodes)
pre_filter = MyFilter()

ds = TUDataset(os.path.join("./tmp", "FRANKENSTEIN"),
                         name="FRANKENSTEIN",
                         transform=transform,
                         pre_filter=pre_filter)

train_loader = DenseDataLoader(ds, batch_size=16, shuffle=True)
for data in train_loader:
    x, adj, mask = data.x, data.adj, data.mask
    print(x.shape)

I think this is correct behavior since the FRANKENSTEIN does not come with discrete node features. Fixable by passing use_node_attr=True to the TUDataset.

My fault, thank you.


Chapter3/Homework/2

I had weird problem on the tests with the default .txt files. So I've created my own files to test. I've got directory not found exception with default files but I've pass all the tests with the files that I've created on desktop.

Thanks for the review. You guys are great!


Odometer is off by a power of 10

My odometer in the car shows 2154 km but volvo2mqtt shows 215 km.
Received 9:17:24 PM
QoS: 0
Payload: 215

Thanks! Will check this tomorrow.

You are right... The API delivers not the exact value. I multiply the value by ten. There is nothing more I can do at this time. Sorry...

Hm, what do you mean? If you multiply 215 by 10 you get 2150. That would be close enough. But 215 instead of 2154 is not really close ... 😉

Yes, you are right. But the api should deliver the full odometer value. It's very odd...

Yes. But multiplying by 10 works for me. Thanks for the quick fix.


git tfs clone not pulling files from TFVC instead initializes empty Git repository (without any folder like hidden .git)

Git TFS Version - <IP_ADDRESS> (TFS client library <IP_ADDRESS> (MS)) (64-bit)
Git Version - 2.24.0.windows.2
OS Name and Version - Windows 10 Enterprise and 10.0.18363
My TFVC Structure is -

My Issue here is when I try to run the git tfs clone command, its prompting for credentials and even after providing the credentials, the files are not pulled from TFVC and is always empty.
I have added the User Name and Password to Credential Manager as well as in git config.

But the directory does not contain any files.

Git Clone command that I use is below and is masked for security reasons.
git tfs clone http://ServerName:PortNumber/tfs/SomeName $/Test Name Migration/TestTemplates
Git Config

Also added the path in Env Variable
path D:\GitTFS and D:\GitTFS\git-tfs.exe
Can you please help in resolving this issue?

Sometimes, the branch is not checked out. Meaning that your workspace only contains the .git folder.
Please check if e.g. git reset --hard tfs/default fixes this for you.
Otherwise, the debug output under C:\Users\<user>\AppData\Local\git-tfs\git-tfs_log.txt  contains more information.

On second thought, the screenshot you have shown don't show any TFS branches. It looks like you have just folders.
Perphaps specifying --branches=none would help?

For both the below clone commands, getting the same logs
git tfs clone http://ServerName:PortNumber/tfs/SomeName $/Test Name Migration/TestTemplates
git tfs clone http://ServerName:PortNumber/tfs/SomeName $/Test Name Migration/TestTemplates --branches=none
2022-02-22 17:01:55.8311 [Info] Found matching Visual Studio version at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
2022-02-22 17:01:55.9248 [Debug] git command: Starting process: git rev-parse --show-prefix
2022-02-22 17:01:56.1592 [Debug] git stderr: fatal: not a git repository (or any of the parent directories): .git
2022-02-22 17:01:56.1592 [Debug] git command time: [00:00:00.2343706] rev-parse --show-prefix
2022-02-22 17:01:56.2061 [Debug] Command run:git tfs clone http://ServerName:PortNumber/tfs/SomeName $/Test Name Migration/TestTemplates
2022-02-22 17:01:56.2217 [Debug] No authors file used.
2022-02-22 17:01:56.2217 [Debug] git-tfs version <IP_ADDRESS> (TFS client library <IP_ADDRESS> (MS)) (64-bit)
2022-02-22 17:01:56.2217 [Info] Usage: git-tfs clone [options] tfs-url-or-instance-name repository-path
ex : git tfs clone http://myTfsServer:8080/tfs/TfsRepository $/ProjectName/ProjectBranch
2022-02-22 17:01:56.2373 [Info]   -h, -H, --help
-V, --version
-d, --debug                Show debug output about everything git-tfs does
-i, --tfs-remote, --remote, --id=VALUE
The remote ID of the TFS to interact with
default: default
-A, --authors=VALUE        Path to an Authors file to map TFS users to Git
users (will be kept in cache and used for all
the following commands)
--template=VALUE       Passed to git-init
--shared[=VALUE]       Passed to git-init
--autocrlf=VALUE       Normalize line endings (default: false)
--ignorecase=VALUE     Ignore case in file paths (default: system
default)
--bare                 Clone the TFS repository in a bare git repository
--workspace=VALUE      Set tfs workspace to a specific folder (a
shorter path is better!)
--ignore-regex=VALUE   A regex of files to ignore
--except-regex=VALUE   A regex of exceptions to '--ignore-regex'
--gitignore[=VALUE]    Use .gitignore to ignore files on download from
TFS. Alternatively, provide path toward the-
.gitignore file which will be used to ignore
files
--no-gitignore         Do not use .gitignore to ignore files on
download from TFS
-u, --username=VALUE       TFS username
-p, --password=VALUE       TFS password
--no-parallel          Do not do parallel requests to TFS
--all, --fetch-all     Fetch TFS changesets of all the initialized tfs
remotes
--parents              Fetch TFS changesets of the parent(s)
initialized tfs remotes
-l, --with-labels, --fetch-labels
Fetch the labels also when fetching TFS
changesets
-b, --bare-branch=VALUE    The name of the branch on which the fetch will
be done for a bare repository
--force                Force fetch of tfs changesets when there is
ahead commits (ahead commits will be lost!)
-x, --export               Export metadata
--export-work-item-mapping=VALUE
Path to Work-items mapping export file
--branches=VALUE       Strategy to manage branches:
* auto:(default) Manage the encountered merged
changesets and initialize only the merged
branches
* none: Ignore branches and merge changesets,
fetching only the cloned tfs path
* all: Manage merged changesets and initialize
all the branches during the clone
--batch-size=VALUE     Size of the batch of tfs changesets fetched (-1
for all in one batch)
-c, --changeset, --from=VALUE
The changeset to clone from (must be a number)
-t, --up-to, --to=VALUE    up-to changeset # (optional, -1 for up to
maximum, must be a number, not prefixed with 'C')
--ignore-branches-regex=VALUE
Don't initialize branches that match given regex
--ignore-not-init-branches
Ignore not-initialized branches
--ignore-restricted-changesets
Ignore restricted changesets
--resumable            if an error occurred, try to continue when you
restart clone with same parameters
2022-02-22 17:01:56.3311 [Info]
Find more help in our online help : https://github.com/git-tfs/git-tfs/blob/master/doc/commands/clone.md

Do you have spaces in your repo path, from the log it looks like you have.
$/Test Name Migration/TestTemplates
      ^    ^
     spaces

If so, please check #1402 for further information.

Yes it has spaces in the repo.
Below cmd worked in Git Bash
MSYS_NO_PATHCONV=1 git tfs clone -d http://TFSServerName:PortNUmber/tfs/RepoName/ "$/Test Name Migration"
Repo Path must be enclosed in double quotes without encoding like adding %20 for spaces. Thank you for pointing in the right direction. Closing this issue.


Dynamically adding component

I'm just getting started with ember and I've successfully added some ember components to my server-rendered app using ember islands!  But now I have a case where a fragment of html is fetched asynchronously from the server and added to the page.  In that html I'd like to define an ember island component.  Of course it does not render when inserted into the dom where ember has already booted.  Any thoughts on a way to render a component when it's inserted into the page after ember has booted?

I guess this was more of a general ember question.  I did it by resetting the app with Ember.Application.reset() when new components are dynamically added.  Probably not the best thing to do.

That's an interesting solution. It might be a little heavy since it clears out all the objects that Ember has, but in this case that might not be much.
Someone else asked this same question recently (maybe it was you!), so I'm wondering if we should come up with a better solution. The first thing that comes to mind is exposing some global function EmberIslands.rerender() that would check the list of rendered elements, tearing down any whose DOM element has been removed and adding new components whenever an new marker is found.
What do you think?

Mitch, I asked the same question and thanks for your response. Look forward to your solution for it.

A global function that handles removed/added island elements would be very useful in this situation.  I think it's better than resetting the ember application.  Thanks!
Your addon is a great bridge to introduce ember in a large, server rendered app.

I'd also love to see something like this! I'm loading remote modal content and I'd like to be able to have an ember component rendered in the modal

Note to self or someone else wanting to tackle this:
This can probably be accomplished while still adhering to the public API of Ember's components.

Add an option to install and remove a global reference to the component on init and destroy. It might even make sense to leave this up to users and add documentation. Users can then call the public rerender method on the component.

In the didUpdate or willUpdate hook (not sure which is better)

run queryIslandComponents again
destroy() any components that no longer have an element
rerender() components that are still on the page
call renderComponent for any new components

I'm interested in this as well 😀

Took a shot at this tonight. The implementation in Ember Islands simple, but there is an issue with how Ember handle's destroying root components that currently makes this infeasible.
As of this commit Ember does not remove root elements from the renderer when they are "cleaned up". This means that if you remove DOM, you'll be leaking memory since the list of components referenced by this._roots will never get smaller. In Ember Islands test with manifests with a error:
Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

Which comes when Glimmer is trying to clear the root component which is no longer in the DOM.
As always, landing splat in Ember would mean we could stop using multiple root elements which would fix this problem. Also I'm curious if the new Component Manager API could help us get away from rendering multiple root nodes.
In any event the next task here is probably to add a test to this file that shows you can use appendTo, call destroy and remove a root component:
https://github.com/emberjs/ember.js/blob/69c9f1e3b3e3c55a3ca0be9921d209394df00c7e/packages/ember-glimmer/tests/integration/components/append-test.js#L466

You can try out the new "rerendering" branch by adding this to your package.json:
"dependencies": {
  ...
  "ember-islands": "mitchlloyd/ember-islands#rerendering"
}

Then inside of an initializer, app.js, or any file that is imported in your Ember app:
import { reconcile } from 'ember-islands';
window.whateverNameYouWant = reconcile;

Then whenever you want to "update" your page you can call this global method.
window.whateverNameYouWant();

The reconcile function does 3 things:

Any placeholder elements that remain from the previous render will get a chance to update if the data-attrs have changed.
Any new placeholder elements will be populated with components.
Any missing placeholder elements will cause the removed components to be destroyed.

Let me know if it works out!
A few caveats:

You can't manipulate the DOM of a rendered component and expect things to behave in a sane way. I'm not sure what happens when you change or remove parts of the DOM from an Ember component and rerender it, but it might be weird. So you'll want to operate at the level of adding, removing, and updating Ember Island placeholders.
This implementation uses the identity of the placeholder elements to determine whether to rerender or initially render a component there. So if you render with a placeholder element, remove that element, and then replace it with an identical looking element, you'll end up with a new instance of that component. Likewise, changing the name of a placeholder (data-component="new-name") isn't supported (but could be). Updating the data-attrs property of a placeholder is supported.
With current versions of Ember, I believe you'll be leaking memory when every you teardown and rerender components. Based on the way your application works (e.g. if you periodically get a full-page refresh) this might not be an issue. If this is an issue, you may be better off using Application.reset() until the next version of Ember lands.

Hey @mitchlloyd, your rerendering branch is great! It's quite useful when not all JS lives within the Ember world. Many thanks for that one!
Are you going to open a PR of your rerendering branch? I would love to see it in master, if possible.

@felixibel Were you able to get this working on a project? If so great to hear! I definitely need to get feedback on this change since I don't have this use case myself.
I opened a PR (#46) with a few todos on it. I'm expecting to have time to tackle this by next week.

@mitchlloyd This is working in my project.  Very excited for this change!  I can confirm components are rendered/destroyed when the placeholder divs are added/removed from the page.
I'm not currently dynamically modifying the data-attrs on the div, but that is a cool idea and definitely useful.
Thanks for this!!

Published as 1.3.0


Add "{CRYPT}" detail to deployment-dev

Lost a couple hours to this subtle detail of the users_database.yml format. I was missing the {CRYPT} at the beginning of the hashed password line.
Alternatively, the hash-password tool could prepend this automatically, but I'm pretty new to Authelia, and so I thought a README edit was better first PR 😜

Thank you for this update @Peaches491. Please note that I will remove the necessity to prepend "{CRYPT}" in v4 because it's not mandatory at all for file-based users databases. I just wanted to mirror the behavior from OpenLDAP at the time.


What would be an efficient way to send buffer data from main to renderer?

webContents.send() uses strings. In my application I want to send about 512 bytes of data (arriving in Buffer) at about 60fps from the main process to a renderer process. What would be an efficient way without converting it to and from strings?

The most reliable way for this is to use shared memory, though it is not easy to find a solid implementation for Node.js.

I think shared memory is overkill for this amount of data, especially if there is no solid Node implementation. If there is no way to do binary IPC in Electron I think I will go for something like Redis pub/sub.


[Mothership Official] Swap Speed for Loyalty to match Player's Survival Guide

Changes / Comments
This fixes the inclusion of Speed and not Loyalty for NPCs on the Mothership Official character sheet.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ Y ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ Yes, I would say so. ] Is this a bug fix?
[ N ] Does this add functional enhancements (new features or extending existing features) ?
[ Style is unchanged ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ The NPCs shouldn't have Speed anyway, unless I'm completely mistaken. ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ N/A  ] 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.

Hi @rjaduthie
I'm going to reject this request on a couple of different issues:

Speed is an element used by a number of official Mothership modules. Removing it would be problematic for that reason.
Changes to this sheet need to be made via Pug, rather than by directly changing the HTML. Otherwise, the next time it is compiled from Pug your changes will be overwritten.

But surely Loyalty needs to featured on the sheet. It's a stat of an NPC featured in the PSG book.  I've not seen Speed used anywhere yet, although that's not to say it's not, of course; however, I have seen Loyalty (but not Speed) in The Black Pyramid.  Would you consider a feature request (or PR) to add it?


Update auto-merge.md

@msftgits : Thanks for your contribution! The author, @ meganbradley, has been notified to review your proposed change.

#sign-off


Add data with custom key?

Is it possible to add data to Firebase with a custom key as described in this SO question?
https://stackoverflow.com/questions/37483406/setting-custom-key-when-pushing-new-data-to-firebase-database
I have been playing around with at/set/update etc and always have a random key.

Hi @allsey87
Thank you for your contribution. I will fix it.

https://github.com/emreyalvac/firebase-rs/pull/36
Fixed.


Release 1.0.1

Release Checklist

Attention: the examples below use the version x.y.z but you should update them to use the version you're releasing.

Git Preparation

[x] Decide on a version number based on the current version number and the common rules defined in Semantic Versioning. E.g. x.y.z.
[x] Update this ticket name to reflect the new version number, following the pattern "Release x.y.z".
[x] Cut a branch for the new release out of the develop branch, following the gitflow naming pattern release/x.y.z.

Actually, this is a hotfix.

Code Preparation

[x] Update the code to use this version number.

[x] Update version and appVersion in helmchart/sdp/Chart.yaml.
[x] Update the constant Version in main.go

[x] Update the CHANGELOG.md file with the new version number and release notes.
[x] Run tests and linting, and make sure the version running in the default branch is working end-to-end. At least the minimal end-to-end manual tests is mandatory.
[ ] 🚨 DO NOT RELEASE before holidays or weekends! Mondays and Tuesdays are preferred.

Merging the Branches

[x] When the team is confident the release is stable, you'll need to create two pull requests:

[x] release/x.y.z -> main: 🚨 Do not squash-and-merge! This PR should be merged with a merge commit.
[x] release/x.y.z -> develop: this should be merged after the main branch is merged. 🚨 Do not squash-and-merge! This PR should be merged with a merge commit.

Publishing the Release

[x] After the release branch is merged to main, create a new release on GitHub with the name x.y.z and the use the same changes from the CHANGELOG.md file.

[x] The release should automatically publish a new version of the docker image to Docker Hub. Double check if that happened.

[x] ~Propagate the helmchart version update to the https://github.com/stellar/helm-charts repository.~ Not needed

Completed 🚀


solarpilot

test

Hi @dgkjxzw , I don't believe we're ready to merge this work into SSC at present. Perhaps you meant to merge some updates into your own fork?

@dgkjxzw, did you intend to submit this pull request?  Just checking, as it looks like possibly you did this inadvertently while testing something.