refactor(ui): add deferred config loading, use request context (#140)

Closes #140
📑 Description
TODO
✅ Checks

[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required

ℹ Additional Information

I know it's a draft, but before I forget to mention it: it only partially closes #140

I know it's a draft, but before I forget to mention it: it only partially closes #140

Thanks, but yes, that's why it's still a draft :stuck_out_tongue_closed_eyes:


strategic partnerships wrong taxid

The strategic partnerships tax_ids updated in tool spreadsheet:
https://docs.google.com/spreadsheets/d/1gsajrt_V-6rZxAoqD62O6H_y0ZDVVSwkPKGT99bBqHM/edit?gid=1917662552#gid=1917662552
https://github.com/ceumicrodata/firms/blob/9f2b6df1fceaac588b25e04520cce1cff6c728f8/src/consts.jl#L6
The ChatGPT results are wrong.

yes, i realized it made up the mumbers.

Updated on my branch:
https://github.com/ceumicrodata/firms/blob/figures_update/src/consts.jl


Sort NFT by most sales asc/dsc

add a view to the collection
gallery
profile

Related to #1023

this seems like it is already done but requires just a name change from cheapest/most expensive to asc/dsc

@yangwao @XyloDrone will check this one

@XyloDrone change these texts is all that is left right?

Yup! @cryptodamsky , I think we had another comment on the filters from the survey… can you recall what it was? :D

@XyloDrone should it be like this or just ASC ?

That’s great :D

Yup! @cryptodamsky , I think we had another comment on the filters from the survey… can you recall what it was? :D

Yup, it was sort by rank and volume :)

And we were also saying, that having - long time no interaction is kinda useless? No collector would probably look for this :D + its gonna show rly old stuff i guess?


Localize blog posts

Probably requires updates to the Sanity.io schema. Let's have a discussion about the best way to manage this data in the CMS.

We no longer want to do this. We can consider exploring multi-language posts when we know what the needs are for marketers.


Change location default value

Codecov Report

Merging #107 (e2e6e7b) into master (aaba09b) will increase coverage by 0.03%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #107      +/-   ##
============================================
+ Coverage     39.76%   39.80%   +0.03%
  Complexity      366      366
============================================
  Files           113      113
  Lines          2105     2103       -2
  Branches        195      194       -1
============================================
  Hits            837      837
+ Misses         1193     1191       -2
  Partials         75       75

Impacted Files
Coverage Δ

...n/java/seedu/travelr/model/component/Location.java
64.28% <ø> (ø)

src/main/java/seedu/travelr/model/trip/Trip.java
60.24% <ø> (ø)

src/main/java/seedu/travelr/ui/TripCard.java
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


fix broken images for artifacts and weapons

Hi @theBowja , would you kindly give me some feedback? I made this PR because it breaks the UI of my damage calculator like this:

Hi @theBowja , would you kindly give me some feedback? I made this PR because it breaks the UI of my damage calculator like this:

Sorry for being late. Thanks for contributing! Really glad to see visual confirmation of someone actually using my library.

Sorry for being late. Thanks for contributing! Really glad to see visual confirmation of someone actually using my library.


go.work

maybe worth adding a go.work to make the go.mod not so fat

This repo isn't meant to be depended on, so I'd rather avoid the extra complexity of a go.work.


Improve documentation: What the extension does

This is a very useful extension & project, and I am happy it exists.
I was intrigued to find that it actually seems to retain a lot of functionality from the real old TweetDeck. For example, it seems possible to add and remove members from lists, and to export them, etc.
I am however generally curious, what does this extension actually do, technically? How does it function as it does?
It would be good to explain more of this in the Readme. I was a bit hesitant to install it due to not knowing how it operates.
NB: I did not study the code itself, which I assume is possible for the technically literate.

It redirects tweetdeck requests to new apis or does whatever modification needed for request to continue to work, each endpoint is different in what it needs to continue to operate (and some dont need any changes at all)


chore: unify common db ops under one trait

Looking at #2926 . Some initial cleanup.

Looking at CI there seems to be a bug though … :(

@elsirion was missing range ending conditions in my implementation of delete_by_prefix for rocksdb.


Azure Route Server BGP flapping with NVA

Hello Team,
Can we update this troubleshooting document with following information?
Recently, I worked with customer, they deployed Azure Route Server and established BGP session with NVA (SD-WAN virtual appliance in Hub VNET), we were seeing BGP session flaps at random interval (not related to timers). After troubleshooting, we noticed that the reason for BGP session flap was because their appliance was advertising more than 1000 routes, which is current ARS limit, once we reduced the route advertisement. The BGP session remained stable.
This is another reason for flapping and we should add this as part of this troubleshooting guide
-Kirit Bhamre

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

ID: e625b676-34b0-a66e-2945-485e5966a9c5
Version Independent ID: ead92c69-2990-5d3b-6e9e-da57eaa362e3
Content: Troubleshoot Azure Route Server issues
Content Source: articles/route-server/troubleshoot-route-server.md
Service: route-server
GitHub Login: @halkazwini
Microsoft Alias: halkazwini

@kiritbhamre
Thanks for your feedback! We will investigate and update as appropriate.

@kiritbhamre we document the 1,000 prefix limit here. We'll consider linking the limits table to the troubleshooting guide.

@kiritbhamre
Thank you for your feedback!
I'll update the troubleshooting guide in May. I'll close this GitHub issue for now, but feel free to comment here as necessary.
#please-close


Don't run dependabot on forked repos

$subject

This is now disabled by default. For forks created before Nov 2022 you must disable on the fork explicitly as suggested in https://github.com/dask/dask/issues/9817#issuecomment-1420051981


Basic sync support

Fast-forward syncing with support for "merging" the bootstrap transaction.
Issues more or less resolved with this: #513, #514, #511

Rebased on top of master & the timelines work in #783, folded history together as it's not really valuable and needs to be retold.

On the db crate - yeah, I briefly thought about it and I decided that I don't have a good enough sense yet for how to optimally organize this stuff, but splitting high level metadata away from the top level is needed in some form.
My main goal was to separate that stuff out of the top-level crate, to enable nicer patterns for the internal consumers (well, just tolstoy for now). If we decide that it's better to keep shuffling this stuff a bit more to find it a better home, at least it should be easier from this point on, and the consumers building on top of the transaction crate won't be affected significantly - likely just a few import changes.
You're right that what's in the transaction right now is a thin layer on top of db, doing some bookkeeping one layer above it. I'm also not a fan of having Store and Conn at the top level, either - it makes writing tests that want to use a real Conn awkward, forcing them to be at the top level, away from the functionality that's being tested. The TestConn surrogate is a smell of that. So, there's more re-shuffling to be done! My hope is that little steps like this will inform what the ideal world looks like.

Wow, this has been open for 7 months. This is a good example of how "not to PR". Anyway...
The current state is as follows.
Part 1 is very non-controversial. It clears up the code base, introduces bunch of internal types and solidifies the general flow of things. As for mechanics of a sync beyond fast-forward scenarios, only a "no-op rebase of local on top of remote" is supported. That is, if a merge generates any assertions/retractions, we bail out.
A merge is essentially: "rewind local transactions, transact the remote transactions, then transact local. succeed if local transactions had no effect, bail out otherwise".
Part 2 takes things further, and generally allows anything one can throw at a transactor (sans implemention bugs and some TODOs). Except for schema alterations. It's fine to add new vocabulary (including at the same time, on both "remote" and "local", as long as it's defined the same way), but we bail out if we see changes to existing vocabulary. This is done largely so that we can address syncing of schema alterations by themselves.
A merge is essentially: "rewind local transactions, transact the remote transactions, then ensure local may be transacted, perform some modifications, transact them, and request a follow-up sync if that operation produced any new datoms."
Certain choices were made around handling of entids and retractions, which are non-optimal in some cases but produce understandable results - and are natural given the current approach.
General approach is to let the transactor handle merges, letting the schema dictate how that happens. A concrete manifestation of this:

:db/unique attributes will upsert. Asserting entities against non-unique attributes will naturally produce duplicates.

During a rebase, local entids are replaced with tempids. Retractions pose a challenge: a retraction won't allocate, so if a tempid mentioned in the retraction doesn't resolve, transaction will fail. If a retraction datom is by itself, its tempids will never resolve. Current approach is to replace tempids with lookup-refs whenever we see retractions that use tempids that we recognize won't resolve. Additionally, a lookup-ref mentioned in a retraction must resolve, and so we drop on the floor any retractions that fail to meet that criteria.
While all of this has certain limitations, it has very nice general property: an intuition about transactor's behaviour applies directly to sync's behaviour. Additionally, expanding what transactor accepts and supports will expand sync's capabilities with little additional effort. For example, if we ever add compound uniqueness, above sync mechanics should "just work" as you'd expect them.

Currently tests are failing due to a bug in the transactor: https://github.com/mozilla/mentat/issues/818


Added Reddit Sentiment Analysis Dataset

Added Reddit Sentiment Analysis Dataset that consists of Reddit User Comments along with their respective Sentiment Label

🛠 Fixes Issue

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Good one @Nupoor10
Congrats 🎉, your PR got merged. To be eligible for the swags from ClueLess. Follow these steps.

Star this repository. ⭐
Follow Clueless on GitHub
SignIn / SignUp in [ClueLess Website](https://www.clueless.tech/) .
Go to the profile section from the top right-hand corner.

Comment your profile URL under this comment tagging the person who merged your PR.

That’s it. Follow the leaderboard!
And don’t forget to share your achievement with your friends.

@nikhil25803
Here is my profile : - https://www.clueless.tech/profile/admin/92589912


Add support for cljfmt

I added config for yet one Clojure formatting tool. Unfortunately, I haven't found contribution docs, so I tried to use common sense.

Thanks for the PR!


Add devcontainer.json reference

Adding the devcontainer.json reference content so that it is available in this repo. Using a docs folder to contain this and any potential future docs we'd like to include.
cc @chrmarti @joshspicer @edgonmsft

Great to see this here :tada:

@chuxel @chrmarti I updated the folder structure to:
docs
-- images
-- specs
---- schemas
------ devcontainerjson-reference.md
------ supporting-tools.md
Let me know if that seems reasonable to you.

Hey team, do we think this is ready to merge? And we can always continue revising in the future?

@chrmarti Is the customizations.vscode update in the version of everything that just shipped?
I'm kind of thinking we should update this reference to call out what the customizations property is for under the "tool specific properties" section in the main reference, and then update the tool specific properties to reflect this change.

I have only added the customizations wildcard for now. customizations.vscode is not there yet.

I can hold off on merging until customizations.vscode is in, and then update this PR accordingly.

Closing in favor of https://github.com/devcontainers/spec/pull/33.


added scroll bar and gave space to popup messages

Bug description
Describe the problem
Solution description
Describe the code change in detail for reviewer. Explain the technical solution you have provided and how it fixed the issue case.
Which file changed
Clarify which file changed, for example “Added Hello World to index.js”
Covered unit test cases
Were unit test cases recorded for this fix?
Tested this issue fix on all browser
[x] Chrome
[x] Safari
[x] Internet Explorer
[x] Firefox
Keep Pull Request Simple
Pull Request is relatively small. It does not contain multiple changes or solve multiple problems.
Reviewed by Team members
Pull Request is reviewed by one or more team members
Idiomatic Code
Code follows industry standards for language, framework, and libraries.
Code is clear and maintainable:

[ ] My code follows the style guidelines of this project
[ ] My code is consistently formatted.
[ ] No instance on duplicate code.

Only request is to either comment out the secure okta rouets again (I think for now we decided that there's no need to have authentication or login needed for the app).


Nothing happens on emulators

I tried to check is billing supported and get sku details on emulators, but observable does not terminated at all. It hangs on service binding state, but it does not completes with error or success.
I tried Android Studio emulator with google APIs and genymotion emulator without it. All works fine on real device. What is the problem might be?

Are you using the sample project or your custom project?
It should work on an emulator with Google APIs installed. I will check on my side.

I noticed the same.  It can't connect to the InAppBillingService on the emulator.
The [docs mention this](https://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test isn't supported):

You cannot use the emulator to test In-app Billing; you must install your application on a device to test In-app Billing.


Suppress printing any announcements

When people print the documentation, omit any configured announcement. Printed documentation may well outlive an announcement, and also space on the printed page is a little more precious.
/kind cleanup
/area web-development

@sftim Chrome's print preview still shows the BLM banner text:

A PDF generated by firefox's print dialog also includes the text still.
To triple-check this, I also printed off the 1st page of the homepage's printout, and it showed up there too :(

We appear to be in the clear!
/lgtm

Ah eh, for the heck of it:
/approve


OpenCV 4.5.4 YOLOv5 V6.0

Hello @UNeedCryDear
I have trained the model YOLOv5s  yesterday but when I try to run inference in OpenCV 4.5.4 with the best.onnx it returns the following  error:
terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.5.4) /home/user/opencv-4.5.4/modules/dnn/src/layers/reshape_layer.cpp:106: error: (-215:Assertion failed) total(srcShape, srcRange.start, srcRange.end) == maskTotal in function 'computeShapeByReshapeMask'
I have downloaded your yolov5_opencv_dnn_cpp software today to test it, created a new project in Netbeans to run it and it doesn't work.
What is the proble here?
how do I surpass it?
Your work is great, I follow you!
Best regards.
Paulo Mendes

Hello @UNeedCryDear
Just to put my conclusion in this issue.
The problem was because I used the command $  python3 export.py --weights best.pt --img 736 --opset 12 --include onnx
With the command $  python3 export.py --weights best.pt --img 640 --opset 12 --include onnx
it works just fine with OpenCV 4.5.4
Thank you for your work.
Best Regards.
Paulo Mendes

if img=736,you should set _netWidth=736 and  _netHeight =736
https://github.com/UNeedCryDear/yolov5-opencv-dnn-cpp/blob/57007e38e167020b076e55342b21bf24e9b3d42b/yolo.h#L38

Thank you @UNeedCryDear


Classic type-instability is not detected

JET.jl is very impressive, thanks for all that work!
The documentation demonstrates how @report_opt identifies subtle type instabilities. However, it does not complain with this simple  type-unstable example:
pos(x) = x < 0 ? 0 : x
@report_opt pos(0.2) # no error

Maybe that is not in the scope of JET, in this case please just ignore this issue.
(I've used JET v0.5.2 and Julia 1.7)

In what sense, do you think there is a type instability?
Type instability is actually a very global concept.
pos returns Union{Int,Float64} for that case, but consider the following:
report_opt() do
    a = pos(0.2)
    if isa(a, Int)
        return a
    else
        return sin(a)
    end
end

This code is "type-stable", since all the types are known ahead of time.

The Julia manual shows this as bad example in the section Write "type-stable" functions. But I see, the type is actually defines as Union, although this may not be optimal for performance.
I thought maybe the @report_opt would include warnings from @code_warntype that may lead to poor performance.  That's just the view of a user that does not really understand and all the deep concepts :)

this may not be optimal for performance.

Again, it depends on which contexts you're using this Union.
Julia compiler can optimize this kind of Union fairly well, so there is no performance difference in this kind of code:
julia> foo(x) = pos(x)
foo (generic function with 1 method)

julia> pos(x::T) where T = x < zero(T) ? zero(T) : x
pos (generic function with 1 method)

julia> @btime foo(a) setup=(a = rand(Float64))
  1.134 ns (0 allocations: 0 bytes)
0.18057324108177852

julia> pos(x::T) where T = x < 0 ? 0 : x
pos (generic function with 1 method)

julia> @btime foo(a) setup=(a = rand(Float64))
  1.259 ns (0 allocations: 0 bytes)
0.1574274306772967

@report_opt inspects the optimized code that Julia compiler generates, so if it doesn't complain anything, you could say "there is no type instability in terms of optimization".

Let me close this issue since this behavior is very intentional. If someone wants to have an analyzer that reports something whenever it sees Union return type, they can use AbstractAnalyzer infrastructure.
Although I agree with avoiding Union return type as a good practice, but I'm not too much interested in reporting that unconditionally, as far as there are no practical performance issues related to that return type. If the Union return type confuses optimization, report_opt will raise an error anyway.


Works fine in Firefox 56, but no audio in 58 or chrome

No errors, browser says that it's accessing the speaker and the microphone, but no sound is coming out of my speakers.
This is an internal app with no outside access, so I can't link to it.
Using API Version: 2.1.4
Javascript
'use strict';

var sipStack = void 0;
var session = void 0;
function createSipStack() {
    sipStack = new SIPml.Stack({
        realm: 'URL_HERE', // mandatory: domain name
        impi: '100', // mandatory: authorization name (IMS Private Identity)
        impu: 'sip:100@URL_HERE', // mandatory: valid SIP Uri (IMS Public Identity)
        password: '100', // optional
        websocket_proxy_url: 'wss://URL_HERE:8089/ws', // optional
        enable_rtcweb_breaker: false,
        events_listener: { events: '*', listener: function listener(e) {
                // Events Listener Here
                console.info('stack event = ' + e.type);
                if (e.type === "started") {
                    onStackStart();
                }
            } }, // optional: '*' means all events
        ice_servers: [{ url: 'stun:stun.l.google.com:19302' }],
        sip_headers: [// optional
        { name: 'User-Agent', value: 'IM-client/OMA1.0 sipML5-v<IP_ADDRESS>' }, { name: 'Organization', value: 'Doubango Telecom' }]
    });
}

function onStackStart() {
    session = sipStack.newSession('call-audio', {
        audio_remote: document.getElementById('audio-remote'),
        events_listener: { events: '*', listener: function listener(e) {
                // Events Listener Here
                console.info('stack event = ' + e.type);
            } } // optional: '*' means all events
    });
}

var readyCallback = function readyCallback(e) {
    createSipStack(); // see next section
    sipStack.start();
};
var errorCallback = function errorCallback(e) {
    console.error('Failed to initialize the engine: ' + e.message);
};

SIPml.init(readyCallback, errorCallback);

(function ($) {
    $(window).load(function () {
        setTimeout(function () {
            alert("dialing 999");session.call("999");
        }, 1000);
    });
})(jQuery);
//# sourceMappingURL=client-sip.js.map

HTML:
<head>
    ....
    <script src='js/SIPml-api.js?v=2.1.4'></script>
</head>
<body class="cycle">
    <audio id="audio-remote" autoplay="autoplay"> </audio>
    ...
</body>

Console Log Output ( with url's and IP's stripped )
console.log.txt

Also, as a side note, the demo doesn't work in these browsers either.

It also works in the latest version of Opera

Having same issue with chrome even chrome to chrome call is not working.

I would like to mention that this has something to do with my computer.  Running it on other computers it works fine every time, but on this one desktop it doesn't work.  I'll provide a list of my chrome extensions in case that helps.


How to fix this issue for CHANGELOG.md: failed to parse markup

In Gitblit Web UI, the README.md file can be parsed well but failed for the CHANGELOG.md file. What do you think I could do to settle that issue?

Resolved
The abnormal Markdown link caused it. Such as: [example name]() with absent link target in the brackets. And deleted bracket [example name] or fixed target link will contribute to avoiding this error.

Closed since it has been resolved.


fixes #6877 - wrap text in views with t()

fixes #6877

Good, but 1.10.x please.

closing to retarget


Access _tesseract instance variable

Is there a way (by subclassing or by other means) to access the _tesseract instance variable? This would be interesting if we would like to further customize the Tesseract class. Or is there a better way to do this?

@joaomvfsantos, we don't have a good/safe way to provide access to the underlying tesseract variable right now.
I'm going to close this issue for now, but if there is specific functionality/customization you'd like to see in the library, please open a new issue so we can discuss adding it for you. Depending on the customization, a subclass-based solution (like you mentioned) may be possible.


node.child_value('Host') vs node.child('Host').value()

Hello,
i think i have a misunderstaning how the value/node access works.
Why node.child_value('Host') is working (returns the correct value) while
node.child('Host').value() returns an empty string?
node.child('Host') should return the node and i schould be able to acces the value, oder isn't it?
Hope you can explain...
regards

This is because plain character data lives in its own node; a motivating example is <Host>one<child/>two</Host> - there are two PCDATA nodes in this example, and Host node by itself doesn't have a value.
https://pugixml.org/docs/manual.html#dom.tree
https://pugixml.org/docs/manual.html#access.text


Step 9 did not work correctly

Step 9 was supposed to alter a table and add a column. This is being skipped when I manually execute the Jenkins pipeline. I have the correct ./migration files.
This is the URL of my Jenkins GUI
URL: http://localhost:8080/job/snowflake-devops-demo/
To Reproduce

Go to Jenkins Dashboard showing pipeline.
click on the Build with Parameters option in the left navigation bar.
Verify that all the parameter values look correct and click on the blue Build button to start the Pipeline.
See the logs.

Expected behavior
I expected the logs to have applied the latest changes in file V1.1.2__new_objects.sql. But it skipped this step. No errors. Just skipping, nothing to be done.
Screenshots

Desktop (please complete the following information):

OS: macOS Big Sur Version 11.5
Browser: Chrome
Version: Chrome version Version 92.0.4515.107 (Official Build) (x86_64)

Additional context
When I restarted the Docker image, I now get build errors.

Never mind what I wrote about builds failing. I figured out when I restart docker image, I have to run on the command line:
mradalj@C02F33KCMD6R migrations % docker exec -it -u root jenkins bash -c 'chmod 666 /var/run/docker.sock'
However, I still get the no-op running the pipeline. The alter table to add a column never gets applied.

Hi there @sfc-mradalj, thanks for going through this Quickstart and pointing out this issue. I have updated the Quickstart to include instructions on how to avoid this. In particular, please see the new "Additional Behaviours" setting under the "Creating the Jenkins Pipeline" section on step 6. Once you enable that your Jenkins pipeline will clone your repo on every execution.


Combine behavioral struct fields into sub-struct groupings

Some of the fields on Command are related and may be grouped together for clarity. For example, these Help.+ fields could be grouped together under a Help field:

HideHelp :arrow_right: Help.Hidden
HideHelpCommand :arrow_right: Help.CommandHidden

or these fields related to shell completion could be under a ShellCompletion field:

EnableShellCompletion :arrow_right: ShellCompletion.Enabled
ShellCompletionCommandName :arrow_right: ShellCompletion.CommandName

or all of these could be grouped under an Options or Config field (?):
cmd := &cli.Command{
    Name: "foo",
    Config: cli.CommandConfig{
        HideHelp: true,
        EnableShellCompletion: true,
    },
}

There are arguable tradeoffs, of course, such as:

nested fields are more difficult to reason about and more visually complex than a single level of fields
logical groupings of fields "hides" them from each other
depending on the "zero value" of simple types means that default values for certain behaviors are tightly coupled to the field names, e.g. HideSomething (default on) vs. EnableSomething (default off)
others I'm surely not thinking about

Ideas and questions and concerns wanted 🙇🏼

I understand this issue, but I think the way it is currently is just... good enough. I also
think that the less we break from v2, the better.
"Flat is better than nested." - The Zen of Python

Lets keep it for v2 compatibility.


Translations for awesome-typst?

I notice that there's a parallel project  https://github.com/typst-cn/awesome-typst-cn
Here's some existing awesome-$THING projects that do translations (to various degrees):

https://github.com/alebcay/awesome-shell
https://github.com/qazbnm456/awesome-web-security
https://github.com/tiimgreen/github-cheat-sheet
https://github.com/junnplus/awesome-python-books
https://github.com/jaywcjlove/awesome-mac
https://github.com/Kamigami55/awesome-chatgpt
https://github.com/lightningminers/awesome-indie

I think it would be good for the Typst ecosystem to centralize all the awesome stuff on one repository with translations in that one well-known repository instead of fragmenting across language-specific repositories. That's my opinion though, which is why I'm opening this issue 😊 to see if this is something that others want or if this isn't a priority.
What I'm proposing:
Merge https://github.com/typst-cn/awesome-typst-cn with this https://github.com/qjcg/awesome-typst repository.
cc @mintyfrankie @OrangeX4 @Liangdi @lucifer1004 from https://github.com/typst-cn/awesome-typst-cn contributors

Hey @jcbhmr, thanks for opening this issue!
I personally love the idea of merging. It would be great to have all of these great Typst community resources in one place.
Merging has the potential to at least somewhat reduce "drift" between the translations by keeping the different language versions closer together and increasing the chances community members will compare the two directly to keep them in sync.
@mintyfrankie @OrangeX4 @Liangdi @lucifer1004 what do you think?

Hi all,
Overall this can indeed be a great idea in my opinion. After all, we are talking about the same templates that are necessarily language-specific.Personally I'd love to contribute to merge or translate existing documents into the same repo to make this happen.
I see however two potential issues to sort out first in practice:

the Chinese equivalent repo has about one third of templates that are indeed written for a specific purpose: you've got the very first section that are 100% templates for essays and theses of universities in China; to see if we are to maintain a separate section for their audience, or to keep them exclusively in the Chinese version of the merged repo.

As you all might notice, the existing Chinese repo is maintained by an org typst-cn, who seems to have the intention to develop a community that goes simply beyond the awesome repo. I am not de facto in the community, so it might be interesting to reach out to the founders or active members for more discussions.

Whatsoever I think it is worthy of our efforts to bring two parallel communities together; I am interested to do more as a maintainer of multilingual template anyway!

I also believe that the awesome-typst-cn repository should be merged into the awesome-typst repository, making it more convenient for updates and maintenance. I do have concerns about two issues:
The first issue is how to keep the Chinese and English versions in sync. One suggestion is to keep the newly added English content synchronized in the Chinese version, and then wait for contributors to translate it.
The second issue is also about how to differentiate between universal content and language-specific content. For example, awesome-typst-cn contains many Chinese templates for Chinese university papers, which definitely need to be maintained independently.
PS: Currently, the typst-cn organization does not have active maintainers. Therefore, a new organization, typst-doc-cn, has opened a new awesome-typst-cn repository for maintenance.

The first issue is how to keep the Chinese and English versions in sync. One suggestion is to keep the newly added English content synchronized in the Chinese version, and then wait for contributors to translate it.

I don't think it necessarily needs to be exactly translated. For instance, some things might make more sense to be Chinese-only. Example from Chinese docs: https://typst-doc-cn.github.io/docs/chinese/

The first issue is how to keep the Chinese and English versions in sync. One suggestion is to keep the newly added English content synchronized in the Chinese version, and then wait for contributors to translate it.

This seems like a very good idea 👍

The second issue is also about how to differentiate between universal content and language-specific content. For example, awesome-typst-cn contains many Chinese templates for Chinese university papers, which definitely need to be maintained independently.

I think that's OK. Locale-specific awesome stuff is great! The point of localizing the list I don't think is to 1-for-1 translate it but instead to localize it and make it better than just running the content through a translator service or whatever. In this case, I think Chinese templates and university papers on the zh readme is great!

PS: Currently, the typst-cn organization does not have active maintainers. Therefore, a new organization, typst-doc-cn, has opened a new awesome-typst-cn repository for maintenance.

👍

We are making some progress here!
Surprised to learn that typst-cn doesn't have active maintainers anymore. Yet it seems like @OrangeX4 is also one of the maintainers for the new typst-doc-cn, so are we talking about transitioning to a single repository, or keeping these two repo paralleled?
I'd be happy to help if any next-steps can be identified.

@mintyfrankie for concrete actions to take, here's some ideas:

[x] open a PR to merge content from https://github.com/typst-doc-cn/awesome-typst-cn to this repo #162
[ ] open a PR to say "moved to README_zh.md in this repo" in https://github.com/typst-doc-cn/awesome-typst-cn
[ ] (maybe) open a PR to say "new list here" in https://github.com/typst-cn/awesome-typst-cn ? or if that doesn't work an issue like https://github.com/typst-cn/awesome-typst-cn/issues/18

I think that's good, and if awesome-typst agrees to this, I'll make typst-doc-cn/awesome-typst-cn archived, then we only need to maintain awesome-typst :-)


ldc fails to build for aarch64-linux

Steps To Reproduce
Steps to reproduce the behavior:

build ldc for aarch64-linux with nix-build -E '(import <nixpkgs> { crossSystem = "aarch64-linux" ; }).ldc'

Build log
gist
Additional context
While trying to solve this on my own, I was able to get past the ldc-bootstrap missing library by using an overlay to create an ldcBootstrap package that provided the library.
However, ldc still failed to build after that.
$ nix-build -I nixpkgs-overlays="$PWD/ldc-bootstrap.nix" -E '(import <nixpkgs> { crossSystem = "aarch64-linux" ; }).ldc' 2>&1 | tee ~/ldc.log

# $PWD/ldc-bootstrap.nix
[
	(
		self: super: {
			ldcBootstrap = (
				super.callPackage <nixpkgs/pkgs/development/compilers/ldc/bootstrap.nix> {}
			).overrideAttrs ( previousAttrs: {
				buildInputs = previousAttrs.buildInputs ++ [ super.stdenv.cc.cc.lib ];

				preFixup = ''
				addAutoPatchelfSearchPath $(
					find ''${buildInputs} \( -ipath '*/${super.stdenv.hostPlatform.config}/lib' -a -type d \)
				)
				'';
			});
		}
	)
]

gist
Notify maintainers
@ThomasMader
@lionello
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.112-1.fc32.qubes.x86_64, Debian GNU/Linux, 11 (bullseye), nobuild`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.3.7`
 - channels(user): `"nixos-21.11.337846.2a9a64710a3, nixpkgs-22.11pre385191.3c2068d6c90"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/user/channels/nixpkgs`

Closing since I don't think this is actionable. https://hydra.nixos.org/job/nixpkgs/trunk/ldc.aarch64-linux/all indicates successful aarch64-linux builds both now and at the time of this report. The user (and their logged gists) are gone, so we wouldn't even know if we duplicated this failure...


Add a test for launching pod with non-root user and ephemeral volume.

High-level description
Add an integration for launching pod with non-root user and ephemeral volume
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS-47640 Add an integration test for launching pod with non-root user and ephemeral volume.

Related tickets (optional)
Other tickets related to this change:

DCOS-47501 Pod cannot be launched with non-root user.
DCOS-39884 Volume ownership and permission improvements.

Checklist for all PRs

[ ] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change:
[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@qianzhangxa Could you rebase?

@Gilbert88 Done.


Identifiers validation failed for dataset Estructura y variación geográfica de las asociaciones de diatomeas bentónicas de la Península de Baja California; Bahía de La Paz

Identifier validation failed for the dataset Estructura y variación geográfica de las asociaciones de diatomeas bentónicas de la Península de Baja California; Bahía de La Paz:

Crawler attempt: 269
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 762
Cause: GBIF IDs hit maximum allowed - 50%, duplicates - 100%, total records count 762, absent records count 762
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3072999/step

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Estructura y variación geográfica de las asociaciones de diatomeas bentónicas de la Península de Baja California; Bahía de La Paz : https://doi.org/10.15468/xxoovf.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset Estructura y variación geográfica de las asociaciones de diatomeas bentónicas de la Península de Baja California; Bahía de La Paz:

Crawler attempt: 272
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 762
Cause: GBIF IDs hit maximum allowed - 50%, duplicates - 100%, total records count 762, absent records count 762
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3093912/step

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Estructura y variación geográfica de las asociaciones de diatomeas bentónicas de la Península de Baja California; Bahía de La Paz : https://doi.org/10.15468/xxoovf.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.


How to use ergo epmd instead of standard Erlang epmd?

Hi, first of all I would like to congratulate you for the excellent project.
I would like to know if and how it would be possible to run the epmd you provide instead of the standard Erlang epmd.
I would also like to know if there is any benchmark of you just doing the drop-in replacement of epmd using applications written purely in Erlang/Elixir.
Can you help me ?

Thanks a lot.
Ergo node has embedded epmd service. Here is how it works when the node is starting...

try to start embedded empd service.
if port is already taken by another process (Erlang's epmd or another Ergo node) it works as an epmd-client only.
if embedded empd is started successfully (could have started to listen on the defined port) the Ergo node is using that one.
if Ergo node lost connection with epmd (another Ergo node with started empd service went down or Erlang's empd was killed by some reason) - go to 1.

You may also want to use go get -u github.com/halturin/ergo/cmd/epmd as a standalone empd service, but I'm not sure if its worth it.
About benchmarking. EPMD has a very limited feature (port resolving) which doesn't affect performance at all. You will get significant improvements using Ergo Framework as a drop-in replacement (https://github.com/halturin/ergo#benchmarks)

moved to the discussion if you don't mind.


Add tutorial explaining how to deploy a Kubernetes cluster (without using kind / minikube / etc)

Doesn’t work.  Doesn’t explain anything.  What’s the point of this?

Hi @rich-pixley
Would you be willing to explain your question a bit more? If you can provide context that's even better. For example, if there's a particular page or part of a web page that doesn't make sense, please provide it's URL and perhaps also the heading of the bit you're not following.
/language en
/triage needs-information

It’s the overall that’s a problem.
I’m brand new to kubernetes but not to OS concepts. I’m looking for a tutorial in the sense of introducing base concepts then branching out into variations and I’m not finding it.
  They don’t work so I didn’t bother to follow for long as they didn’t seem to be relevant and thus didn’t hold my attention.
Like, what do I need to do to create a kubernetes cluster and launch a job?  Using just kubernetes without 16 other super fragile and complex adjuncts that don’t work anyway and I can’t debug because I have no idea why they were even brought in.  Surely that should be easy by now, yes?

On Feb 20, 2021, at 06:29, Tim Bannister<EMAIL_ADDRESS>wrote:

Hi @rich-pixley
Would you be willing to explain your question a bit more? If you can provide context that's even better. For example, if there's a particular page or part of a web page that doesn't make sense, please provide it's URL and perhaps also the heading of the bit you're not following.
/language en
/triage needs-information
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@rich-pixley if you'd be willing to write up the differences between your expectations and what you encountered, in issue format, then that'd be really valuable to Kubernetes. It sounds like you're looking for a few different things and haven't found what you were after. If you can communicate what those gaps are, SIG Docs can work on closing them.
I recommend that you log a brand new issue (or multiple issues) to cover explaining how those gaps look to you. SIG Docs is super keen to make Kubernetes accessible to people who don't already have experience deploying and using it.
To make your point effectively, you might find some guidance useful. For example, have a look at How to file great issues or Wiredcraft's How We Write Github Issues.

I could have sworn I'd just done that.  But I can do it again.
I don't need the pages of marketing.  I don't need the pages of OS
background or the ci/cd cheerleading or the incessant looping pointers
that force me to read the same marketing and cheerleading over and over
and over again.
What I need and what I'm looking for is a description, step by step, of
how to bring up a rudimentary or even degenerate kubernetes cluster and
run a simple job using kubernetes alone. And then pointers to where to
go to read/learn about any additional features that I might want to
include like logging, monitoring, or whatever else you might offer in
the way of debugging tools and stuff like minikube or whatever else
offers commonly configurations.
If I have to learn about katacoda or minicube or any of the other
adjuncts, then I'm going to turn off.  Those aren't what I'm looking for.
If I start with minikube and a simple 3 or 4 cut & paste commands to
"hello world", that might be excellent marketing as it feels like an
accomplishment, but it does absolutely zero with respect to skills
transfer which is what I'm looking for.
While I understand that many of your readers may simply want to get to
the point where they can run a job and that may be all they ever want to
do, /I/ want to be able to understand the architecture enough to come up
with new configurations and to debug existing ones that aren't doing
what someone might expect. I expect that will happen to me initially and
I absolutely need to be able to track it down.  So creating a simple
cluster initially that works, and then understanding how to debug as I
add features and complications, is what I need.
On 2/20/21 07:45, Tim Bannister wrote:

@rich-pixley https://github.com/rich-pixley if you'd be willing to
write up the differences between your expectations and what you
encountered, in issue format, then that'd be really valuable to
Kubernetes. It sounds like you're looking for a few different things
and haven't found what you were after. If you can communicate what
those gaps are, SIG Docs
https://github.com/kubernetes/community/tree/master/sig-docs#docs-special-interest-group
can work on closing them.
I recommend that you log a brand new issue (or multiple issues) to
cover explaining how those gaps look to you. SIG Docs is super keen to
make Kubernetes accessible to people who don't already have experience
deploying and using it.
To make your point effectively, you might find some guidance useful.
For example, have a look at How to file great issues
https://kubernetes.io/docs/contribute/suggest-improvements/#how-to-file-great-issues
or Wiredcraft's /How We Write Github Issues/
https://wiredcraft.com/blog/how-we-write-our-github-issues/.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/issues/26618#issuecomment-782692480,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMESP7CUZXMSZO5GSJ65D3S77DJFANCNFSM4X2YCKHA.

It sounds like what you want is a guide to deploying a more production-like cluster @rich-pixley
How well does https://kubernetes.io/docs/setup/ match what you wanted to find?
If there's a gap, the more you can explain what's missing, the better we can look for ways to fill that.

Sorta. That page has a lot of non-info pages linked. But if I’m reading it right, the only page with any actual kubernetes info is the page on container runtimes.
So that’s all I need?  I install docker on all my machines and magically kubectl suddenly works?  I bet not. I bet there are some daemons that need to run somewhere but none of those pages talk about that. Probably, there’s something I need to do to make kubectl rendezvous with a particular kubernetes cluster as well.
Instead, there are pages upon pages of add-ones that, if one understood the architecture and specifically wanted the very narrow thing each add-on provides, might, possibly, be useful.  But without knowing what’s required they’re just unnecessary complications obscuring whatever.
Surely I don’t have to read through the source code of kind just to learn how to set up kubernetes.
Isn’t there, like, an Ubuntu package, and a config file or two, and can’t I create a kubernetes cluster by installing one of those on each of a couple of machines and starting a service?  I understand that’s complicated and doesn’t scale to large installations as a manual process but obviously none of the add-ons do either.

On Feb 22, 2021, at 08:42, Tim Bannister<EMAIL_ADDRESS>wrote:

It sounds like what you want is a guide to deploying a more production-like cluster @rich-pixley
How well does https://kubernetes.io/docs/setup/ match what you wanted to find?
If there's a gap, the more you can explain what's missing, the better we can look for ways to fill that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

This link is pretty close to what I'm looking for with a number of
exceptions.
https://thenewstack.io/how-to-deploy-a-kubernetes-cluster-with-ubuntu-server-18-04/
https://thenewstack.io/how-to-deploy-a-kubernetes-cluster-with-ubuntu-server-18-04/

It's stale and needs to be updated.
It's only for ubuntu and good instructions should cover most major
distros.
This suggests that kubeadm is part of kubernetes which your pages
seem to have denied.
it pulls in a "pod network" called "flannel".  I have no idea what
that is nor why I'd want it and that bothers me greatly.  I stopped
reading at that point.
I think it should end with a "hello world" trivial example just to
demonstrate that a job was queued, gets run, where it gets run, and
what the output is.  That is, either log introduction or monitoring
or whatever is available at this point so that I can convince myself
that it's actually installed and running.
There should be a brief discussion and explanation of the major
demons involved at the beginning, before we install or start running
them.
It needs to cover common trouble shooting and failure scenarios.
Also, it's completely acceptable to state that docker needs to be
installed, point to the docker install pages on docker's site, and
then pick up as though it were already installed. Those instructions
don't need to be duplicated with stale, nonworking instructions.

Don't get me wrong.  Everyone who reads instructions like these will
/immediately/ be thinking about ways to automate them, more extensive
monitoring, and deployment scenarios.  That's /fine/. /Then/ is the time
to talk about minikube, microK8, or whatever the other deployment upper
levels and add-ons happen to be with pointers to their rough equivalents
to these instructions.  But without this basic beginning config
knowledge, I'm months away from being able to reverse engineer minkube
or whatever down into kubernetes into wtf "flannel" is in order to
figure out why things aren't working.  And at that point, I'm discarding
kubernetes and looking for another solution because that sort of UX is
absurd in this day and age.
Am I making any more sense yet?
On 2/24/21 11:04, K Richard Pixley wrote:

Sorta. That page has a lot of non-info pages linked. But if I’m
reading it right, the only page with any actual kubernetes info is the
page on container runtimes.
So that’s all I need?  I install docker on all my machines and
magically kubectl suddenly works?  I bet not. I bet there are some
daemons that need to run somewhere but none of those pages talk about
that. Probably, there’s something I need to do to make kubectl
rendezvous with a particular kubernetes cluster as well.
Instead, there are pages upon pages of add-ones that, if one
understood the architecture and specifically wanted the very narrow
thing each add-on provides, might, possibly, be useful.  But without
knowing what’s required they’re just unnecessary complications
obscuring whatever.
Surely I don’t have to read through the source code of kind just to
learn how to set up kubernetes.
Isn’t there, like, an Ubuntu package, and a config file or two, and
can’t I create a kubernetes cluster by installing one of those on each
of a couple of machines and starting a service?  I understand that’s
complicated and doesn’t scale to large installations as a manual
process but obviously none of the add-ons do either.

On Feb 22, 2021, at 08:42, Tim Bannister<EMAIL_ADDRESS>wrote:

It sounds like what you want is a guide to deploying a more
production-like cluster @rich-pixley https://github.com/rich-pixley
How well does https://kubernetes.io/docs/setup/
https://kubernetes.io/docs/setup/ match what you wanted to find?
If there's a gap, the more you can explain what's missing, the better
we can look for ways to fill that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/issues/26618#issuecomment-783465489,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMESP5SCJMGAQU3WLHMIATTAJ3PLANCNFSM4X2YCKHA.

/retitle Add tutorial explaining how to deploy a Kubernetes cluster

/retitle Add tutorial explaining how to deploy a Kubernetes cluster (without using kind / minikube / etc)

/kind feature
/language en
@rich-pixley would you be willing to revise the issue description (there's an edit button) to match your last comment?

/remove-lifecycle stale

/remove-lifecycle rotten

/remove-lifecycle stale

/remove-lifecycle rotten

Given the lack of response to https://github.com/kubernetes/website/issues/26618#issuecomment-807866891, I'm happy to close this.
/close
@rich-pixley you are welcome to open a new issue. If you do, please aim to write it as an actionable task. The guide at https://developers.google.com/blockly/guides/contribute/get-started/write_a_good_issue is a useful guide, even though it's for a different project.


Several modules fail the Google Style Checks.

In https://github.com/GoogleCloudPlatform/java-docs-samples/pull/60 I found that the following modules fail the style checks:

[x] managed_vms/twilio
[x] managed_vms/sendgrid
[x] managed_vms/sparkjava

It looks like most of these failures were due to using ALL_CAPS for local final variables. These should use lowerCamelCase. Final local variables are considered not constants according to the style guide. https://google.github.io/styleguide/javaguide.html#s5.2.4-constant-names

Reopening. We are missing checkstyle checks on

[ ] managed_vms/async-rest

We should also ensure that the checkstyle checks that make sense run on the test directories, too.

The last test directory to fix is unittests https://github.com/GoogleCloudPlatform/java-docs-samples/pull/114. When that goes in, I'll enable checkstyle across all test directories in the Travis build.

We had to roll back one of these changes. Re-opening until I can get checkstyle running everywhere today using a regular git clone.

Fixed by #124 and #125.


Doc url wrong

No a true issue but link (https://quarkus.io/guides/mybatis) to doc is wrong.
Please fix.

@zhfeng we have an Antora setup for the Quarkiverse.
You can mimic what I did here: https://github.com/quarkiverse/quarkiverse-github-app/tree/master/docs .
And then add your repo here: https://github.com/quarkiverse/quarkiverse-docs/blob/master/antora-playbook.yml

Thanks @gsmet and I will take a look

@gsmet I raise https://github.com/quarkiverse/quarkiverse-docs/pull/4 to add the Quarkus MyBatis documentation. Also I'd merged  https://github.com/quarkiverse/quarkus-mybatis/pull/30 to add the docs and antora.yml. Can you take a look at them ? I'm not sure if it needs to do a new release for these changes ? or just have them in the repo ?

@gsmet I raise https://github.com/quarkiverse/quarkiverse-docs/pull/4 to add the Quarkus MyBatis documentation. Also I'd merged  https://github.com/quarkiverse/quarkus-mybatis/pull/30 to add the docs and antora.yml. Can you take a look at them ? I'm not sure if it needs to do a new release for these changes ? or just have them in the repo ?


Analyzing modules with information from local library

I have a project which has the "usual" bin/lib structure. The binary uses the library in lib, which exposes a function that raises an exception. Is there a way to make the exception analyzer be aware that the code calling this function raises an exception?
I have written the example here. More concretely, I think I would like  hello_world.ml:8:10 Call(Mylib.Lib.trace, modulePath:) to use the information from the corresponding lib.ml that was already processed, and warn that it might raise Bad. Is there a way of doing this? Thanks!

@erivas This ended up in master instead of a PR by mistake: https://github.com/rescript-association/reanalyze/commit/cdfda77abac5defd1271927bcd277628afa7e36a
It's pretty basic: when looking for MyLib.Foo it also tries Foo. The analysis does not try to do advanced path resolution. But it should work for the cases as in your example.

Wow! Thanks for the quick fix! it indeed solves the example I proposed.
I've updated the example with a setting closer to my real application. I am having the following problem: two files are named the same (in different libraries, in the example lib and otherlib), it seems that the analysis of one of them gets mixed with the analysis of the other: it kind of breaks the analysis of lib,
  Events combine: #events 1
  lib.ml:3:28 raises  Bad

  Events combine: #events 1
  lib.ml:5:13 Call(trace, modulePath:)

but doesn't report that lib.ml:5 will raise an exception. Does the problem appear in the Scanning phase when building the table?

@erivas that's exactly the limitation with that basic path resolution: it does not distinguish between file names in different libs.


default timeout not passed onto terminal-notifier

If timeout or wait are not provided, options does not have a timeout set after this line:
https://github.com/mikaelbr/node-notifier/blob/master/notifiers/notificationcenter.js#L72
So if no timeout is provided to terminal-app, the property doesn't exist, and doesn't get passed to terminal-notifier.  If it's not set, terminal-notifier never closes.  Ideally, if neither wait or timeout are passed in, the value should be set to 5 so it gets set.
I can make a PR, but I am not sure if I should make this change only for the notificationcenter?  I can put it in mapToMac or just before calling utils.fileCommandJson, or maybe it should go somewhere so all the notifiers set the default?

I do not ever see my notifications wait even when wait: true is passed in and no timeout defined. If I define something like timeout: 100 I never see it wait 100 seconds.

Timeout is also not working for me on OSX 10.14.6.

v6 was released a few hours ago and includes the default timeout again (and the capability to overwrite that default using false as the timeout option). I'm going to go ahead and close this issue, but feel free to comment here (or open a new issue) if there's still problems with the timeouts.

Is there any possibilities to change the default timeout from ~5secs to 100 secs....
I am not exactly sure about the correct configuration...
Any Solutions, kindly let me know.
Below is my sample:-
const Notifier = require('node-notifier');
Notifier.notify({
title   : 'Hello',
message : 'World',
timeout : 100,
});

I do not ever see my notifications wait even when wait: true is passed in and no timeout defined. If I define something like timeout: 100 I never see it wait 100 seconds.

hi, did u find a solution for this .


Incorrect Permission Error When Deploying to Heroku-18

I created a fork here ( https://github.com/checktest82/heroku-firefox-geckofork ) to fix an error that was stated here: https://github.com/pyronlaboratory/heroku-integrated-firefox-geckodriver/issues/16
I deployed my application to test here: https://github.com/checktest82/test-package
I added all environment variables to my slug: https://i.imgur.com/FUtgcLl.png
Yet when I run it, Im thrown this error:
{"error":"Message: 'geckodriver' executable may have wrong permissions. \n","status":0}

Which you can see live: https://test66711.herokuapp.com/get
How do I fix?
Also to add, Heroku-20 does not work with this (throws an error if you try to deploy to a slug with heroku-20)

Tried doing the https://github.com/pyronlaboratory/heroku-integrated-firefox-geckodriver/issues/9#issuecomment-696525431 fix but now I get:
"Message: 'geckodriver' executable needs to be in PATH. \n"

Can't make it work aswell...

Can't make it work aswell...


Description for writing options in documentation.

It looks writing supports options delimiter, escape, quote, nullValue, header, path, quoteMode and codec.
I think the explanations for them might be better for documentation.

Fixed in https://github.com/databricks/spark-csv/pull/275


Make getKey() available for infinite queries

Is your feature request related to a problem? Please describe.
We use the getKey function in our app to invalidate only the necessary React Queries. Would it be possible to make the function available for infinite query hooks?
Describe the solution you'd like
reactQueryClient.invalidateQueries(useSomeInfiniteQuery.getKey(filters))

@krumplisbalhe I think you can close this issue now.
The .getKey function is now available on infinite queries in version 3.3.2 of @graphql-codegen/typescript-react-query


Subquery in SELECT columns

Hi,
I want to construct PostgreSQL query below using SelectBuilder but, unfortunately, can't find a good options for that:
SELECT
  id,
  status,
  created_by,
  created_at,
  ARRAY(
    SELECT row(number, order_id, status)
    FROM order_items
    WHERE order_items.order_id = orders.id AND order_items.status = $1
  )
FROM orders
WHERE orders.status = $2

SelectBuilder's method Select accepts strings as argument and I don't see workaround which is good enough to construct query above. Do you probably have some suggestion or it might be a candidate for new feature?

You can use sb.Var() to embed any builder in sb.Select(). I can demonstrate it in following sample (live demo).
func main() {
	itemStatus := 1
	orderStatus := 2

	subQuery := sqlbuilder.Select("row(number, order_id, status)").From("order_items")
	subQuery.Where(
		"order_items.order_id = orders.id",
		subQuery.Equal("order_items.status", itemStatus),
	)

	sb := sqlbuilder.NewSelectBuilder()
	sb.Select(
		"id",
		"status",
		"created_by",
		"created_at",
		"ARRAY("+sb.Var(subQuery)+")",
	).
		From("orders").
		Where(sb.Equal("orders.status", orderStatus))

	sql, args := sb.BuildWithFlavor(sqlbuilder.PostgreSQL)
	fmt.Println(sql)
	fmt.Println(args)
}

Thanks a lot! Silly me, just didn't notice this nice option!


Update gptj_guide.md

Please let me know if there are wrong.

beam_width is not an input parameter in GptJ, but a input of GptJTritonModelInstance. We have describe it in document of fastertransformer_backend.


removed dangling link in docs (#3719)

Pull request opened by the merge tool on behalf of #3719

Merged in 15624c73d95580de8ed8925a19d5383b7b7afc81


[Bug] Reopen issue #1752

Describe the bug
Issue #1752 was closed by @cmonfortep. Despite my repeated requests for reopening, it has been completely ignored. The app still contains the same bug; no changes have been made, even though I have provided a final solution.
This does not seem like a friendly open-source community.
How to Reproduce
Screenshots have already been provided in #1752.
Expected behavior
Support correct size of widgets
Environment
- DDG App Version: 5.180.1 (the latest on Google Play) and early
- Device: Sony Xperia 1 Mark III, Sony Xperia 1 Mark V
- OS: Android

Hey @bmx666  with the latest version of ddg(5.198.0) the widgets seem to have the correct sizes like 5X1 and 5x2 but not 5X3
could you please try the latest version and check if the issue still persists ?
PS: Also the previous version 5.197.1 had no widget size issues for me on (POCO M2 pro).

Nothing changed, I already suggested solution but it still doesn't integrated. So simple fix and 0 feedback.


Scala Intellisense stops working if there is a match statement in the code somewhere below the line being entered

Issue Type: Bug
Scala Intellisense stops working if there is a match statement in the code somewhere below the line being entered, unless it is immediately followed by a val or var declaration.  This can be shown by the following experiment.
Type in code the code below in 4 stages, after each stage try typing msg. to see if Intellisense is still working, then delete msg.

When there isn't a match statement below msg. Intellisense prompts as soon as the . is entered.

After the match statement is added Intellisense doesn't give any prompts, but does show the correct type info.

Adding a val or var between msg.and the match makes Intellisense work OK again.

Adding another statement between msg. and the val stops it from working again.

@main def hello: Unit = {
  val msg = "Hello world!"
  val opt: Option[String] = Some("thing")
  // (1) Intellisense works when nothing below msg.

  msg.

  println("It stops again") // (4) Adding this line stops it again.
  val x = "It works again"  // (3) Adding this line makes it work again

  opt match {               // (2) Adding match stops Intellisense
    case Some(value) => println(opt)
    case None          =>
  }
}

Intellisense prompting is a lot less reliable for Scala than JS.  Sometimes it stops working completely for no apparent reason, and somtimes only prompts after a few characters have been entered after the ..  However this does seem to be a reproducable bug, which might perhaps throw light on other problems.
I am a newbie to Scala and Java, and their build environments, so would appreciate any help if this isn't a bug but something in my setup.
This was tested using the following software, running in Windows 10:

VSCode: v1.60.0-insider
Extensions:

Scala (Metals): v1.10.8
Scala Syntax (official:): v0.5.4
Language Support for Java(TM) by Red Hat: v0.81.0

Scala 3.0.1, installed by Coursier.

bloop.settings.json has:  "semanticDBVersion": "4.4.24" and the highest supportedScalaVersions is 2.13.6.  I tried adding 3.0.1 and running 'Import build', but this didn't fix it.
The project was created in VSCode 1.59.1 as a "scala/scala3.g8" project by Metals, but now re-tested using the insider version.
VS Code version: Code - Insiders 1.60.0-insider (89bbd372f459ce72e9c0b60eb3b26b924f64f62d, 2021-08-20T17:51:50.560Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz (4 x 3311)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: unavailable_offopengl: enabled_onrasterization: unavailable_offskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: unavailable_off

Load (avg)
undefined

Memory (System)
7.90GB (2.74GB free)

Process Argv
--crash-reporter-id 0b712d9a-33ab-48d3-88b8-dbfecc832bf0

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

java
red
0.81.0

scala
sca
0.5.4

metals
sca
1.10.8

A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30291494
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30291487
pythontb:30258533
pythonvspyt551:30291412
pythonptprofiler:30281269
vsdfh931cf:30280410
vshan820:30294714
pythondataviewer:30285072
pythonvsuse255:30319630
vscod805cf:30301675
pythonvspyt200:30323110
vsccppwtct:30312693
pythonvssor306:30340298
bridge0708:30335490
pygetstartedt2:30353727
dockerwalkthru:30348713
bridge0723:30353136
pythonrunftest32cf:30353182
pythonf5test824:30353183
javagetstartedt:30350119
pythonvspyt187cf:30356035

/causedByExtension
Scala functionality provided by extension and looks like it's problem with language service rather than VS Code editor itself.
Please report in corresponding extension repo


Initial addition of Tables

There is still some ongoing discussion in the gist that can be incorporated here.

I didn't add Equal or Show instances anywhere yet. I can do this once the API solidifies a bit more (in this PR or later).
The next step is to add a mock so that development work can begin on the REST API. If people prefer to see this merged along with an implementation I can do that here; otherwise I can do it in a separate PR.

Also, we could make this a version: feature now or when the mock gets added. I was thinking it's not usable until there is the mock, so I kept it at version: revision.

@rintcius @wemrysi ready for another look.

LGTM :+1: , I'm going to merge to keep things moving along. @rintcius if you have any more comments, there should be plenty of time to address them in future PRs.


We need a global switch to turn off long stacks in bluebird

When we run tests on devices using long stacks we are changing our performance and general behavior. A lot of extra code gets included that can cause failures and Bluebird itself says " Long stack traces imply a substantial performance penalty, around 4-5x for throughput and 0.5x for latency."
So the bottom line is that when we use long stacks we aren't testing the way that devices will run in production. So we really need some kind of global switch to control if we use long stacks and that switch should be off by default.

Closed in favour of #1197


Add to the website a summary of all profiles

On page /profiles we could have a nice table with checkmarks clearly summarizing the available profiles, with sorting (this should be supported by mkdocs). The table would primarily highlight the profile restrictions.

Done: https://riverbench.github.io/profiles/


IdentityServer4.AccessTokenValidation doesn't support Asp.Net Core 2.0?

or the other way round rather.

Does this call for a bump to 2.0 (alongside IdentityModel.AspNetCore.OAuth2Introspection & others) and keep a 1.x branch around for maintenance?
Would you like any help or are you ticking along just fine?
Some handy references:
ASP.NET Auth 2.0 overview
Microsoft.AspNetCore.Authentication.JwtBearer 2.0 (this is good as an implementation reference, most importantly the new configuration scheme through services and the IAuthenticationHandler implementation.
Migrating to auth 2.0 for end users

Yup, getting errors when trying to app.UseIdentityServerAuthentication(...

Thank you，I have found solution for this problem。

@mokeyish what is the solution?

@kspearrin
            services.AddJwtBearerAuthentication(options =>                 {                     options.Authority = http://xxx;                     options.RequireHttpsMetadata = false;                     options.Audience = "api1";                 });                app.UseAuthentication();

So we no longer use this library?

Well, Jetbearer is only half the functionality. It can't dereference access tokens that aren't plain JWTs.

On 16 Aug 2017, at 10:47 am, Kyle Spearrin<EMAIL_ADDRESS>wrote:
So we no longer use this library?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@kspearrin Yes，we no longer use this library，Asp.Net Core 2.0 has already wrapped up authentication  functionality.Asp.Net core 2.0 recognize different  authentication  by token_type.

This sounds like this issue is still valid when using reference tokens?

You could move it to OAuth2Introspection?

On 16 Aug 2017, at 11:48 pm, urbanhusky<EMAIL_ADDRESS>wrote:
This sounds like this issue is still valid when using reference tokens?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Support for null relationship

Sugar ORM currently does not support null relationship.
E.g.
class Table1 extends SugarRecord {
    private Table2 field1
    ...
}

class Table2 extends SugarRecord {
    private String field1
    ...
}

If I try to save a Table1 instance with null relationship, then a NullPointerException is thrown.
...
Table1 record = new Table1();
SugarRecord.save(record);    // <-- NullPointerException on field1

@skarllot, the master version does not have this problem, it will put a 0 instead of null on the field1 of Table1
I think it should put null instead, I will investigate more on this issue


Low-effort filter recipes

We will evaluate if the following points are met on the client-side:

Uses 5 or fewer ingredients
Only uses common ingredients like chicken, potatoes, onions, and carrots. We want these recipes to be dishes people can put together with ingredients lying around the kitchen
1 hour or less of cook time
Can make 3 or more servings

Closing since most of the bullet points are met for the average recipe, but are highly dependent on the API.


Factory service enhancement

These enhancements are required if you want have doctrine repositories defined as services.

Thanks for PR. Could you add test for the use case: "have doctrine repositories defined as services"?
I don't get that from tests now.

Awesome! :+1:  Thank you. I'll check that later and merge till the end of the day


Detect log alert tx one 7199 v6

Ticket
Redmine ticket:
https://redmine.openinfosecfoundation.org/issues/7199
https://redmine.openinfosecfoundation.org/issues/7350
https://github.com/OISF/suricata-verify/pull/2146 next version

new check for https://redmine.openinfosecfoundation.org/issues/7350
using new suricata.yaml guess-applayer-tx

Follow up, as agreed I'd do: https://github.com/OISF/suricata-verify/pull/2168


Update ahash versions to fix missing feature stdsimd error

Closes #1531
There is a known bug with ahash library that is described in here https://github.com/tkaitchuck/aHash/issues/200 all that is required is to update ahash versions in cargo lock file.

@glihm can you please help me reviewing this. It's a small one. Thanks.


Add naive path filtering

What
This plugin seems nifty, but to make it fit into my workflow, I needed to be able to filter certain paths to hide any found todos from the item tree. So I made very rudimentary path filtering for my own use.
I thought I'd see if it'd be of any use here. Not sure if this is something that should be integrated into the plugin itself, but I find it's often good to just see if it could be salvaged.
(demo gif at the end for tldr)
Why
For example, having addons in the project often results in a very bloated TODO view with a lot of unrelated entries.
How
The implementation is very naive, so it's just an array of strings that are matched with string.begins_with() to see if it should be displayed in the tree. So for example, having a value of addons, scenes/something, assets/two/levels in the input field would result in anything within addons dir to not display, as well as the other two cases.
There's a potential source of annoyance due to the use of begins_with: If the user has folders scene and scenes, writing down scene would also filter out scenes. Or if the user has a file addons_list.txt in the project root and filtering rule of addons, the same happens. To work around this, I found it's best to end directory paths with a trailing / but it's not really ideal.
This filtering could also probably do a better job if it was applied earlier in the process, namely when the todo_items are gathered. Now it just skips any matches in the tree building part.
You'd also probably want to write this better using regex or something in that vein, but this does the trick for me, and I thought it might be of use. If nothing else, maybe this gives an idea of how to implement this behaviour in a completely different manner, if the idea seems useful for the plugin. The filtering rules, for example, could be written in the same UX as the actual item filtering part of settings and make use of the same components.

This seems like a great addition! I'll review your code shortly.

I was just trying out your latest commit and realised that for some reason your project directory starts with "res:///" and mine starts with "res://". I'm not entirely sure why that is so I just added a case for both and it works. I also changed some minor styling things. Let me know if it still works for you.

I was just trying out your latest commit and realised that for some reason your project directory starts with "res:///" and mine starts with "res://". I'm not entirely sure why that is so I just added a case for both and it works.

Ah, didn't think of that. Could it be a difference with environments? Anyway good catch, I didn't really test this elsewhere.

I also changed some minor styling things.

Yeah, I rarely write gdscript so I got the style wrong there. My bad.

Let me know if it still works for you.

As long as it works and is something that the plugin benefits from, then great! Always happy to have helped, even if a minor thing like this 🙂


emit join time of a user

Fixes #1  after https://github.com/aviaryan/chattt/pull/5

Merged, and it is live!


[US] Create Database for Use Case

As a platform developer, I want to have a local “dummy” database representing a simple use case, so that I can have data to use for building and testing the rest of the platform.

MoSCoW
Risk
Story Points

Must have
Medium
2

Tasks

[x] Create a postgres instance in docker image for the database
[x] Create the database and import the data
[x] Create a database dump so that everyone has access to the same data

Architecture Diagram

Demo Video
With the collaboration of @lyubageorgieva  and @WillTrem
https://github.com/WillTrem/UInnovate/assets/64431699/db289a9c-59cf-49aa-bfce-b6503880eac8

This looks good.


TFRS - System throws an error when expanding rows in the Notifications page

Describe the Bug
System throws an error when expanding rows in the Notifications page. Error only appears to happen when expanding from the default of 10 rows to 25, 50 or 100. Expanding to 15 or 20 rows does not throw an error.
Error appears to only be impacting IDIR users; however, BCeID user test accounts don't have many notifications to load as the error may be caused by trying to load a large amount of data (notification entries).
Steps To Reproduce
Steps to reproduce the behaviour:
User/Role: IDIR user

Go to Notificaitons page by clicking on the Bell icon in the top nav bar
Click on "10 rows" selection at the bottom of the react table
Select 100 rows
See error

Screenshot of error:

Hey team! Please add your planning poker estimate with Zenhub @hamed-valiollahi @kevin-hashimoto @prv-proton

Minio Error associated with Notifications api call.
[Previous line repeated 2 more times]
File "/opt/app-root/lib64/python3.9/site-packages/urllib3/connectionpool.py", line 884, in urlopen
retries = retries.increment(method, url, response=response, _pool=self)
File "/opt/app-root/lib64/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='tfrs-minio-test.apps.silver.devops.gov.bc.ca', port=443): Max retries exceeded with url: /tfrs?location= (Caused by ResponseError('too many 503 error responses'))


update dependencies

Signed-off-by: Sherin Varughese<EMAIL_ADDRESS>Related Issue: https://github.com/open-cluster-management/backlog/issues/15469
Description of changes

Merging as e2e is still under test

/lgtm


added draggable donut in assets folder and updated the html and css f…

…ile.
This is to update the html and css file and added draggable items in image folders.

wrong merge


[video_player] Boundary times (auto pause points)

Use case
I want to stop the video at predefined times. Because of the relationship between flutter and native code it's impossible to do within a reasonable time, so it'll always some delay between the desired time and the actual value after the video stopped.
Proposal
On iOS side we can use
https://developer.apple.com/documentation/avfoundation/avplayer/1388027-addboundarytimeobserver addBoundaryTimeObserver method of AVPlayer.
On Android side we can use
https://exoplayer.dev/listening-to-player-events.html PlayerMessage.
When native player fire the boundary time event at the specific times we immediately pause the video and send an event to the flutter side.
Extending video_player interface:
Stream<Duration> getAutoPauseStream();
This function return a stream which get new data when auto pause happened on native side.
Future<void> setPausePoints(List<Duration> pausePoints) async;
This function set auto pause points in the native video player.
I've already implemented this whole feature, the only missing parts are unit tests, and the response about this PR is welcome or not.
Questions

What kind of unit tests should be written for this feature?
Are the method names correct?

Thanks for the report. Treating this as a potential proposal.

Questions

What kind of unit tests should be written for this feature?
Are the method names correct?

You may take a look at contribution guide and see if it helps to answer your questions.

Stream<Duration> getAutoPauseStream();
This function return a stream which get new data when auto pause happened on native side.

Why would there need to be a new stream, vs. someone just listening to the existing ValueNotifier event stream?

@stuartmorgan
If we don't want to know the cause of the pause, we don't need this extra stream.
You can't be sure if the pause was caused by the user or the system, but it might not matter.
Would we want to know the cause of the pause?
If not, I will remove this extra stream and we will only need the setPausePoints.

@stuartmorgan
I've implemented without the extra stream, could you answer my last question?
Thank you for your time and consideration.

If you're referring to this:

Would we want to know the cause of the pause?

I can't provide a useful answer since I'm not a client of the proposed API.

Ok, then I keep the original version with the extra stream. We want to know the cause of the pause.
I'll make a pull request soon.

I'm still not clear on why that requires a whole new steam. Why not a flag or enum on the state indicating the type of source of the transition change for transitions? E.g., none/automatic/manual


Nice performance boost for handling boolean values

We can serialize to bool directly without using extract.
This gives us a nice performance boost as can be seen in the new plots.
The same trick can probably be applied elsewhere.
Good places to look for such improvements are the remaining extract calls and the macro handling for casts.

Which of the graphs are you looking at? To me it looks like the 100 dicts array was substantially faster before (left) than after (right).

Oh. You're right. 😞 Maybe it was just wishful thinking on my side.
I could swear that I saw different values before, though...
Anyway, my reasoning was that extract is a rather expensive call, which might not be true. No idea where the performance degradation comes from in this case. Any guess?

I don't think we will be able to make reasonable progress on performance just by trying code changes. I would recommend getting a reliable perf set up so that we have a clear picture of where the time is going.

Duly noted. I'm on a Mac and it feels like the Linux support is better when it comes to profiling Rust code. There are still options of course like @carols10cents' write-up here or this experimental profiler for mac.
Nevertheless, a hosted solution that triggers on every PR would be better, but I don't know of any such service.

Closing this PR as it was misguided. Sorry for that.
Still open to perf setup suggestions, though. 😜


Modify "submit" button behaviour on all forms

Describe the task
Enable the "submit" button on all forms. When a user clicks the "submit" button without mandatory fields filled out, return an message below the missed filed "please fill out this mandatory field".
Acceptance Criteria

[ ]  submit button is enabled all the time
[ ]  we still need to check if the user meet all the requirement when they click submit button, and return error messages if not

Additional context

Add any other context about the task here.
Or here

duplicate ticket to #1088


nixos-generate-config doesn't "respect" mount options

Describe the bug
Backstory
I got a System76 Lemur Pro from work which I installed NixOS on as soon as i got it and it's been running great, but every now and then I would have issues with coreboot not recognizing my boot drive(s). I mirror boot between 2 nvme disks.
I opened a System76 support ticket, but they have a hard time supporting a system that isn't Ubuntu or Pop!OS, which is reasonable.
So i was thinking, why have i never had this issue with my desktop that's also running NixOS, what's the issue?
I figured it might be hibernation, but I couldn't be certain. And since i run both my kernels and EFI on fat32 (oops, my fault) i figured it might be related to this particularly simple filesystem not behaving as I want it to. And since we NixOS people rebuild Grub a lot more than most other people i figured i just wrap nixos-rebuild switch into a bash function to call sync on /boot and /boot-fallback.
Now the issues disappeared, and I was happy for awhile. But then I figured, this can't be how this should be solved, I mean really?
So i looked into this a bit more and found a vfat mount option called "flush" which supposedly flushes data to disk sooner than normal. Which i guess could be important for a filesystem like fat32. Then i removed my wrapper function and kept using NixOS, since then i haven't lost my bootloader a single time (Previously when I lost it i booted a NixOS USB, mounted everything back up manually and did a nixos-install, rebooted and it all worked again.
Now i have no hard proof that this was the problem, but I haven't experienced the issue since and that's good enough for me.
I also tried setting the installasremoveable boot setting, which supposedly should make coreboot ignore efi variables and boot straight away as soon as it finds the efi file, this didn't help either which further supports my hypothesis.
So today i figured, since i added the flush mount option to my nixos config I'd see what nixos-generate-config --dir=/tmp does, and it seems like it doesn't respect my "flush" option.
The bug(maybe)
nixos-generate-config doesn't respect mount options, not sure if this is a feature or not. But for inexperienced users like myself this was a PITA until i figured "all of this" out.
Considerations
What makes me question myself is why I can't find any issues related to this, I imagine loads of people run NixOS on their laptop with a setup somewhat similar to mine (because they didn't know better when partitioning they accidentally but their initrd on fat32 along with the efi). But I can't seem to find any issues related to bootloaders disappearing out of nowhere.
I do have 40GB RAM (weird setup, 8GB soldered, 32GB DIMM). So hibernation sometimes takes awhile and keeps the disks quite busy. But I imagine loads of people are more extreme than myself here. (Funny side note, the system usually boots faster cold than resume from hibernation)
Steps To Reproduce
Steps to reproduce the behavior:

Mount filesystems with some options
nixos-generate-config --dir=/tmp
cat /tmp/hardware-configuration.nix | grep "fileSystems." -A 4
Doesn't have my mount options

Expected behavior
Well, I would expect it to respect my mount options, after looking at /proc/self/mountinfo i realize that this might not be very simple, it's quite the string for each filesystem entry.
I would go as far as suggesting that the efi partition (whichever it is) is always generated with the flush option to help beginners (like myself) not go looking for their bootloaders.
Additional context
https://gist.github.com/Lillecarl/77fff953aa6e4fb0f4c66413eb3eb7ab configuration.nix
https://gist.github.com/Lillecarl/677b2fc0def139e9c40ecf3395e21a5d hardware-configuration.nix
Notify maintainers

@worldofpeace
@Mic92
@matthewbauer
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.78, NixOS, 21.05.4114.195d5816cdd (Okapi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.16`
 - channels(root): `"unstable-21.11pre330462.2fa862644fc, nixos-hardware, nixos-21.05.4114.195d5816cdd"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
  nixos-install-tools
# a list of nixos modules affected by the problem
module:

Did this happen with grub? In systemd-boot-builder I added fsyncfs to flush as fast as possible after new boot entries and kernels are written: https://github.com/NixOS/nixpkgs/blob/6b68d74f036def3d48a23969edfd0fa47f34af3e/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py#L300

Scraping mount options from /proc/mounts is quite hard. I don't think we can just take all mount options from there, because not all will be valid.

Also I would recommend for grub to use a boot filesystem different from EFI i.e. ext4 instead of fat32, which should be much safer to operated. So that EFI only contains grub and the actual /boot would store kernels and boot entries on a sane filesystem.

Hi @Mic92!
Yes this has indeed been happening with grub, I couldn't find options to mirror systemd-boot to multiple drives as you can with grub so i "had" to choose grub.
I should also indeed change my partition layout so that the kernels don't reside on the efi partition. With that said I also think since NixOS is pretty much "parition as you like" when installing (No partition walkthrough) many people will have this because they didn't quite get the memo regarding this when they set their systems up (like myself).
I lost my bootloader at least once a day until i deployed the script, then the mount option. And now I've been going weeks w/o losing it, so I'm as certain as I can be (which isn't that much i guess, me being a relative beginner and all).
I will swap the grub partition for ext4 one drive at a time, but I would consider this still something that's broken.

Yeah, we should have ext4 as a best practice for /boot even with EFI being used in our manual but still make sure we flush the filesystem in our grub boot generator script. There are still some use cases where grub is inevitable (BIOS-only server, encrypted or mirrored /boot, some broken arm firmware).

@Mic92 I don't speak(or read) Perl but searching for flush or sync in https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/boot/loader/grub/install-grub.pl yields no results.
@edolstra
@nh2
Seems like you guys have touched quite a bit on this script throughout the years, would either your you mind having a look at flushing both the efi and boot partitions when installing grub like the systemd-boot install script does? :)

not a bug https://github.com/nixos/nixpkgs/commit/a146fdab808ddacc2ea0b950d753807d75eae2db

then should hardware-configuration.nix be kept unedited from nixos-generate-config and have desired mount options overridden in configuration.nix?


The error message when clientViaApplicationDefaultCredentials fallbacks to reading metadata servers (and failing) is cryptic

Context for this issue: https://github.com/invertase/dart_firebase_admin/issues/6
It appears that if a user tries to create a client with clientViaApplicationDefaultCredentials, yet have neither the environment nor gcloud/application_default_credentials.json setup, then google_apis_auth fallbacks to reaching out to metadata.google.internal.
The problem is that if that endpoint is unavailable (which is likely the case if the user made a mistake and did want to login using the other options), then we end-up with a "Failed host lookup: 'metadata.google.internal'" error.
This is likely confusing, and a better error message could make it more intuitive to understand what the issue is.

Yup. A good place to do a catch and rethrow w/ something more helpful!

Would you be open to have a PR for this?

Would you be open to have a PR for this?

ABSOLUTELY!


Breadcrumbs: Fetch recruitment, gang, and position information in router loader

See https://github.com/Samfundet/Samfundet4/pull/996#issuecomment-2089416617
#996 must be merged first.
In order for the breadcrumbs to display the name of the recruitment/gang/position, we can preload the required information in the router loader. In the pages, we can then use useLoaderData or useRouteLoaderData to get the data (to avoid loading the data twice)

@robines ferdig?


fix occasional failure of UT

Signed-off-by: junjie.jiang<EMAIL_ADDRESS>

Codecov Report

Merging #1448 (f4f5bb5) into main (71343db) will decrease coverage by 0.07%.
The diff coverage is 61.90%.

:exclamation: Current head f4f5bb5 differs from pull request most recent head 93e1309. Consider uploading reports for the commit 93e1309 to get more accurate results

@@            Coverage Diff             @@
##             main    #1448      +/-   ##
==========================================
- Coverage   67.98%   67.91%   -0.08%
==========================================
  Files         305      305
  Lines       17513    17497      -16
  Branches     2866     2861       -5
==========================================
- Hits        11907    11883      -24
- Misses       4794     4808      +14
+ Partials      812      806       -6

Impacted Files
Coverage Δ

towhee/functional/entity.py
76.47% <ø> (ø)

towhee/hub/builtin/operators/computer_vision.py
36.26% <ø> (+1.15%)
:arrow_up:

towhee/hub/builtin/operators/feature_engineer.py
36.17% <ø> (+2.17%)
:arrow_up:

towhee/hub/builtin/operators/milvus_search.py
13.88% <ø> (+1.06%)
:arrow_up:

towhee/hub/builtin/operators/runas_op.py
100.00% <ø> (+27.27%)
:arrow_up:

towhee/hub/builtin/operators/tensor_like.py
50.63% <ø> (+1.85%)
:arrow_up:

towhee/functional/mixins/computer_vision.py
12.28% <20.00%> (+1.56%)
:arrow_up:

towhee/__init__.py
66.66% <100.00%> (ø)

towhee/functional/__init__.py
93.75% <100.00%> (-0.19%)
:arrow_down:

towhee/functional/mixins/dataset.py
96.36% <100.00%> (-0.07%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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

/lgtm
/approve


Infrastructure for versioning tests

Prepare separate project to test versioning of acme sample.

https://github.com/crystal-processes/crp-sample-upgrade-test