text:
Fix exponential execution time by memoizing format_expr

fix #4476
fix #4867
fix #5128
The problem in those issues is, when max_width is tight, rustfmt should check all possible formattings, which is exponential relative to input size. By memoization of format_expr function, worst case execution time becomes O(n*max_width^3). I tried codes in those issues and it completed in a fraction of second.

Test are failing strangely. I think my QueryId is not unique enough. What is needed to be added?

Test are failing strangely. I think my QueryId is not unique enough. What is needed to be added?

I can't say definitively whether there actually is a combination that will prove sufficiently unique, so you'll probably have to continue experimenting to gauge feasibility. Perhaps the expression's nodeid?
I also wouldn't be terribly keen on introducing a mutexted global, would it be feasible to attach the map to the rewrite context somehow?

I can't say definitively whether there actually is a combination that will prove sufficiently unique, so you'll probably have to continue experimenting to gauge feasibility. Perhaps the expression's nodeid?

Expression's node id is shared between all expressions of a def id. But I found that if I exclude macros (memoization doesn't help there anyway) it will pass tests. Probably span value is unique outside of macros.

I also wouldn't be terribly keen on introducing a mutexted global, would it be feasible to attach the map to the rewrite context somehow?

I tried adding a RefCell to rewrite context, (last commit) but it doesn't improve performance and those issues still takes minutes. But the very same code with global mutex works. I don't know what is happening.

I tried adding a RefCell to rewrite context, (last commit) but it doesn't improve performance and those issues still takes minutes. But the very same code with global mutex works. I don't know what is happening.

Sorry haven't had a chance to dig into this in detail and probably won't for the next couple weeks due to the holidays. I'd suspect that's a case of a cache miss with the former, perhaps due to some slightly different logic needed vs. the global.
Overall I think you're on to something here so really appreciate you digging in! Would like to continue iterating on the implementation specifics though, as well as incorporating some tests

The problem was that rewrite context doesn't live long enough, so I moved it one layer up and it is now fixed.

as well as incorporating some tests

I added examples in those issues as regular tests, so a regression would cause cargo test to not terminate in reasonable time (but it won't fail). A global timeout for all tests would make it to fail.

Fantastic thank you!

Expression's node id is shared between all expressions of a def id.

Maybe this is because id's arent assigned until macro expansion (code), which I assume doesn't run for rustfmt? If that is the case, I wonder if it would be worthwhile to make a change upstream so that node ids may be assigned without macro expansion.

Thanks again @HKalbasi! Few questions/asks:

Could you please incorporate some inline comments explaining the why and thinking? Even after just a couple weeks I found I'd forgotten a lot of context, and I can only imagine someone trying to look at this for the first time months/years from now
I feel like we should be able to avoid at least one of clones, most likely once we have a hit. Would using a mutable borrow on the map and remove_entry instead of get here do the trick?
Any thoughts on some of the additional optimizations @camsteffen suggested, e.g. https://github.com/rust-lang/rustfmt/pull/5139#discussion_r776736592 ?

I feel like we should be able to avoid at least one of clones, most likely once we have a hit. Would using a mutable borrow on the map and remove_entry instead of get here do the trick?

Nothing prevent it from hitting more than once. So if we remove it from map in the first hit, we need to calculate it again. If clones are too bad, I think we can use Rc since caller just read the result, but I don't feel it is necessary.

Any thoughts on some of the additional optimizations @camsteffen suggested

I don't think that's an optimization, but it would make code cleaner. I'm not confident where to clean cache so it cleans enough and not more. And in current way all of codes related to memoizing are in the same function, so lets keep it as is. I tried to explain why there is Option<HashMap> in the comments.
The second one (RefCell vs Cell) was an optimization, and it's done.

re: my question in https://github.com/rust-lang/rustfmt/pull/5139#discussion_r795093714 and :point_down:

Nothing prevent it from hitting more than once. So if we remove it from map in the first hit, we need to calculate it again.

I was trying to think of a scenario where we'd have to recompute a Some(...) with the exact same shape (and I still can't see that), but I think I could see a scenario where it's a None that we could potentially hit twice. Does that sound right or is there a scenario for the former you can think of?
In short, I'm trying to be mindful of time vs. space complexity, especially since the originating issues occur in only the most extreme of circumstances derived from generated code whereas this change is going to be impact quite literally everything. As such, I do want to be mindful of clones

I'm not sure at this point if we hit Some in the cache. If there is no such case, we can use a HashSet instead of HashMap and return None if we calculated it before. But would it format correctly if this conjecture becomes wrong?

In short, I'm trying to be mindful of time vs. space complexity, especially since the originating issues occur in only the most extreme of circumstances derived from generated code whereas this change is going to impact quite literally everything. As such, I do want to be mindful of clones. If there's no way around it then so be it, but it's certainly worth the thought exercise

Yes, now I see the second clone is pure overhead in normal cases. Rc is still an option.

I'm not sure at this point if we hit Some in the cache. ~If there is no such case, we can use a HashSet instead of HashMap and return None if we calculated it before. But would it format correctly if this conjecture becomes wrong?~ (Edit: I tried it and tests failed)

I won't speak to the set vs. map piece, though to the original question, the only way rustfmt would ever format one of these expressions incorrectly would be if we'd done something egregious and were storing the wrong Some(String...) for the wrong query id. In practice the real worst case would be returning a None speciously, in which case rustfmt simply emits the original span contents of the expression (functionally skipping attempting to format that expression). Not ideal of course, but it's something done elsewhere on other code paths so certainly not disastrous either.

Yes, now I see the second clone is pure overhead in normal cases. Rc is still an option.

Will differ to your preference, but I want to note the execution time numbers I'm seeing locally with your current version (clone) and with the adjustment I suggested to remove the entry from the map via a mutable ref so as to avoid the need for the clone in the return case:
(note I've elided the --check contents as it's irrelevant noise in this context):
Current with the get + clone:
$ time target/debug/rustfmt tests/target/performance/issue-5128.rs --check
.....

real	0m0.632s
user	0m0.619s
sys	0m0.012s

With take_entry skipping the clone:
$ time target/debug/rustfmt tests/target/performance/issue-5128.rs --check
.....

real	0m0.635s
user	0m0.622s
sys	0m0.012s

And using the original/source input, as-is with get + clone
$ time target/debug/rustfmt tests/source/performance/issue-5128.rs --check
.....

real	0m8.926s
user	0m8.822s
sys	0m0.069s

with take_entry:
$ time target/debug/rustfmt tests/source/performance/issue-5128.rs --check
.....

real	0m8.776s
user	0m8.734s
sys	0m0.041s

Realize the above doesn't exactly qualify as a statistically significant analysis but I'm seeing the same pattern consistently across multiple runs, and for the other input files as well. This gives me sufficient confidence the extra clone has no substantial execution time impact, at least not in any context known to us today, and we should go with one of the discussed approaches to avoid it.

Also just want to say thanks again for all your efforts on this! I think it'll be a great step forward and address several known problems, but also want to be very careful and thoughtful given the code paths that are getting touched.

Third hits are not impossible, we can see by testing this (it fails):
if let Some(r) = map.remove(&query_id) {
    map.insert(query_id, Some("we don't hit again".to_string()));
    context.memoize.set(Some(map)); // restore map in the memoize cell for other users
    return r;
}

Your numbers shows that things which we calculate exactly two times are more than things which we calculate more times. Existence of third hits can lead to exponential time theoretically, thought it isn't probably important in practical cases. Anyway, that clone is in cold path in normal codes (issue-5128.rs isn't normal code), and what we did before memoizing was to completely recalculate the string from the ground up, which is definitely more costly than cloning, and it was fine.
What clone that is IMO more important, and has overhead relative to previous state for normal codes, is the second clone:
if let Some(mut map) = context.memoize.take() {
    map.insert(query_id, r.clone()); // insert the result in the memoize map
    context.memoize.set(Some(map)); // so it won't be computed again
}

In normal cases, most of expressions won't even hit once and they will waste. I don't have solution for it. I tried Rc and it doesn't work either because some (most?) of the callers want to mutate the result (for example append something) so they need to clone the actual data anyway.

Also just want to say thanks again for all your efforts on this! I think it'll be a great step forward and address several known problems, but also want to be very careful and thoughtful given the code paths that are getting touched.

I completely understand your concerns, and thanks for maintaining rustfmt!

What clone that is IMO more important, and has overhead relative to previous state for normal codes, is the second clone

Yes, though I'd basically accepted that we're going to have to introduce at least one, just as one of the inherent drawbacks with memoization. While I agree that the second clone won't always be at play in normal (non-generated, non-borderline-pathlogical :laughing:) code, I feel like it may with certain expressions in scenarios such as RHS comparisons.

Third hits are not impossible, we can see by testing this (it fails):

That's a much more practical way of testing it than my trying to mentally execute code flows!
Based on what we're seeing here I'm starting to suspect there's probably a middle ground somewhere that would both be a marked improvement in the generated code cases while also still minimizing unnecessary clones in more standard cases, even if the result is still less than optimal from an asymptotic complexity pov.
I wonder if we could use a more advanced type for the map values which included some kind of a hit counter that would be used to conditionally determine whether to clone + attach the result to the map entry, and potentially conditionally remove the entry as well to split the difference on some of the cloning I was previously referring to

I measured execution time of system and idempotence tests (I know they are not necessarily good data, just it was easy to add a timer in run_test_with) in some scenarios, excluding tests in this PR. Results have a ±0.03 second error, I tried to pick the mean in multiple runs.

Without caching:

Time elapsed in system: 0.579 seconds
Time elapsed in idempotence: 0.704 seconds

This PR at current state: Seems it is helping in normal code as well!

Time elapsed in system: 0.531 seconds
Time elapsed in idempotence: 0.640 seconds

Removing from map at first hit:

Time elapsed in system: 0.544 seconds
Time elapsed in idempotence: 0.632 seconds

results are mixed, but I think 3 is slightly faster. The difference is cost of the second clone, minus cost of recalculations in third times.
I tried to make a version of 1 with an additional clone, but optimizer seems catch me and remove the clone.

Based on what we're seeing here I'm starting to suspect there's probably a middle ground somewhere that would both be a marked improvement in the generated code cases while also still minimizing unnecessary clones in more standard cases, even if the result is still less than optimal from an asymptotic complexity pov.

I'm fine with removing from map on first hit, but data above doesn't support it makes a noticeable difference.
And I want to mention Rc/Cow again, using it needs some change in most of the codebase (so out of scope for this PR), but it probably saves the first clones in addition to the second clones.

I'd put this on hold for a bit as the release we had pending was already large and I didn't want to try to pull this in on top, but am circling back to it now.
I think I've reached a point where I'm comfortable merging, though will probably wait a tad longer to do so as I'd like to do some additional experimentation shortly after and have the bandwidth to do that before we have too many other commits building on top of it.
I am, however, unsure as to what you were trying to test/assert with your last comment as it seems duplicative of what was established earlier relative to timing: my prior point was that the run/execution time was largely the same regardless of whether there was an extra clone, so I'd rather avoid allocating increasingly long strings that weren't providing any benefit at runtime nor IMO pre-compile time in terms of the source code.

And I want to mention Rc/Cow again, using it needs some change in most of the codebase (so out of scope for this PR), but it probably saves the first clones in addition to the second clones.

Apologies if I forgot to respond to this thread previously, but I saw it and agreed completely that I don't want to go down this route.

Also, the review comment I left in https://github.com/rust-lang/rustfmt/pull/5139#discussion_r798192972 is still outstanding and is something we'd need clarity on before proceeding. I can't tell if the shape is just wrong or if we've perhaps got a mapping issue, but something is wrong there.

so I'd rather avoid allocating increasingly long strings that weren't providing any benefit at runtime nor IMO pre-compile time in terms of the source code.

I don't think its affect on memory usage would be more than ten megabytes even in machine generated codes (we can measure it) so is it that bad?

I don't think its affect on memory usage would be more than ten megabytes even in machine generated codes (we can measure it) so is it that bad?

This is an increasingly moot topic of debate because as noted previously the only outstanding issue needing resolution is relative to this change producing incorrect formatting.
I'm not requesting that you make any changes on this piece, however, I want to stress that we don't want to just incorporate unhelpful/unnecessary steps into the codebase unless they clear a threshold of being unnecessarily "bad enough"; we've very much a strategy of "only do that which is necessary".
There's plenty of cases, both those that could easily be contrived and practical ones within the rustfmt codebase, where some minimally (or even be negligibly) impactful step could be unnecessarily taken, e.g. a requiring clone instead of working with a slice. However, we'd still want to avoid such an unnecessary action regardless, i.e. go with the slice instead of the unnecessary clone.
I'm simply pointing out that the exact same principle is applicable here: we need to have a rationalization for the usage of a clone; we don't want to use clones freely/loosely and then have to rationalize the removal/avoidance of them

Alrighty, let's give this a try!

@calebcartwright given that we just had to revert these changes in #5403 do we want to reopen all the linked issues?

Ah, sorry for breaking rustfmt.
If I understand correctly, the problem is that the result is not a function of just shape and expr. Would including the fields of RewriteContext (except config, parse_sess and snippet_provider which it seems they are global) in QueryId be enough to solve this problem?

No worries! This is a fairly tricky area and I didn't foresee this either.
I suspect there will be more to it and that we may need a more advanced/conditional type of memoization flow like I was alluding to earlier in these discussions (albeit with even more conditions)

authors: HKalbasi calebcartwright camsteffen ytmimi


text:
Initial implementation of relnotes handler

This follows up on recent discussion with T-libs-api (in particular) to make it easier for T-release and teams to propose specific text for inclusion in release notes. The strategy proposed here is a dedicated issue for release note text discussion + revision. Follow-up work to this will automate pulling the relevant context into the release notes PR (likely through changes to https://github.com/rust-lang/relnotes/), but manually extracting it should already be pretty easy due to the prominent title.
There are many future improvements, e.g.:

Automatic nomination for the right team based on initial PR labels
Automatic creation for any FCP (this feels right to me, but it is more work than teams typically do today).
Random assignment to (subset of?) team members rather than nomination?
Live-ish rendering of the proposed content, perhaps by replacing the code blocks with some other delimiter.

But my hope is that we can iterate on this in practice as we gain experience.
cc @rust-lang/release
r? @ehuss

We discussed in the last release team meeting using a GitHub project for tracking this, but I decided to not pursue that here. The "text" input in those is very limited (basically just one line) which doesn't feel great, and also lacks a clear place to discuss the changes being proposed, which also doesn't feel right. Long-term, I think having a clearly separate place for discussing how changes should be announced to the public also feels like a good thing, since it creates a dedicated point on every team's change process rather than making that a separate activity done weeks after decisions are made (and typically by different people).

source: gharchive/pull-request

repo: rust-lang/triagebot

license_type: permissive

license_source: github-api


text:
Fix simple-extension example readme

The python code in the simple-extension example readme doesn't seem to be complete.
When running it in its present form one gets an error about a module not being callable.
rust_ext.axpy function was probably meant to be called.

Thanks!

authors: kngwyu rth

repo: rust-numpy/rust-numpy


text:
🛑 Mitsubishi is down

In fb14e15, Mitsubishi (https://mitsubishimotorsid-mobileapp.com/app/login) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Mitsubishi is back up in f4009cb after 1 minute.

source: gharchive/issue

license: MIT


text:
Suggestion to add data-encoding crate to encoding topic

This is self promotion, but it may still be useful for those who need other base64 variants than base64 and base64url, or other encoding schemes like base32 or hexadecimal, or have custom needs. The crate is stable, maintained, and used by ~80 crates.
https://crates.io/crates/data-encoding

@ia0 thanks for suggestion! the pr is on the way

Thanks! That was fast :-)

repo: rustasync/arewewebyet


text:
Unit enum decoding failure returns an atom instead of raising an exception

Hi and thanks for this awesome library! I just wanted to say that I found it a bit surprising that the code generated by rustler_codegen returns Err(rustler::Error::Atom("invalid_variant")) for unit enums, but in other cases (for example a missing key in a map) it returns Err(rustler::Error::RaiseTerm(...)). Would you be open to changing this behaviour?

Yes, the error handling in rustler_codegen is somewhat inconsistent. What would you as a user rather expect, RaiseTerm or an atom?
Note that this would be a breaking change, so we need to be careful.

I would expect RaiseTerm, because other Decoder implementations return BadArg. So for example if you were decoding a complex object like a map it would be surprising if a wrong type where a binary is expected raises badarg, but an incorrect atom results in the function returning invalid_variant. One option might be to implement both, as methods on the Decoder trait? I'm currently doing this:
pub trait DecodeOrRaise<'a>: Sized + 'a {
    fn decode_or_raise<T: Decoder<'a>>(self) -> NifResult<T>;
}

impl<'a> DecodeOrRaise<'a> for Term<'a> {
    fn decode_or_raise<T: Decoder<'a>>(self) -> NifResult<T> {
        use rustler::Error::*;
        match self.decode() {
            Ok(res) => Ok(res),
            Err(e) => Err(match e {
                BadArg => BadArg,
                Atom(s) | RaiseAtom(s) => RaiseAtom(s),
                Term(t) | RaiseTerm(t) => RaiseTerm(t),
            }),
        }
    }
}

On second thoughts, there's no way to provide the "reverse" of DecodeOrRaise, since there's no non-raising version of BadArg, and since AFAICT badarg is the idiomatic way to handle e.g. a list where a binary was expected, I think the raising option is always right. If the user wants to handle the error in another way, like returning {error, Reason}, they can always convert the Err themselves (and IMO they would want to too, because there's no convention on what Reason should be).

@dlesl Sorry for taking so long to come back to you, I am quite swamped right now. I think it makes sense to change this behaviour and always use RaiseTerm in rustler_codegen. Would you be willing to implement that as a PR?

authors: dlesl evnu

repo: rusterlium/rustler


text:
Add "context swap" functions to session and add "decoded_tokens" to snapshot read/write

Good day! Thank you for this awesome lib.
I've added feature for "context swap" similar on how is one made in llama.cpp cli. And a small fix to include "decoded_tokens" in snapshots
Im not sure if my code can go with all rust coder standards (coding for more than a month in rust). Please let me know if something needs a change.

Hi! Sorry for the very late response - I'm catching up on pending PRs by merging them into a develop branch so that they can be unified without impacting main.
Great work - the only changes I'd make are to the interface, but I figured I'd merge your code as-is because I need to redesign the overall interface anyway. Much appreciated 🙂

authors: Andreybest philpax

repo: rustformers/llm


text:
Error when using Yarn to init starter kit.

I tried to initialize with yarn instead of npm.
yarn create rust-webpack test-app
ERROR
yarn create v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "create-rust-webpack@0.3.0" with binaries:
create-rust-webpack
 /bin/sh: 1: /home/alan/.yarn/bin/create-rust-webpack: not found
error Command failed.
Exit code: 127
Command: /home/alan/.yarn/bin/create-rust-webpack
Arguments: test-app
Directory: /mnt/d/Projects/Web/webassembly
Output:
info Visit https://yarnpkg.com/en/docs/cli/create for documentation about this command.

I tried these
yarn global add create-rust-webpack
create-rust-webpack my-app

lead to :
zsh: command not found: create-rust-webpack
and  then
yarn global add https://github.com/rustwasm/rust-webpack-template
create-rust-webpack my-app

again leads to :
zsh: command not found: create-rust-webpack
With NPM this works perfectly.
node - v14.15.0
yarn - v1.22.4
WSL Ubuntu - 20.04.1 LTS
shell - zsh

Yarn Global Doc

repo: rustwasm/rust-webpack-template


text:
example/webaudio: Fix typo for the link to compiled example

Fix https://github.com/rustwasm/wasm-bindgen/issues/2314

Maybe we should normalize all web-audio to webaudio instead?

Thanks! And yeah using just one form should be fine.

authors: Xuanwo alexcrichton

repo: rustwasm/wasm-bindgen


text:
use yarn for ci

Currently we use npm install for installing node packages, however, this makes no guarantee about the exact version of the package used. Instead, we should use npm ci to ensure that package-lock.json is respected. Unfortunately, this currently causes webpack to barf on one of our tests (imports::versions), so rather than try to debug this terrible mess, I elected to just use yarn instead (which was designed for reproducible builds in the first place).
This makes no changes to the documentation, and the project should still work perfectly fine without yarn installed, this simply is a change to the ci infrastructure.

I'm closing this, and will implement @Pauan suggestion when I have a moment.


text:
Detail popup needs better spacing - v0.2.15 - nit

How did you get that popup to show? We have not added any so I suppose it's some browser feature?

Safari special! mouseDown drag as if you were trying to move the box.
Stumbled (as usual ) up it. :-)


text:
Describe on the localisation repo's readme that how to contribute

Explain that how the localisation strings are working and how to contribute (pull requests?).
What about, why there is no French folder here?
https://github.com/ruuvi/station.localization/tree/master/localize.converter.android/src/data
The localisation repository:
https://github.com/ruuvi/station.localization

oops, this issue should have been on the local repo. Closing and reopening.


text:
fix: I can not edit tests, neither heuristics

@marcgc21 Does your test have answers? If a test already have answers it is not editable

repo: ruxailab/RUXAILAB


text:
Include npmlist

Came across ipt a few days ago, and found my sever-months-old npmlist is a great fit to it. Would love to see it included to Awesome Workflow

oh yeah 🎉that's awesome 😄 def a great fit!
thanks!

oh yeah 🎉that's awesome 😄 def a great fit!
thanks!

oh yeah 🎉that's awesome 😄 def a great fit!
thanks!

oh yeah 🎉 def a great fit 😄
thanks!

Glad you like it. :) ...(Github was glitching a lot yesterday lol)

authors: hankchanocd ruyadorno

repo: ruyadorno/ipt

license: mit

license_source: bigquery


text:
Feature request: Add wayland support

Warpd looks really useful to me when used in combination with a tiling window manager. However, I use sway so would need wayland support.
Thanks for the cool project!

Yeah, I use sway with wayland only mode (without xorg-xwayland) and I'm so keyboard oriented that using keyboard as mouse would be bless for me.

I am not intimately familiar with wayland internals, but my understanding is that its input model might present some implementation challenges. I don't have the time or motivation for a full port at the moment, but I am willing to take a crack at it if this issue gets enough upvotes.

I'd love to see this get ported - I currently use tridactyl to replace my mouse in Firefox, and having a utility that could replace it system-wide would be a game changer. If you open Monero donations, I'd be more than happy to chip in :^)

After some additional research, it seems that wayland is ill equipped for a port. I was peripherally aware of the input problems, but it seems there is no way to draw onto the screen or absolutely position windows either :/. There are some non-standard extensions which might make a port possible on wlroots based compositors (i.e sway) but as far as I can tell, Gnome users are out of luck. I may end up proceeding anyway if there is enough interest.
It would help to have a idea of what people are using.

Fedora 36 with Wayland + Nvidia. I am not at all versed in compositors, but maybe you can leverage XWayland?

@dsych
By 'Fedora 36' I assume you mean with the stock DE (Gnome) which doesn't support the layer shell protocol.

but maybe you can leverage XWayland?

Unfortunately XWayland won't work. warpd relies on certain X behaviours (e.g shaped windows) which are not fully implemented by wayland's compatibility layer (since this would provide an easy way to bypass the security model).
From what I can tell, fragmentation seems to be a major problem in the Wayland ecosystem, with most of the useful protocols being developed by wlroots and Gnome flat out refusing to adopt them. Sadly this makes implementing an entire class of third party software impossible :(.

I know I use sway so this isn't exactly unbiased, but there are quite a lot of wayland compositors based on wlroots now. Not saying you are going to get the market share of Gnome but it would still be useful to a lot of people.

I was more referring to Gnome's obstinacy as documented [here] (https://gitlab.gnome.org/GNOME/mutter/-/issues/973) (and elsewhere). I'm not sure what is involved in the standardization process, but my impression is that Gnome has no intention of introducing support for most of the necessary protocols.
Having said that, I am not opposed to a limited port given that sway seems to be reasonably popular amongst the niche input crowd, and will probably be my first port of call when I inevitably make the transition.

I agree with @Cadair. Creating a proper implementation, sticking to the protocol specification has been the domain of the wlroots (sway) team from the beginning. Wlroots now tries to be not only a library for Sway, but for every window manager that uses it, trying to be what X.org is for environments based on it. There are plenty of wlroots-based window managers that are completely different from each other, from floating window managers to the popular and well-known tiled window managers. There's a compiz clone, an openbox clone, and others. KDE is only now catching up and from what I can see they are trying to move towards implementing various things similarly to wlroots, unlike Gnome.
Even if KDE with their Kwin, wanted to go with something completely different, rhere is a Kwin fork based on wlroots.
LXQt and XFCE are not planning their window managers and are looking at developing current window managers for Wayland. At this point, the only troublemaker is Gnome's Mutter.

Wlroots now tries to be not only a library for Sway, but for every window manager that uses it, trying to be what X.org is for environments based on it.

Admirable though it may be, wlroots != wayland.

KDE is only now catching up and from what I can see they are trying to...
At this point, the only troublemaker is Gnome's Mutter...

Evidently we have different definitions of 'fragmentation' :P.
Due to popular demand, I have added experimental support for wlroots based compositors. There were a few hard limitations on what could ultimately be achieved (and other things which I was just too lazy to implement).
I have a few ideas about how to potentially remedy some of these, but I probably won't have time to implement them for a few weeks.
See the man page for details.

Thank you very much for adding wayland support! :heart:

authors: Cadair dsych proudmuslim-dev roland-rollo rvaiya

repo: rvaiya/warpd


text:
Compression Ratio

Add an option to set compression ratio. the Generated PDF is too big. I try to compress with ilovepdf and the compression ratio result more than 90%.

The Generated PDF is generated by pngs  which is a uncompressed image format. This can be done by processing image and save it to jpg.

fixed

authors: rwv taufikterdidik


text:
THERE IS NO RAW BUTIN

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

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

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

repo: rxzyx/prodigy-hack


text:
Localized formatting

There should be a way to localize formatting for dates.
A few people have submitted PRs to my formatting library over the years. (I don't plan to update it to 0.19 - your token approach is better.) The results are here. You don't necessarily have to add all the localizations, but having a way for others to do them is useful. I think you hit upon a good pattern with the record of functions in the Relative module.

Hey Max,
I really like that idea!
It would be pretty silly to only support the english strings I've defined.
Let me update my DateFormat module!
Thanks,
Ryan

Awesome!
I literally had someone add a PR for Greek today.

Hey Max!
Just pushed up a 1.1.0 release to elm-package.
Check out this example if you want to see how it works:
https://github.com/ryannhg/date-format/blob/master/examples/FormatWithOptions.elm
Thanks for your suggestion, it greatly improved the overall flexibility of the package!
Thanks again,
Ryan

authors: mgold ryannhg

repo: ryannhg/date-format


text:
Add setAttributesWrapper and dynamicExpressionWrapper config options

This generalizes babel-plugin-jsx-dom-expressions generated calls to effect() and memo(). The function names are now configurable with new options setAttributesWrapper (effect) and dynamicExpressionWrapper (memo). The plugin behavior is unchanged when the default options are used. Additionally, either option can be set to false, which will essentially treat expressions as if they were static and won't wrap them.
The use case for setting the new options to false is to use babel-plugin-jsx-dom-expressions with a wrapperless non-reactive runtime.
I've copied a subset of relevant tests from dom.spec.js to dom-wrapperless.spec.js with the new options set to false.

Hmm.. does this mean you use a different runtime? Since the runtime depends on those primitives, like insert uses effect etc. I mean that's all fine I just want to make sure I understand the scenario so that by supporting this we won't be tracking down a number of other downstream things, and to keep in mind the implications of this option for future development I do.

Hmm.. does this mean you use a different runtime? Since the runtime depends on those primitives, like insert uses effect etc. I mean that's all fine I just want to make sure I understand the scenario so that by supporting this we won't be tracking down a number of other downstream things, and to keep in mind the implications of this option for future development I do.

Yup. I have a (in progress) fork of dom-expressions. Basically just a subset of client.js without calls to effect, reconcileArrays, etc.

I've been thinking of how I'd want to best handle this. But I think this is close enough. I might tweak the naming but I will introduce the mechanism. Thanks for the PR.

I've been thinking of how I'd want to best handle this. But I think this is close enough. I might tweak the naming but I will introduce the mechanism. Thanks for the PR.

No problem. Thanks for merging! And yes, I agree the naming could be better.

It's mostly that you named it literally to what the compiler is doing but it does other stuff in the runtime, and since I don't imagine your use case is as common I'd rather it reflect the intention of the primitive rather than the application in the compiler. In any case I should have published to npm so you can give it a try. I went with effectWrapper and memoWrapper.

authors: nicketson ryansolid

repo: ryansolid/dom-expressions


text:
Make installing shellcheck more robust

Core functional change here is that we allow travis to fallback on a known, existing version in the debian shellcheck repository.
So now we work with a list of known versions of shellcheck, and a function get_shellcheck that
will download the first valid match and report the proper package name.
If no valid package can be downloaded, package name will be empty, and the install will abort.
--
Cosmetic changes:

Switch from Folding > to Literal |  for multi-line shell chunks.  I would expect folding to generate shell syntax errors, but I haven't seen any.  Does travis interpret this yaml correctly?

Explain why we use shellcheck -s sh.  It's the POSIX way.

Looks good to me!

authors: hlangeveld rylnd

repo: rylnd/shpec


text:
fix: the preference button does not render correctly in time.

Problem Description
The preference button in article page does not render correctly in time. This problem happens in '/admin/dashboard', '/admin/articles', '/article'. We can see the problem is as shown in the gif below.

Solution
The reason for this is that axios's repeat judge. In 'cancelPreference' and 'setPreference' function , the res.success not exist because res.success has been processed in axios interceptor.So we should do nothing about error process in 'cancelPreference' function.

Result
Now we can use the preference button normally.

@PatchMapping("/update-perfect")
    public GlobalResult<Boolean> updatePerfect(@RequestBody Article article) {
        Long idArticle = article.getIdArticle();
        String articlePerfect = article.getArticlePerfect();
        return GlobalResultGenerator.genSuccessResult(articleService.updatePerfect(idArticle, articlePerfect));
    }

接口返回 Boolean 值，删除 res.success 判断即可

repo: rymcu/nebula


text:
🛑 Tasbih Online is down

In 904ea28, Tasbih Online (https://tasbih.rzlamrr.my.id) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tasbih Online is back up in 9e5781b after 15 minutes.

repo: rzlamrr/status


text:
How can I add a new class and function to the two that you have added?

So far I have made a new cpp file and hcc file just like you have in the cpp folder. included them in the hello-world.cpp file which has the emscripten binding. I have added it to the bazel build file and it builds successfully also.
ERROR: /Users/user1/MyDocuments/work/new/bazel-emscripten/hello-world/javascript/BUILD:27:10: Compiling hello-world/javascript/bindings/hello-world.cpp failed: (Exit 1): emcc.sh failed: error executing command hello-world/javascript/toolchain/emcc.sh -MD -MF bazel-out/wasm-opt/bin/hello-world/javascript/objs/hello-world-wasm.js/hello-world.d ... (remaining 22 argument(s) skipped)
hello-world/javascript/bindings/hello-world.cpp:20:24: error: use of undeclared identifier 'MyHello'
emscripten::class("MyHello")
^
hello-world/javascript/bindings/hello-world.cpp:22:34: error: use of undeclared identifier 'MyHello'
.class_function("Heya", &MyHello::Heya);
^
2 errors generated.
this happens. could you please help.

If you're creating new files, you need to update the bezel dependencies:

in cpp/BUILD
in javascript/BUILD

Then you should be able to compile successfully.


text:
🛑 Portal formació is down

In 2e9c0d6, Portal formació (https://formacio.imasmallorca.net) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Portal formació is back up in 0cbf58e.


text:
Better documentation for modals

I have been trying to follow the documentation for the modal component, but when I add the markup given in the example I cannot get a modal to appear - all of my modal content just appears directly as part of the page content. Is there javascript that I need to link, or another trick to it?

@Bandes There is no trick and no JS dependency.
Here's the the same example on Tailwind Play: https://play.tailwindcss.com/kvjZQeGpbG
Please make sure your CSS file is building correctly and purging the correct files.
If you could provide a small example (Github repo, Codepen, etc...) so I can reproduce the problem, that would be great.

Thank you - I am pretty sure this was all just user error. It is working now after I double-checked my config and recompiled a few times. Sorry for the n00b ticket :)

authors: Bandes saadeghi

repo: saadeghi/daisyui


text:
DaisyUI compile unused CSS from HTML text

Hi.
This is a strange issue that I've encountered recently.
When your HTML contains any text that matches component names, it compiles the component even though it is not being used in any classes inside of the HTML file.
Example:
Given this tag in HTML,
A paragraph that contains a menu text.

Run yarn build, and you'll see .menu styles being compiled in the CSS.

That's expected behavior and that's how Tailwind CSS class detection works:

If you have m-10 in your content, the m-10 class will be included. The reason is, Tailwind CSS has no idea about our framework or templating language and detects all strings as potential class name (and it's understandable)
In my opinion a few unused class name won't hurt but if you want to make sure all unused class names are getting purged, you can use a prefix for both Tailwind CSS and daisyUI.

authors: saadeghi zukilover


text:
fix: #2505 missing border on select component

Issue: css selector can't find the select element.
Related issue tickets:

https://github.com/saadeghi/daisyui/issues/2505
https://github.com/saadeghi/daisyui/issues/2513

See example in docs: https://daisyui.com/components/select/
Before PR:

After PR:

Thank you 🙏

authors: saadeghi seppe-dalen


text:
Non-Destructive Editing

This suggestion is to implement a non-destructive editing system.
Problem:  Imagine you clip a brush, or bezel an edge, or want to make a series of identical brushes.  In all these cases, editing the geometry of the resulting brush(es) becomes more difficult.  For instance, if you want to change the geometry of a window you duplicated many times in a row, you now need to edit the geometry of all the duplicates instead of being able to edit the original and propagate the change.
Solution:  Implement a stackable 'modifier' system that allows editing the original geometry instead of the more difficult process of modifying geometry after changes are applied.
Possible Implementation:  I imagine this as an object in the scenegraph with children of brushes and/or other modifier objects.  The modifier would apply its change during CSG build-time.  Ideally it would also preview the result before CSG build-time so you could see where your brushes are ending up (perhaps in a gray outline?).
Possible modifier tool ideas:

Array
Clip
Chamfer Edge
Mirror
Others?

Reference:

Quark Macro-Objects

Value:

Allows for faster & greater iteration -- a non-destructive level design workflow is faster for making changes, particularly for when enacting changes later in development to game levels after receiving player feedback.  The further along the level, the more likely brushes are no longer simple boxes but have been clipped, etc.
To my knowledge, other level solutions for Unity do not provide much/any non-destructive functionality, so it would be a good differentiator.

I'm fairly certain you can use prefabs to achieve much of this... Ie. The
window example, just prefab the window geo and subtraction and then
modifications will ripple across all instances.
But perhaps I'm overlooking those other use cases.
On Sat, Aug 25, 2018, 7:52 AM RobbyZ notifications@github.com wrote:

This suggestion is to implement a non-destructive editing system.
Problem: Imagine you clip a brush, or bezel an edge, or want to make a
series of identical brushes. In all these cases, editing the geometry of
the resulting brush(es) becomes more difficult. For instance, if you want
to change the geometry of a window you duplicated many times in a row, you
now need to edit the geometry of all the duplicates instead of being able
to edit the original and propagate the change.
Solution: Implement a stackable 'modifier' system that allows editing
the original geometry instead of the more difficult process of modifying
geometry after changes are applied.
Possible Implementation: I imagine this as an object in the scenegraph
with children of brushes and/or other modifier objects. The modifier would
apply its change during CSG build-time. Ideally it would also preview the
result before CSG build-time so you could see where your brushes are ending
up (perhaps in a gray outline?).
Possible modifier tool ideas:

Array
Clip
Chamfer Edge
Mirror
Others?

Reference:

Quark Macro-Objects
http://quark.sourceforge.net/infobase/maped.tutorial.advanced.html#duplicators

Value:

Allows for faster & greater iteration -- a non-destructive level
design workflow is faster for making changes, particularly for when
enacting changes later in development to game levels after receiving player
feedback. The further along the level, the more likely brushes are no
longer simple boxes but have been clipped, etc.
To my knowledge, other level solutions for Unity do not provide
much/any non-destructive functionality, so it would be a good
differentiator.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sabresaurus/SabreCSG/issues/164, or mute the thread
https://github.com/notifications/unsubscribe-auth/AU8jxQrYPZt-ktloYipelbTJPWiFOYuGks5uUHW3gaJpZM4WMCij
.

Prefab would cover some of this for the window case (Array modifier), however, it has the following drawbacks:

No way to change the distance between windows
No way to change number of windows
Can't nest prefabs (imagine you had a window hole subtractive brush and then a separate non-sabrecsg window mesh prefab and wanted both to be duplicated for each window)

Prefabs also wouldn't be applicable to the other modifier tools

You can now use nested prefabs in Unity!

If I recall correctly, brushes don't serialize as prefabs anyway (broken script references). However, this can be achieved with the 2D shape editor projects. Still more work than a non-destructive workflow.
It is possible to prefab the meshes, but you'd have to have a separate CSGModel instance for each different mesh, and at that point you may as well be importing from an external package.

This would require a significant change in how the brush tools work as the built geometry will no longer match the brush polygons. That makes it extremely difficult to store changes in materials and UVs. For example new faces introduced by chamfers and clips will lose their materials and UVs every time the world is built.
I have been thinking about it for weeks and there's just no straightforward solution, from a programming standpoint, to make this work seamlessly and reliably.

there's just no straightforward solution, from a programming standpoint, to make this work seamlessly and reliably

It's definitely possible as Quark supported this a decade ago -- however, it may not easily fit into Sabre's existing data model.  Regardless, I believe the Quark source is publicly available and might be worth investigating for ideas?

authors: Henry00IS Kerfuffles RobbyZ vertxxyz

repo: sabresaurus/SabreCSG


text:
Create App.jsx

Title and Issue number

Title :
Issue No. :
Code Stack :
Close #<issue_no>

Checklist:

[] I have mentioned the issue number in my Pull Request.
[] I have commented my code, particularly in hard-to-understand areas
[] I have created a helpful and easy to understand README.md
[] I have updated the Index.html file for my contribution

You have created 3 Pull requests for one challenge and the files are split among 3 PRs
This is invalid. Everything should be in one PR.

repo: sadanandpai/frontend-mini-challenges


text:
dependences in readme

Please, add to the README file information about software dependencies for this script. For example, about dsh.
Thanks.

Sure. Thanks! I'll do it as soon as possible.

authors: asluchevskiy safonoi

repo: safonoi/backup


text:
Run command for each file matching a pattern

Feature Description
One of gnumake's key features is the ability to run a command for each file matching a pattern, such as:
pkg/%.opt.wasm: pkg/%.wasm
	wasm-opt -o $@ $<

Describe The Solution You'd Like
I would like makers to support the ability to run a task multiple times on each file matching a certain pattern.
Code Sample
In my Makefile.toml:
[tasks.foo]
foreach = "pkg/%.wasm"
command = "wasm-opt"
args = ["-o", "pkg/%.opt.wasm", "pkg/%.wasm"]

This would run wasm-opt -o pkg/%.opt.wasm pkg/%.wasm and substitute % with all of the matches from pkg/%.cpp.

@sffc thanks for the idea.
Unlike make, this tool doesn't work on file paths, but on tasks/flows.
but you could do something similar with duckscript as follows:
[tasks.wasm-opt]
condition = { env_set = ["FILE"] }
command = "wasm-opt"
args = ["-o", "pkg/${FILE}.opt.wasm", "pkg/${FILE}.wasm"]

[tasks.foo]
script_runner = "@duckscript"
script = [
'''
handle = glob_array "pkg/*.wasm"
for path in ${handle}
    set_env FILE ${handle} # probably need to play with the string value here to make it work with the task
    cm_run_task wasm-opt
end
'''
]

Thanks for the response and the tip about duckscript!
The workaround I currently have is to use find, like:
command = "find"
args = ["wasmpkg/", "-name", "*.wasm", "-exec", "wasm2wat", "{}", "-o", "{}.wat", ";"]

But I think that's probably not cross-platform.  It looks like duckscript is designed to be more cross-platform?  If so, that seems like a very good workaround.

ya, duckscript is the built in cross platform scripting solution for cargo make

I'll close this for now because i think we have a solution, but feel free to reopen if needed

authors: sagiegurari sffc

repo: sagiegurari/cargo-make


text:
Get an array element by it's index.

Features Description
Since in can't found in README.md or sdk.md how to do it, i think it's a missing feature, so correct me if i'm wrong. I think getting an element by it's index is an essential feature of arrays, so i would be nice to have this ability.
Describe the solution you'd like
An array_get command should do the job.

ya no problem.
my only concern is that people will start using that and write a for loop based on index instead of a forin on array elements. that would be a perf hit.
but.... its definitely a must core command and I'll add it.
thanks for the feedback

this is now implemented and available in duckscript 0.3.2 version.
also added array_set.
thanks for the feedback and feel free to open more requests.

authors: YruamaLairba sagiegurari

repo: sagiegurari/duckscript


text:
🛑 Evon Stone Ceramics is down

In 9835c61, Evon Stone Ceramics (https://evonceramics.com) was down:

HTTP code: 504
Response time: 5169 ms

Resolved: Evon Stone Ceramics is back up in 59a8b91.

repo: sahajananddigital/status


text:
Change content

Change content and format to better suit thoughts blog's needs

For example, change the image and text at the top.


text:
chore: clone last 5 commits

By default Travis clones the last 50 commits. 5 are sufficient and often faster.
See https://docs.travis-ci.com/user/customizing-the-build#Git-Clone-Depth

Is having the default of 50 creating any problems currently?  If so, why is the travis project not updating the default from their end?

Is having the default of 50 creating any problems currently? If so, why is the travis project not updating the default from their end?

Not sure but it is the default. Many projects use a lower setting and both are shallow clones. No problems with 50 but longer checkouts in Travis builds.

Considering that the longer checkout doesn't impact the application performance, going to stay with the default.  If the default in general is a problem then the feedback should be provided to the Travis team.  If a specific application is having issues with the default then the change is mostly specific to that application.
Thanks for the PR though.

Well, faster CI builds = better DX but ok =)

Thanks.  If it is an impactful DX improvement, the feedback should be taken to the Travis folks to change the default.

authors: DanielRuf YasharF

repo: sahat/hackathon-starter


text:
SAK-48324 Calendar: TypeError: this.i18n is undefined

https://sakaiproject.atlassian.net/browse/SAK-48324
Note: This fix should work in all browsers, the reason it shows an error in Firefox but not in Chrome because Firefox doesn't support template literals inside of ${...} expressions within template strings in some versions.

closing this one, we have a new pr: https://github.com/sakaiproject/sakai/pull/11895

repo: sakaiproject/sakai


text:
SAM-3222: correct behavior of Question Layout Setting when Linear access is selected

https://jira.sakaiproject.org/browse/SAM-3222
In samigo, when you select Settings > Layout and Appearance > Navigation: Linear access to questions with no return to previous pages, the following other layout options should automatically set and disable so they cannot be changed:

Question Layout should be set to Each Question is on a separate Web page and disabled
Add checkboxes next to questions so they can be marked for review should be unchecked and disabled

More info and steps to reproduce in the JIRA

@ottenhoff, thanks for the review. I was able to swap out the colour stuff for toggleClass calls. The only caveat being that I had to add a CSS selector with higher specificity so it over-rode the default colour being inherited from _defaults.scss.


text:
Make apply_styles call optional

Patch Axlsx::Package#serialize and Axlsx::Package#to_stream methods so that the styles are indexed automatically when these methods are called. Implementation is suggested by @westonganger. The change is backwards compatible.
Also update and improve README.

Work in progress - need to preview my changes before it's ready.

This should alleviate https://github.com/sakovias/axlsx_styler/issues/9

Also the apply_styles part from the readme should be removed too.

I can confirm this works as expected without any styling, without apply_styles, and with apply_styles. I tested with the to_stream method. I think you should merge this to master.
If you want to write a test for the to_stream method heres an example of how this method is used. This will do the same thing as serialize:
contents = package.to_stream.read

File.open('path/to/file.xlsx') do |f|
  f.write{ contents}
end

to_stream.read on a package (& workbook and sheet i think) will create a string of the files contents. You could further manipulate this or serve it over http with your rails app.

Perfect advice @westonganger :smile: I've added some smoke tests on the to_stream method using your advice. Should be good to go.

authors: sakovias westonganger


text:
Run snapshot test using corresponding branch

MOB-3716
What was solved?
This PR extends clone-snapshots-ci make command by running checkout.sh script, which tries to make checkout to the source branch in Snapshots if it exists, otherwise tries to make checkout to the destination branch if it exists, otherwise makes checkout to master branch
Release notes:

[ ] Feature
[x] Ignore
[ ] Release notes (Is it clear from the description here?)
[ ] Migration guide (If changes are needed for integrator already using the SDK - what needs to be communicated? Add underneath please)

!squash

repo: salemove/ios-sdk-widgets


text:
docker build failure

I use python version Python 3.9.16
and pip 22.0.4
I use mac m1 chip
But when i run docker-compose build
after
git clone https://github.com/saleor/saleor-platform.git --recursive --jobs 3
cd saleor-platform

I get error
#0 36.37   × python setup.py egg_info did not run successfully.
#0 36.37   │ exit code: 1
#0 36.37   ╰─> [14 lines of output]
#0 36.37       Traceback (most recent call last):
#0 36.37         File "", line 2, in
#0 36.37         File "", line 34, in
#0 36.37         File "/tmp/pip-install-jvt5dprp/measurement_da1d31b43c824b269b019776ef30842a/setup.py", line 4, in
#0 36.37           setup(use_scm_version=True)
#0 36.37         File "/usr/local/lib/python3.9/site-packages/setuptools/init.py", line 152, in setup
#0 36.37           _install_setup_requires(attrs)
#0 36.37         File "/usr/local/lib/python3.9/site-packages/setuptools/init.py", line 147, in _install_setup_requires
#0 36.37           dist.fetch_build_eggs(dist.setup_requires)
#0 36.37         File "/usr/local/lib/python3.9/site-packages/setuptools/dist.py", line 806, in fetch_build_eggs
#0 36.37           resolved_dists = pkg_resources.working_set.resolve(
#0 36.37         File "/usr/local/lib/python3.9/site-packages/pkg_resources/init.py", line 777, in resolve
#0 36.37           raise VersionConflict(dist, req).with_context(dependent_req)
#0 36.37       pkg_resources.ContextualVersionConflict: (sphinxcontrib.applehelp 1.0.3 (/tmp/pip-install-jvt5dprp/measurement_da1d31b43c824b269b019776ef30842a/.eggs/sphinxcontrib.applehelp-1.0.3-py3.9.egg), Requirement.parse('sphinxcontrib-applehelp'), {'sphinx'})
#0 36.37       [end of output]
#0 36.37
#0 36.37   note: This error originates from a subprocess, and is likely not a problem with pip.
#0 36.37 error: metadata-generation-failed
#0 36.37
#0 36.37 × Encountered error while generating package metadata.
#0 36.37 ╰─> See above for output.

I just got this running! I changed
measurement==3.2.0 to measurement==2.0.1
in saleor/requirements_dev.txt
It seems to work as expected.

More here https://github.com/coddingtonbear/python-measurement/issues/75

Hi. It might be better to re-open this and let someone else close it, so that they know there's a problem

Hello, I have also encountered this same docker build issue. I can confirm that @fattymeatpower 's fix allows the docker build to complete successfully. It also fixed my build issue.
measurement==3.2.0 to measurement==2.0.1

Closing as this repository no longer builds everything from scratch and instead relies on the official Docker images.

authors: Lumunix Rahulkishanm fattymeatpower patrys

repo: saleor/saleor-platform


text:
on docker-compose build, storefront give build error

ERROR: Service 'storefront' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 1
Kindly help me out.
Operatiing system: Ubuntu 18

@talalsiddiqui can you provide use the full output? Thanks!

I am not able to find log file in system ... but i have resolved the issue, by deleting the package-lock.json file

Can you provide us every step you have used to run saleor-platform?

Apologies for the late reply.
i have followed the exact steps which are written in Readme file

One thing more, if I install the storefront repo separately, then I face no issues.
but when I use this Plateform repo and do the installation then I faced the above issues.
I resolved the above issues by deleting the package-lock.json file, but still, it took me many hours to figure out.
plus as you can see on screenshot, on WORKDIR command no app folder created.

Weird. I will pass it to the storefront team to look into. Outdated packages in package-lock often can cause issues.

I have the exact error in Ubuntu 16.04.6 (LTS) x64

Successfully tagged saleor-platform_storefront:latest
Building dashboard
Step 1/13 : FROM node:10
---> e7671d9424c2
Step 2/13 : WORKDIR /app
---> Using cache
---> be35a61fb89e
Step 3/13 : COPY package*.json ./
---> Using cache
---> 035fdec0e77b
Step 4/13 : RUN npm install
---> Running in 6c2502fc94ba
npm WARN saleor-dashboard@2.10.0 No description
npm ERR! network timeout at: https://registry.npmjs.org/@apollographql/graphql-language-service-utils/-/graphql-language-service-utils-2.0.2.tgz
Error in Debian10

I tried to install in centos 9 and it worked

I am not able to find log file in system ... but i have resolved the issue, by deleting the package-lock.json file

Try deleting node_modules (rm -rf node_modules), then redo.

Successfully tagged saleor-platform_storefront:latest
Building dashboard
Step 1/13 : FROM node:10
---> e7671d9424c2
Step 2/13 : WORKDIR /app
---> Using cache
---> be35a61fb89e
Step 3/13 : COPY package*.json ./
---> Using cache
---> 035fdec0e77b
Step 4/13 : RUN npm install
---> Running in 6c2502fc94ba
npm WARN saleor-dashboard@2.10.0 No description
npm ERR! network timeout at: https://registry.npmjs.org/@apollographql/graphql-language-service-utils/-/graphql-language-service-utils-2.0.2.tgz
Error in Debian10

Retry, check your connectivity and npm status.

I have a similar issue on fedora 32:

It still appears when building storefront and doing npm install. I have also created a /etc/docker/daemon.json file as instructed here but nothing changed. Any ideas?

So, I managed to solve my above issue by specifying the network. As far as I can tell, this is an issue with docker's embedded DNS but I am not sure about the details.
In my case, all I had to do is change the docker-compose.yml and specifically the images api, storefront, dashboard so that when building, they use host as the --network parameter. For example, my storefront section looks like the following:
  storefront:
    build:
      context: ./saleor-storefront
      dockerfile: ./Dockerfile.dev
      network: host
    ports:
      - 3000:3000
    restart: unless-stopped
    volumes:
      - ./saleor-storefront/:/app:cached
      - /app/node_modules/
    command: npm start -- --host 0.0.0.0

Anyway, I hope this will be useful to someone else in the same situation.

Weird. What docker version is it? @geoph9

I use docker 19.03.11 and docker-compose 1.27.4.
It turns out that this is a firewall issue and it is known to the fedora community (I am a new user and I didn't know that). I didn't want to risk it, so I deleted docker and installed moby (as per this) and I have no issues now.

@NyanKiyoshi I have this kind of issue!
When it comes to npm install it gives this kind of WARNs
I use docker 19.03.13   docker-compose 1.27.4. node - v12.19.0   npm - 6.14.8

@NyanKiyoshi I have this kind of issue!

I also encountered this issue and solved it using this :  https://github.com/mirumee/saleor/issues/6414#issuecomment-724320237

@pipoupiwam can you provide the npm error logs? Run: docker-compose build storefront and provide us the output.
This is most likely an issue with package-lock.json. But I'm not sure whether that would be the same as above, where it had corrupted packages.
Can you also provide some additional information, if that's Linux/Unix-based:
uname -mrsv
docker -v
docker-compose -v

If that's Windows, remove that uname one and just provide CPU information, e.g. ARMv7, AMD64.

same issue when work in macbook m1

So, I managed to solve my above issue by specifying the network. As far as I can tell, this is an issue with docker's embedded DNS but I am not sure about the details.
In my case, all I had to do is change the docker-compose.yml and specifically the images api, storefront, dashboard so that when building, they use host as the --network parameter. For example, my storefront section looks like the following:
  storefront:
    build:
      context: ./saleor-storefront
      dockerfile: ./Dockerfile.dev
      network: host
    ports:
      - 3000:3000
    restart: unless-stopped
    volumes:
      - ./saleor-storefront/:/app:cached
      - /app/node_modules/
    command: npm start -- --host 0.0.0.0

Anyway, I hope this will be useful to someone else in the same situation.

Specifying network as host worked for me

network: host does not work properly on Mac, so we solved the issue by adding proxy in the storefront container

authors: Kamoliddin1 MahmoudGad-key NyanKiyoshi geoph9 krzysztofwolski medmt97 pipoupiwam sah-anshu talalsiddiqui tienscotl


text:
Configurable RT Socket Connection URL

Extracted rtEventNames to a separate config file as refocusConnectSocket function reached it's max amount of statements (20)
If process.env.NEW_RT_APP_TOGGLE === 'true' && bot config file contains refocusRealtimeUrl then use the new refocusRealtimeUrl to connect
TODO when this goes through: add refocusRealtimeUrl: process.env.REFOCUS_REALTIME_URL to config file of bots with a backend

were u able to get this working to receive updates ?

@BrandonMurnane nope, meeting with Ian to talk about this.. We think it could be something on Refocus side because even the room isn't receiving the RT updates. If you join a room and then do some stuff, another browser with the same room open doesn't get the updates.

@BrandonMurnane is it okay to merge this now? It won't have any effect right now as the env var won't be set.
Should I create a PR on all appropriate bots to add the refocusRealtimeUrl attribute to the config file?

authors: BrandonMurnane kriscfoster

repo: salesforce/refocus-bdk


text:
🛑 Riksarkivet forskarsalen is down

In f77fa0a, Riksarkivet forskarsalen (https://sok.riksarkivet.se/digitala-forskarsalen) was down:

HTTP code: 503
Response time: 114 ms

Resolved: Riksarkivet forskarsalen is back up in d0e52f4 after 23 minutes.


text:
Create a file with "ersättare" from the book --> then upload to WIkidata

Status: Started
See data I need #111

Create a load file from the book Enkammarriksdagen 1971-1993/94 having the data used in #111
Use Open refine and

and new records
update if a WD object already exist

[X] Anita Brorsson Q118860600
[X] Lars Weinehall Q6234648
[X] Erik Blom Q118859389
[X] Mait Modigh Q118862441

Quality check

SPARQL find all people on ss 2 and page 1-111

QA Riksdagens data
That see if "ersättare" is in the database Riksdagens Öppna data

Open Issue
Do we have info about substitute?

Ersättare finns ibland som textsträng i Riksdagens Öppna API: se även #60

WD Q5627199

Riksdagens Öppna Data json

@fredrik1984 what is the status of the file with Swedfish political parties over time...
I have a v/vpk for Ingrid Burman (Q4941267)
see page 523 in volume 1

Question how do we translate it to Wikidata?

Gegga

WD Q5781968
Riksdagen 0480007629014 json

We are currently prioritizing i-ort, party will come later (including start/end of MP party belonging).
Regarding Michael Hagberg above, it is a bit messy. But it seems that the Riksdagen web is more correct. Hagberg is mentioned in this protocol from 1991-09-30: https://www.riksdagen.se/sv/dokument-lagar/?doktyp=prot&q=Michael+Hagberg&st=2&riksmote=1991/92

We are currently prioritizing i-ort, party will come later (including start/end of MP party belonging).
Regarding Michael Hagberg above, it is a bit messy. But it seems that the Riksdagen web is more correct. Hagberg is mentioned in this protocol from 1991-09-30: https://www.riksdagen.se/sv/dokument-lagar/?doktyp=prot&q=Michael+Hagberg&st=2&riksmote=1991/92

Thanks do the change you think is mostly correct.... or have it correct on "your" side...

Another diff

P1214 = NoValue

List No Value


text:
Update setup.py

Current setup fails because redis-py._compat no longer exposes b()

This repo is deprecated. Please use the official Redis library.

authors: MuppetPasta salimane

repo: salimane/rediscluster-py


text:
🛑 Blog is down

In 206ebeb, Blog (https://saltbo.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Blog is back up in 7e60065 after 12 minutes.

repo: saltbo/status


text:
New attempt to improve timesyncd support

Hello,
Here is a new attempt (related to #5) to improve timesyncd support. Variouscomments should have been taken into account.
Best regards,

@aanriot, @aboe76 thanks for your work!

You are welcome, thanks @aboe76 , @javierbertoli !

authors: aanriot javierbertoli

repo: saltstack-formulas/systemd-formula


text:
Update perftool

Update perftool

@salutejs/perftool@0.24

What/why changed
https://github.com/salute-developers/perftool/releases
Test
Тесты в ветке прогоняются https://github.com/salute-developers/plasma/actions/runs/7259208547/job/19775952843?pr=932
Отчеты сравниваются, проверено интеграционными тестами https://github.com/salute-developers/perftool/actions/runs/7232004239

📦 Published PR as canary version: Canary Versions

:sparkles: Test out this PR locally via:
npm install @salutejs/plasma-temple@1.191.1-canary.932.7259208548.0
npm install @salutejs/plasma-ui@1.223.1-canary.932.7259208548.0
# or
yarn add @salutejs/plasma-temple@1.191.1-canary.932.7259208548.0
yarn add @salutejs/plasma-ui@1.223.1-canary.932.7259208548.0

Theme Builder app deployed!
http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-932/

Theme Builder app deployed!
http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-932/

Documentation preview deployed!
website: http://plasma.sberdevices.ru/pr/pr-932/
ui storybook: http://plasma.sberdevices.ru/pr/pr-932/ui-storybook/
temple storybook: http://plasma.sberdevices.ru/pr/pr-932/temple-storybook/

Theme Builder app deployed!
http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-932/

Тесты в ветке прогоняются https://github.com/salute-developers/plasma/actions/runs/7259208547/job/19775952843?pr=932

@akhdrv привет, шаг "Compare test results" упавший - это норм? )

да, норм

Theme Builder app deployed!
http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-932/

Theme Builder app deployed!
http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-932/

🚀 This PR is included in version: @salutejs/plasma-b2c@1.263.1-dev.0, @salutejs/plasma-hope@1.251.1-dev.0, @salutejs/plasma-temple-docs@0.200.1-dev.0, @salutejs/plasma-ui-docs@0.249.1-dev.0, @salutejs/plasma-web-docs@0.217.1-dev.0, @salutejs/plasma-web@1.263.1-dev.0, @salutejs/plasma-website@0.225.1-dev.0 🚀

🚀 This PR is included in version: @salutejs/plasma-asdk@0.29.0, @salutejs/plasma-b2c@1.271.0, @salutejs/plasma-core@1.144.0, @salutejs/plasma-cy-utils@0.76.0, @salutejs/plasma-hope@1.255.0, @salutejs/plasma-icons@1.177.0, @salutejs/plasma-new-hope@0.35.0, @salutejs/plasma-sb-utils@0.142.0, @salutejs/plasma-temple-docs@0.209.0, @salutejs/plasma-temple@1.196.0, @salutejs/plasma-tokens-b2b@1.33.0, @salutejs/plasma-tokens-b2c@0.43.0, @salutejs/plasma-tokens-native@1.19.0, @salutejs/plasma-tokens-utils@0.37.0, @salutejs/plasma-tokens-web@1.48.0, @salutejs/plasma-tokens@1.68.0, @salutejs/plasma-ui-docs@0.258.0, @salutejs/plasma-ui@1.228.0, @salutejs/plasma-web-docs@0.225.0, @salutejs/plasma-web@1.271.0, @salutejs/plasma-website@0.233.0 🚀

authors: Salute-Eva Yakutoc akhdrv

repo: salute-developers/plasma


text:
Use an Object Array as input data

The idea is to support Objects as Array elements and pass the selected Object to the host element. Filtering it by a porperty which should be passed from the host element to the paper-typeahead. The idea is meant to support Objects with an ID, I am not sure if this should be done this way or there is a better workaround.

I have the same requirement. My suggestion is that it would work as follows:
If objects are of format: { fname: "foo", lname: "bar", id: 123}
It would be able to list choices either by specifying a field (fname) or a function (that could, for example, combine fields so that full name is displayed, or even something like "foo bar (123)"), and when the item is selected you'd have access to the associated object.
A property could named "item-label-property" to allow a property to be used as the text. Similarly, there could be a property named "item-value-property" to specify which item's property is used for the item's value when the item is selected. "item-label-function" could be used to allow a function to be used to determine display values.
If support for a function is much more difficult, I think that is a more advanced requirement, and would be glad to have support for item-label-property and item-value-property for now.

authors: damibarbieri godinger

repo: samccone/paper-typeahead


text:
Add signal to IConnection.IOptions of generated clients

Just wanted to start saying how great this library has been in providing strongly typed and documented backends.
This is feature request to include an AbortSignal in IConnection.IOptions of generated clients to abort fetches performed by the client library generated by Nestia.
This would be useful for cases where the user can perform multiple changes to the UI and the backend processing takes longer. We have been debouncing the requests so that only the last one comes with the full response, but we want to cancel the previous requests so we don't keep unnecessarily using user's bandwidth.
Hope this is well understood. Let me know if you have any questions.
Thank you,

Can you send a PR about that?

authors: mmamedel samchon

repo: samchon/nestia


text:
Merge digitallumberjack/master modifications

Changes :

Runner upgraded to 1.10.2
Docker support (socket mode and dind mode)
Docker private registry support :

Allows to use private images for jobs

Updated to xenial (maybe we can switch to alpine)
Added RUNNER_DOCKER_ADDITIONAL_VOLUME support to share volumes between host and build containers
Added RUNNER_OUTPUT_LIMIT support to override the logs output limit.

We can work on that and rebase/cherrypick if needed :)

Can you resolve the conflicts please?

Should be ok. Sorry for the bad commit message i tried the online editor and i could not choose the message. I can amend if you need.

@digitalLumberjack Lets resolve the issues in the PR before we hit the merge button.
p.s. i've added you as a collaborator to the project.

also i will give it a test before we merge this one. thanks for the contrib

This is fantastic! I am eagerly looking forward to testing this! Thanks for all your work!

Please merge it, this is a fantastic work!

This should be ok now.
I bumped to 1.10.4 by the way.

@sameersbn This should be ok now.
I bumped to 1.10.4 by the way.

LGTM? :+1:

Can this be merged?

I bumped to runner v1.11.2, @sameersbn as soon as you give your go we can merge this. Tell me if any modification is needed.

@digitalLumberjack @sameersbn Really awesome work you two! Please resolve the requested changes and merge. My Synology can't wait for this update :)

Merging this update would be awesome! :)

@digitalLumberjack could the entrypoint detect a change to the RUNNER_DOCKER_IMAGE and update the config?

For those waiting for this to be merged, we've just switched all our builds over to digitallumberjack/docker-gitlab-ci-multi-runner:v9.3.0 and it's working grand. Great to finally be on the docker executor! :) Thanks @digitalLumberjack :+1:

I see @sameersbn has made @digitalLumberjack Collaborator, so you could merge this?

@digitalLumberjack could you bump to v9.5?

According to https://about.gitlab.com/2017/08/22/gitlab-9-5-released/ the old runner will stop working at September 22nd, 2017.
Please note, that this also affects the usability of docker-gitlab.

@digitalLumberjack: I am getting following error while using the image you've shared:
./configure_proxy_artifactory.sh: line 13: docker: command not found
GitLab CI runner script:
docker run --name gitlab-ci-multi-runner -d --restart=always \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume /mnt/data/gitlab/gitlab-runner:/home/gitlab_ci_multi_runner/data \
  --env='CI_SERVER_URL=https://gitlab.dev.abc.net/ci' --env='RUNNER_TOKEN=RijUZPnMjGeNF2JYt' \
  --env='RUNNER_DESCRIPTION=runnerA' --env='RUNNER_EXECUTOR=docker' \
  --env='RUNNER_DOCKER_IMAGE=docker:17.07.0-ce' --env='RUNNER_DOCKER_MODE=socket' \
  --link gitlab.dev.abc.net \
  digitallumberjack/docker-gitlab-ci-multi-runner:v9.3.0-1

.gitlab-ci.yml content:
image: node:6.11

types:
        - build
        - deploy

build_app:
        type: build
        script: "bash chmod +x ./configure_proxy_artifactory.sh"
        script: "bash ./configure_proxy_artifactory.sh"

From within the container, here's my observation:
root@5489eb3ebe42:/home/gitlab_ci_multi_runner# ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Jul 21 00:53 /var/run/docker.sock
root@5489eb3ebe42:/home/gitlab_ci_multi_runner# docker ps
bash: docker: command not found

Any idea how i can fix this?

@GarbageYard You are using the wrong image for this kind of setup
you need at least the following in your .gitlab-ci.yml
image: docker:latest
services:
  - docker:dind

in the Dockerfile you use to build the image, you should refer to the node image.

Thanks for the reply @Maescool! Sorry, but i am confused now because if i'm going to use image: docker:latest, then how will i get the node app? Will i be using some package manager inside the .gitlab-ci.yml file to download the node installer?

@GarbageYard so, there are a couple of parts.
if you want to build a docker image using gitlab-ci-multi-runner,
in my case I use docker in docker, so that's why I have the services thingie, you might not need it.
you have your .gitlab-ci.yml something like this
image: docker:latest

services:
  - docker:dind

variables:
  GIT_SUBMODULE_STRATEGY: recursive
  CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
  CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest

before_script:
  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY

stages:
  - build
  - release

build:
  type: build
  script:
    - docker build --pull -t $CONTAINER_TEST_IMAGE .
    - docker push $CONTAINER_TEST_IMAGE

release-image:
  stage: release
  script:
    - docker pull $CONTAINER_TEST_IMAGE
    - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
    - docker push $CONTAINER_RELEASE_IMAGE
  only:
    - master

(this is basically by default gitlab-ci build file to build docker images)
Then you have your Dockerfile, that looks something like this
FROM node:6.11
COPY . /usr/src/app

The entrypoint stuff etc.. idk with node, and for your project, this is just an example of how I do my image builds.

Hi @Maescool! I tried using DIND but somehow it's failing to retrieve the image via Artifactory (our private container registry).
Runner log error:
Running with gitlab-ci-multi-runner 9.5.0 (413da38)
  on RunnerA (d8ed43a6)
Using Docker executor with image docker.artifactory.abc.net/docker:17.07 ...
Starting service docker.artifactory.abc.net/docker:17.07-dind ...
Pulling docker image docker.artifactory.abc.net/docker:17.07-dind ...
ERROR: Preparation failed: Error response from daemon: Get https://docker.artifactory.abc.net/v2/: x509: certificate signed by unknown authority

I guess it's because it's unable to login to Artifactory first. I saw this link but it seems it's for images and not for services. I still tried configuring Secret Variable (DOCKER_AUTH_CONFIG) but it's not working.
Content of .gitlab-ci.yml
image: docker.artifactory.abc.net/docker:17.07

variables:
  DOCKER_HOST: tcp://docker:2375

# This before_script block was added later but it seems this block
# isn't executed before the DIND tries fetching image from Artifactory
before_script:
  - docker login -u svc-art-user -p some-pwd docker.artifactory.abc.net
  - docker info

services:
- docker.artifactory.abc.net/docker:17.07-dind

build:
  stage: build
  script:
  - docker build -t my-docker-node-image .

All (GitLab, Runner & DIND) containers are on one host. I am able to docker login docker.artifactory.abc.net -u svc-art-user -p some-pwd successfully. Even without DOCKER_AUTH_CONFIG, my image (shown above i.e., docker.artifactory.abc.net/docker:17.07) was getting fetched without any issue. It seems it's because it was using my host's ~/.docker/config.json. If that's the case, why isn't the service (docker.artifactory.abc.net/docker:17.07-dind) also using the same credentials?

authors: BirgerK FWoelffel GarbageYard Maescool QuickJack cpoetter davidwindell digitalLumberjack inongogo paolomainardi sameersbn

repo: sameersbn/docker-gitlab-ci-multi-runner


text:
Add Struct module

Move everything applicable from Record into it.

https://github.com/samhh/fp-ts-std/commit/bb318ba5241aaef05a2241511d27ee1af276bb21 & https://github.com/samhh/fp-ts-std/commit/e0a44cdd1aafbfe461c7e2500eddc44db8b7db8d

repo: samhh/fp-ts-std


text:
Reading tensorflow code

Hi Sam,
This notes is really great, do you have any plan to read tensorflow source code with this whitepaper?

Hey @alephman - would you mind clarifying exactly what your asking? I'm exactly sure how to interpret this question. Is it about whether I'm going to add more specific source code information into this repository?

@samjabrahams  Yeah, the white paper only describes the main idea.   If we know the implementation of knowledge, it could be great! The tensorflow source is becoming complex:  python as the front end, c++ as the core platform, distribution training...

Got it. Well, I've been thinking about writing a more comprehensive "tour" of the TensorFlow code base (as much as to solidify my own understanding as anything else), but I wasn't originally planning on putting it here. That said, it may make more sense to put it in this repository, as this one already has a decent online presence.
So to answer your question: I think yes! It'll take a fair amount of time, however.

Sounds great!

Hi, where have you put this information?

I've definitely done a lot of digging/learning, though I can't say I've "completed" it yet. It may make more sense to do section-by-section breakdowns of the codebase instead of attempting one large swath at once.

If you start doing so, let me know, it would be nice to contribute.

Will do!

@samjabrahams Hi, have you completed the "tour"? If so, where have you put it?

authors: alephman larissa95 samjabrahams zhangpengGenedock


text:
Do I have to use client-only?

I notice in the example you use <client-only>. Is there any way this works with SSR? When I try to I get a hydration mismatch...

Hey @aonghas
unfortunately since Vue 3.4^ there's no way other than wrapping the component in ClientOnly with some loading state while it's hydrating.

<template>

Universal Render

Calendar

    <ClientOnly>
      <VCalendar v-model="date" />

      <template #fallback> loading... </template>
    </ClientOnly>

Date Picker

    <ClientOnly>
      <VDatePicker v-model="date" :attributes="attrs" />

      <template #fallback> loading... </template>
    </ClientOnly>

</template>

it's an issue from vcalendar itself as it uses vue-screen-utils package and it doesn't work in ssr.
If you're using the DatePicker component with Popper like in this example where the component is hidden initially I guess it won't be an issue.
I have looked for alternatives and in terms of features the only one that comes close is radix-vue calendar component but it is still in alpha.
Another solutions that looked appealing at first glance but one the bundle size is huge and the other is still in beta

Schedule-X calendar also needs to be wrapped in ClientOnly
qcalendar it's from Quasar

Fair, thanks for replying! Didn't know about client-only fallback so that's handy. I'll keep an eye on radix Vue in the meantime!

authors: aonghas samk-dev

repo: samk-dev/nuxt-vcalendar


text:
convert: auto convert during import hangs indefinitely

Auto converting files during import hangs indefinitely.
config.yaml
directory: /media/raid/beets

import:
  incremental: yes

paths:
  default: $albumartist/$album%aunique{}/$track - $title
  singleton: Non-Album/$artist/$title
  albumtype:soundtrack: Soundtracks/$album/$track - $title
  comp: Compilations/$album%aunique{}/$track - $title

plugins: web ihate scrub lastgenre fetchart embedart convert

ihate:
  skip:
    - format:mp3
    - format:alac
    - format:aac
    - format:opus
    - format:ogg
    - format:wma

lastgenre:
  canonical: yes

embedart:
  ifempty: yes

convert:
  auto: true
  command: avconv -i $source -codec:a libmp3lame -qscale:a 0 $dest
  extension: mp3

beet import output:
pi@persephone ~ $ beet import /media/raid/rip/Sia\ -\ Colour\ The\ Small\ One\ \(2004\)\/

/media/raid/rip/Sia - Colour The Small One (2004) (12 items)
Correcting tags from:
    Sia - Colour The Small One
To:
    Sia - Colour the Small One
URL:
    http://musicbrainz.org/release/0902b776-dadf-4fce-93f2-7815acb17b3a
(Similarity: 100.0%) (CD, 2004, GB)
 * Don't Bring Me Down                -> Don’t Bring Me Down
 * Natale's Song                      -> Natale’s Song
 * The Church Of What's Happening Now -> The Church of What’s Happening Now
Encoding /media/raid/rip/Sia - Colour The Small One (2004)/08 - Butterflies.flac

The process hangs here
ps aux shows:
pi       21832  0.5  2.6  37616 11620 pts/2    S+   15:32   0:00 avconv -i /media/raid/rip/Sia - Colour The Small One (2004)/01 - Rewrite.flac -codec:a libmp3lame -qscale:a 0 /tmp/tmpkBxkt_.mp3

So the command is definitely running; however, ls -lh /tmp shows:
-rw------- 1 pi       pi       0 Mar 26 15:32 tmpkBxkt_.mp3

ie. nothing is being written to the file
To test whether avconv was at fault, I tried running the exact command shown in ps, but it completed successfully.  Note that avconv is the successor to ffmpeg, so their behavior should be more or less identical.
Tested using beets version 1.3.10 on Raspberry Pi B+ running Raspbian GNU/Linux 7 (wheezy) 3.18.7+

I should add that importing without auto convert, then converting out of the library works fine, so this appears specific to the auto conversion process.

This may come as no surprise, but the following script converts the file successfully:
from beets.util import command_output
import shlex
args = shlex.split('avconv -i /media/raid/rip/Sia\ -\ Colour\ The\ Small\ One\ \(2004\)/01\ -\ Rewrite.flac -codec:a libmp3lame -qscale:a 0 /tmp/tmpkBxkt_.mp3')
command_output(args)

This was based off def encode() in convert.py.  I was trying to run
encode('avconv -i $source -codec:a libmp3lame -qscale:a 0 $dest',
  '/media/raid/rip/Sia\ -\ Colour\ The\ Small\ One\ \(2004\)/01\ -\ Rewrite.flac',
  '/tmp/tmpkBxkt_.mp3')
```
to expand my test coverage, but I kept getting `beets.util.confit.NotFoundError: convert.quiet not found`.  Obviously I don't know how to initialize `self.config`.

My guess is there must be some sort of file locking issue that is preventing `avconv

Hmmm, so it turns out that avconv was simply asking whether it should overwrite the temporary file.  XD.  Such a simple solution...

Huh, that's troublesome. Any guesses as to which flags we should pass to avconv so it never asks for input? It would be great if we could just ask it to crash if something like this goes wrong.

The solution was to pass the -y option to avconv, which tells avconv to overwrite the file.  The resulting command looked like this:
avconv -y -i $source -codec:a libmp3lame -qscale:a 0 $dest

Got it! Thanks.

Is this still relevant? Cuz it seems i'm experiencing smth similar.

authors: autochthe sampsyo xeverse

repo: sampsyo/beets


text:
Unable to update record per docs

The 0.2.x docs provide the following example:
let post = blogPosts.find(1);
post.update('title', 'Hipster ipsum'); // the db was updated
post.update({
  title: 'Lorem ipsum',
  created_at: 'before it was cool'
});

I've got a route handler that attempts the following:
this.patch('http://localhost:3000/api/v1/contracts/:id', function({ contracts }, request) {
    let newAttributes = this.normalizedRequestAttrs();
    let { id } = request.params;
    let contract = contracts.find(id);
    // contract.attrs.title = newAttributes.title;
    contract.update(newAttributes);
    return contract;
  });

This fails and the title is not updated. However, if I uncomment the third-to-last line, it works. Presumably, update isn't applying the newAttributes hash to the attrs property of the model.
Probably related: calling the attribute directly, e.g., contract.title is null.
I upgraded this app from 0.1.x recently. Did I perhaps miss a change?
UPDATE:
It looks like I missed something in the change from db to schema. This updates the attributes correctly, but seems like a strange way to handle this case:
  this.patch('http://localhost:3000/api/v1/contracts/:id', function(schema, request) {
    let attrs = this.normalizedRequestAttrs();
    let { id } = request.params;
    schema.db.contracts.update(id, attrs);
    return schema.contracts.find(id);
  });

I assume since the shorthand didn't work that something is incorrect upstream.

I can confirm that the updated code works whereas the short hand does not.

It looks like you're just updating the attrs - can you tell me what the shorthand does in your case? Perhaps after the update, check server.db.contracts?
Also you don't ever set contact.attrs, you just do contact.title = 'foo' (attrs is a computed property of sorts).

I'm also unable to do schema.collection.update() and found that some of the methods available on an "ORM collection" are missing here

This problem appears to be inactive

authors: hbrysiewicz remkoboschker samselikoff sirvine wecc

repo: samselikoff/ember-cli-mirage


text:
IE create account issue

Error Message comes up when I try to create an account on Internet Explorer. No problem on Google Chrome.

What error message? Which version of IE?
Could it be this error?

The error message is:
“Error
Invalid Recapture Value”
Version of IE is:
Microsoft Edge 42.17134.1.0
Microsoft EdgeHTML 17.17134
From: Samuel Colvin notifications@github.com
Reply-To: samuelcolvin/nosht reply@reply.github.com
Date: Wednesday, 26 September 2018 at 17:52
To: samuelcolvin/nosht nosht@noreply.github.com
Cc: Rose Lukas rose@handsupfoundation.org, Author author@noreply.github.com
Subject: Re: [samuelcolvin/nosht] IE create account issue (#132)
What error message? Which version of IE?
Could it be thishttps://sentry.io/the-hands-up-foundation/hands-up-events/issues/702077527/?query=is:unresolved error?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/samuelcolvin/nosht/issues/132#issuecomment-424790517, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AncwI45g1DYYpbjVh-MCEyzDU9AgcnfJks5ue7DKgaJpZM4W7DlI.

Yes, google has decided it's not sure whether you're a real user. Probably because you're not signed into chrome. Not much I can do about this.

authors: roselukas samuelcolvin

repo: samuelcolvin/nosht


text:
Dataclass unable to override getattribute?

Hi,
I was trying to overload the "getattribute" with the default.
This results into a pydantic validation error:
getting `__class__`
getting `__class__`
getting `__class__`
getting `__class__`
getting `__post_init__`
E   pydantic.error_wrappers.ValidationError: 1 validation error for Start
E   input
E     'NoneType' object is not callable (type=type_error)

pydantic\dataclasses.py:82: ValidationError

Without the overloading everything runs fine.
Is it possible tp overload the "getattribute" in a dataclass?
Wkr,
Fabian
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.6.1
            pydantic compiled: True
                 install path: C:\Users\...\site-packages\pydantic
               python version: 3.6.7rc1 (v3.6.7rc1:311101f7b6, Sep 26 2018, 16:33:24) [MSC v.1900 64 bit (AMD64)]
                     platform: Windows-10-10.0.18362-SP0
     optional deps. installed: ['typing-extensions']

...

from pydantic.dataclasses import dataclass
@dataclass()
class Input:

    struct1: int

    def __getattribute__(self, attr):
        print("getting `{}`".format(str(attr)))
        super().__getattribute__(attr)

Hello @grove825
You forgot to return it ;)
    def __getattribute__(self, attr):
        return super().__getattribute__(attr)

Cheers

repo: samuelcolvin/pydantic


text:
Unable to resolve constant Sorbet

$ srb
spec/spec_helper.rb:385: Unable to resolve constant Sorbet https://srb.help/5002
     385 |RSpec::Sorbet.allow_doubles!

I followed the directions in the readme. I added the gem 'rspec-sorbet' to the Gemfile, bundle installed, and spec_helper.rb has the following combination after installing the gem
require 'rspec/sorbet'
RSpec::Sorbet.allow_doubles!

Running this solved it for me:
$ bin/tapioca gem rspec-sorbet

repo: samuelgiles/rspec-sorbet


text:
Image links broken in production.

Image links show up as http://hivemind.samurailink3.comhttp//s3.amazonaws.com/hivemind-app/posts/images/000/000/009/original/locker_room_sexy.jpg?1416412805 in the RSS feed.

Fixed in 66b6def25908cbebb713b2502118f048b7ab3e75


text:
Create User Guide

Create a basic user guide so newcomers will know how to use Sandiego. (This will evolved as the tool/Explorer does).

This will have a tentative creation date of July 1, 2022, conflicts notwithstanding.

repo: sandiego-rh/sandiego


text:
x902 update work progress

Added field mostRecentOperation to workProgress

https://stackoverflow.com/a/513839/3890632
Using == on strings tests if they are the same object. Two strings with the same value may or may not be the same object.
On 15 Aug 2022, at 14:48, Ben Topping @.@.>> wrote:
@BenTopping commented on this pull request.

In src/main/java/uk/ac/sanger/sccp/stan/request/WorkProgress.java [github.com]https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sanger_stan-2Dcore_pull_112-23discussion-5Fr945758688&d=DwMCaQ&c=D7ByGjS34AllFgecYw0iC6Zq7qlm8uclZFI0SqQnqBo&r=8FDh7yCENkQ3YLka_1FhIdz4cDKu2XVJvPb41vFUimI&m=RxNaBOhClyZE1rAafrbqdZTRZ2xy9ciwUfc1tI4_o_5pjNToBuYYYw7dDnABmQWa&s=nWMpLlJuqWnaXizJ6JaYJTbnRCTkVO2cAZkLcdRFIdw&e=:

@@ -101,16 +112,17 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) return false;
WorkProgress that = (WorkProgress) o;
return (Objects.equals(this.work, that.work)

           && Objects.equals(this.timestamps, that.timestamps));

           && Objects.equals(this.timestamps, that.timestamps))

           && this.mostRecentOperation==that.mostRecentOperation;

Ive seen this syntax in other equals methods, just wondering the difference / benefits for Objects.equals over this
—
Reply to this email directly, view it on GitHub [github.com]https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sanger_stan-2Dcore_pull_112-23discussion-5Fr945758688&d=DwMCaQ&c=D7ByGjS34AllFgecYw0iC6Zq7qlm8uclZFI0SqQnqBo&r=8FDh7yCENkQ3YLka_1FhIdz4cDKu2XVJvPb41vFUimI&m=RxNaBOhClyZE1rAafrbqdZTRZ2xy9ciwUfc1tI4_o_5pjNToBuYYYw7dDnABmQWa&s=nWMpLlJuqWnaXizJ6JaYJTbnRCTkVO2cAZkLcdRFIdw&e=, or unsubscribe [github.com]https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ADK2FSDZEWJOK3YUMNMO47DVZJDERANCNFSM56SIJIPQ&d=DwMCaQ&c=D7ByGjS34AllFgecYw0iC6Zq7qlm8uclZFI0SqQnqBo&r=8FDh7yCENkQ3YLka_1FhIdz4cDKu2XVJvPb41vFUimI&m=RxNaBOhClyZE1rAafrbqdZTRZ2xy9ciwUfc1tI4_o_5pjNToBuYYYw7dDnABmQWa&s=MC8uVFcFzIhK7AIHMrBIUWKbQpcLH1n0M7MI3zueY6s&e=.
You are receiving this because you commented.Message ID: @.***>
--
The Wellcome Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.

authors: BenTopping khelwood

repo: sanger/stan-core


text:
Revalidate API token

I have to revalidate my API token after I have entered it on the initial start up. I have been trying to show the document in the Sanity Studio as it's described here in the readme

The token is stored in the dataset as a document of the type mux.apiKey with the id secrets.mux. Having the ID be non-root ensures that only editors are able to see it.

I have also tried deleting the studio and setting it up fresh however the keys seem to be stored in cached somewhere and I cannot get that start up screen again. Any information here would be great.

Hey, I have the same issue, was there a solution for this. Seems to be cached somewhere, uninstalling the plugin and reinstalling doesn't fix

It seems to be cached in the dataset somehow, creating a new one resolved the issue

This plugin seems half baked. There is no info in the UI explaining the signed url opinion and if checked, you cannot revoke your choice. Then you'll have to try to remove all related code everywhere to try to reset, but then you'll get invalid credentials error. Creating a new dataset is not an option for me so no MUX it is.

I agree and I am sorry to read this, I do get your frustrations. I was rather lucky for this to happen to me on a small site.
I did the usual, deleted npm, and removed package-lock.j.son.
I then removed this plugin from sanity.config....then reinstalled it all.
To my dismay it is cached in the data set. So I created a new one.
Solution:

Create a new data set but keep project.
Renaimed it "production-2".
Replaced "production" with"production-2" in sanity.config, next.config and sanity.cli.js

It allowed me to reset.
Draw back is you need to then populate the new data set.

As I found out here, the trick is to run this CLI command: sanity documents delete secrets.mux
It deletes the stored mux data in the dataset and you'll be able to reconfigure the API.

Thank you both @Lehmons and @HumidBrains for the feedback and sorry for the wait and frustrating experience.
We're still considering ways of making this flow more robust, but we've made the following improvements:

Note on the signing key behavior in the documentation (at the time of writing, it'll come in an upcoming release)
Ability to configure the plugin's credentials at any time from the uploader/input

This allows you to swap the signing key and have the plugin re-generate the private key, which would fix the reported issues

And to clarify, the cached key is private. The _id: 'secrets.mux' document is private via Sanity's ID paths, so you're safe :)

I'm closing this issue, feel free to comment and tag me if there's something else I'm missing - thank you again 🙏

authors: HumidBrains Lehmons hdoro tayteboss

repo: sanity-io/sanity-plugin-mux-input


text:
🛑 Gitea is down

In 33be85e, Gitea ($GITEA_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Gitea is back up in 2e5a304 after 2 hours, 24 minutes.

repo: sannidhyaroy/Uptime-Ryuu


text:
Can't get dark theme to be enabled

(Thanks for reporting an issue to Effitask! If you haven't already read the
contributor
guidelines,
Please do that now, then procede to fill out the details below.)
What are the minimum necessary steps to reproduce this issue?

install dependencies (debian) - apt install libgtk-3-dev
git clone the repo
set GTK_THEME="x:dark"
make
make install PREFIX=$HOME/.local
set TODO_DIR, TODO_FILE, DONE_FILE
run effitask

What happens?
effitask uses light theme
What were you expecting to happen?
for effitask to use the dark theme
Please paste any error or log messages here
(if long, you can link to a gist)
Any other details
I use LXQT so maybe that is part of the reason? However in src/application/widget.rs I logged out that it should be using the dark theme:
         if let Ok(theme) = std::env::var("GTK_THEME") {
+            println!("GTK_THEME {}", theme);
             if theme.ends_with(":dark") {
+                println!("should use dark theme!");
                 stylesheet = "style_dark.css";
             }

 $ effitask
GTK_THEME x:dark
should use dark theme!

Can you post a screenshot?
The dark stylesheet is small and only adjust background colors. The other changes are made by the theme itself.

@sanpii Aha I see, I didn't realize.

authors: maheshsundaram sanpii

repo: sanpii/effitask