s3Upload() doesn't work if includePathPattern matches multiple files

Version 1.26
Assuming we have the following content in the build directory:
Houseparty-arm64-v8a.apk
Houseparty-armeabi-v7a.apk
Houseparty-x86.apk
mapping.txt

And we want to upload it to S3:
This works:
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*-arm64-v8a.apk', workingDir: 'build')
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*-armeabi-v7a.apk', workingDir: 'build')
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*-x86.apk', workingDir: 'build')
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*.txt', workingDir: 'build')

This doesn't work and only uploads mapping.txt:
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*.apk', workingDir: 'build')
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*.txt', workingDir: 'build')

This doesn't work either and doesn't upload anything:
s3Upload(bucket: 'hp-client-builds', path: "jobs/$JOB_NAME/$BUILD_NUMBER/", includePathPattern: '*', workingDir: 'build')

Same here. I have a backup file that is generated dynamically, the name of the file changes every time, then I have to use includePathPattern. But when the plugin matches only 1 file, it throws the error.

can you try again with 1.27

This issue is still unresolved in 1.31

Can you please describe your setup? I cannot reproduce the problem.

dir('build') {
    withEnv(['GIT_SSH=run_ssh.sh']) {
        sh """
            ./make-package
            // This produces ${BUILD_PARENT}.tar.gz
            // This produces ${BUILD_PARENT}.tar.gz.sha1
        """
    }
}
withAWS(credentials: 'dash-build-s3upload', region: 'us-west-1') {
    s3Upload bucket: 'website-pull-request-builder.e1.usw1.opendns.com', includePathPattern: "*tar*", workingDir: 'build'
}

Seems it's known bug but still waiting for taking into consideration:
https://issues.jenkins-ci.org/browse/JENKINS-47046
One of the workaround would be usage of pipeline findFiles:
https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#findfiles-find-files-in-the-workspace

The problem is that I cannot reproduce it on my test setup to debug the root cause.

I am also seeing this error :/

I believe I may be able to clarify the issue a bit here. The problem appears to arise on Windows agents, but not on *nix agents.
Example pipeline
pipeline {
    agent { label 'master' }

    stages {
        stage('Generic files')
        {
            steps {
                dir('test') {
                    writeFile file: 'test.csv', text: 'fake csv file for testing'
                    writeFile file: 'test.log', text: 'fake log file for testing'

                    dir ('results') {
                        writeFile file: 'test.csv', text: 'fake csv file within results directory'
                        writeFile file: 'test.log', text: 'fake log file within results directory'
                    }
                }
            }
        }
    }

    post {
        always {
            withAWS(credentials: 'MY_CREDENTIALS', region: 'MY_REGION') {
                s3Upload(bucket: "test-bucket", includePathPattern: "test/results/*", path: "test-dir/")
                s3Upload(bucket: "test-bucket", includePathPattern: "test/results/results*", path: "test-dir/")

                s3Upload(bucket: "test-bucket", includePathPattern: "test/results", path: "test-dir/")
                s3Upload(bucket: "test-bucket", includePathPattern: "test/results/", path: "test-dir/")
            }
        }
    }

When running on a *nix agent, the first, second, and fourth s3Upload commands will properly upload all of the data.
When running on a windows agent (e.g. change master agent to a windows-specific agent), none of the s3Upload commands will upload a file.

Can you try what happens if you use \ as path separator?

This bug does happen on Linux.
On Thu, Feb 21, 2019 at 9:35 AM Thorsten Hoeger<EMAIL_ADDRESS>wrote:

Can you try what happens if you use \ as path separator?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jenkinsci/pipeline-aws-plugin/issues/83#issuecomment-466092285,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmUy8p6KaRr-zQGLseuyBDnWcSrg-buks5vPtjKgaJpZM4Tu66k
.

Using \\ as the path separator does not make the problem go away. I can reliably upload using the above pipeline on Linux, but it will fail every time from a windows agent.

@ryan-summers it totally happens on *nix agents as well. In fact, I didn't even know you could use a windows agent.

Perhaps the windows vs. *nix agents upload is a different issue then.

Any progress on this? Running into same issue on *nix agents as well.

Seems to be an issue only on slaves. If you run the exact same pipeline on the master, it appears to work. See: https://issues.jenkins-ci.org/browse/JENKINS-44000

I was having this exact same problem, building the plugin from source resolved my issue (docker slaves).

This works fine in slave too..
Example Pipeline stage
stage('Deployment')
{
steps
{
script
{
def files = findFiles(glob: 'build/.')
withAWS(region:'us-east-1',credentials:'AutoDeployer')
{
files.each {s3Upload(file:"${it}", bucket:'mymnr.dev', path:"",pathStyleAccessEnabled:true, payloadSigningEnabled:true, acl:'PublicRead')}
}
                files = findFiles(glob: 'build/static/css/*.*')
                withAWS(region:'us-east-1',credentials:'AutoDeployer')
                {
                        files.each {s3Upload(file:"${it}", bucket:'mymnr.dev', path:"static/css/",pathStyleAccessEnabled:true, payloadSigningEnabled:true, acl:'PublicRead')}
                }

                files = findFiles(glob: 'build/static/js/**')
                withAWS(region:'us-east-1',credentials:'AutoDeployer')
                {
                        files.each {s3Upload(file:"${it}", bucket:'mymnr.dev', path:"static/js/",pathStyleAccessEnabled:true, payloadSigningEnabled:true, acl:'PublicRead')}

                }
            }
        }
    }

Hi, is there any progress on this or has it been reasolved? I am on v1.36, using it to separate regular vs gz files. perhaps I am using it the wrong way also. Help appreciated.
    stage('Deploy') {
      when {
        branch "master"
      }

      steps {
        s3Upload(
          bucket: "${S3_BUCKET}",
          path: "${S3_PATH}",
          file: "dist",
          includePathPattern: "**/*",
          excludePathPattern: "**/*.gz",
          acl: "PublicRead"
        )

        s3Upload(
          bucket: "${S3_BUCKET}",
          path: "${S3_PATH}",
          workingDir: "dist",
          includePathPattern: "**/*.gz",
          contentEncoding: "gzip",
          acl: "PublicRead"
        )
      }
    }


Use single quotes for strings rather than characters?

Whenever I try to "port" a simple Ruby CLI script to Crystal, I immediately run across the problem that Crystal doesn't support single-quoted strings (i.e. ' ' is only allowed for single characters).
This is painful since I always use single quotes for non-interpolated strings. It's a common practice, which is enforced by RuboCop (by default), suggested by RubyMine, and accepted/recommended (formerly preferred) by the Ruby Style Guide.
Is the Char type so commonly used in Crystal that it's worth breaking lexical compatibility with Ruby? How about using Ruby's ?c (or maybe adding %c) instead? That way, a lot of simple scripts could be ported and people (like me) who are keen to start playing with Crystal can focus their energies on taking advantage of its features rather than working around one of its quirks.

The consensus in the Ruby community of preferring ' is actually crumbling, since the proclaimed performance difference is parse time only and hardly measurable, while " provides a usage benefit of being able to add an interpolation any time without changing the quotes.
I dislike ?c, in Ruby too. Ruby introduced it back when String#[] would return codepoints instead of strings, and back then ?c would return the codepoint too, so you could do string[0] == ?a safely. I don't think we should carry that legacy construct over.
%c seems not much better, it conflicts with modulo (a % c) and percent literals %flag seperator content separator, the later mostly on a style basis which still adds confusion, and that's what you're actually trying to resolve here.
Note that the type difference between " and ' is only odd to Rubyists, it's already common practice among other languages, most notably Java and C.
Crystal is a different language, there are more things you need to adjust in about any Ruby script and those being far more than a simple search & replace operation. Most notably here defining empty Array and Hash literals, but there's also no real equivalent to proc and lambda, only a very similar constructs
" is just a thing of getting used to, I raised the same question as you when I started writing Crystal. These days I'm actually adopting " by default in the Ruby I write.

I'm not arguing for or against single quotes. I'm just pointing out that they're common in Ruby and it's the first issue many people will encounter when diving in to Crystal:
> puts 'Hello, world!'

Syntax error in ./hello.rb:1: unterminated char literal

puts 'Hello, world!'
     ^

it conflicts with modulo (a % c)

Ruby seems to handle this OK:
puts 10 % q = 2
puts 10 % Q = 3
puts 10 % w = 4
puts 10 % r = 5
puts 10 % x = 6

0
1
2
0
4

" is just a thing of getting used to

I don't mind a divergence when it's an improvement. I can live with e.g. optparse becoming option_parser since it probably should have been called that in the first place, but I can't remember the last time I used a character type in Ruby, Java &c., so, from my perspective, this feature's cost outweighs its benefit.

but I can't remember the last time I used a character type in Ruby, Java &c., so, from my perspective, this feature's cost outweighs its benefit.

Opposed to Ruby, Crystal does have a focus on performance and efficiency and using a character instead of a string when you need to represent only a single character is a lot more efficient, since you don't need to store an associated length just to provide memory safe operations on it. See https://github.com/manastech/crystal/blob/master/src/string.cr#L89 and https://github.com/manastech/crystal/blob/master/src/char.cr#L47 whereas materializing a char is at most decoding a byte sequence into a number and casting that number to a Char.

Isn't this just habit and convention? Having strings denoted using a single solution instead of two is appealing to me: no more talks wether a project should use single or double quotes by default :-)

Opposed to Ruby, Crystal does have a focus on performance and efficiency and using a character instead of a string when you need to represent only a single character is a lot more efficient, since you don't need to store an associated length just to provide memory safe operations on it.

I'm not suggesting chars be removed, just that their syntax should reflect their usage and not get in the way of a core feature of related languages such a Perl, Ruby and Groovy. A quick grep through the Crystal codebase suggests that (lines referencing) strings outnumber chars by a factor of 7:
git ls-files | grep -P '\.cr$' | xargs grep -P '"(?:\\"|[^"])*"' | wc -l
11027

git ls-files | grep -P '\.cr$' | xargs grep -P "'(?:\\'|[^'])*'" | wc -l
1607

Languages like C and Java use single quotes for chars because, unlike Crystal, they lack support for string interpolation and thus can afford to "waste" single quotes. IMO, it doesn't make sense for Crystal to blow such a large part of its syntactical budget on an (implementation) optimisation when it can be achieved just as well with a similar number of tokens (or fewer!), and without introducing a syntactical incompatibility with Ruby which, IMO, is likely to surprise, confuse and deter many newcomers on their first contact with the language.

As other have said, I think using single quotes for Char and double quotes for String is OK. You mention Perl, Ruby and Groovy: those are dynamic languages. Crystal is not dynamic and is closer to languages like C, D, Go and Java. And in all of these a single quote denotes a character. When I learned Ruby I was actually surprised that they used both to denote strings, it seems like a waste of a symbol which could be used for something else. I guess that's why they ended with ?a, which still denotes a String in Ruby...
I think the language by now is already quite different and full of surprises if you come from Ruby: array and hash literals, generics, abstract methods, type restrictions, type check and type flow but only for variables, no dynamic features, etc. I also don't think it's feasible to port Ruby applications just by copy and pasting: Ruby programmers tend to abuse hashes, symbols and dynamic evaluation.

Although single quoted strings is something to change if you try to port the code, as @asterite mention, there are other issues that prevents direct port of ruby code.
An alternative to change the lexer/compiler to emit chars for single chars single quoted string will be rather confusing I bet. And, i think, there is no penalty to use double quoted strings without interpolations in crystal.

You mention Perl, Ruby and Groovy: those are dynamic languages.

I take your point, but, FWIW, Groovy is both (AKA optionally/gradually-typed), as are Groovy++, Perl 6, Dart, and TypeScript (and arguably C#, Go and Haxe, which all support some form of dynamic/duck typing), though Nim and Kotlin make the same distinction as Crystal. Swift doesn't appear to support single quotes for anything...
IMO, Crystal is (effectively) both as well (in practice) — i.e. the safety of static typing with the convenience of dynamic typing — thanks to its unique type system :-)

Please reconsider support of single quoted strings. Sure this is matter of taste but I greatly dislike that strings in crystal are double quoted only.
Many who comes to crystal are ruby guys. And we love beauty of code above all other things.
Also please reopen this issue so more people are able to participate in the discussion easily.

@scaryzet if you want to revive this discussion you're going to need to be constructive. Respond to the points raised previously and show sensible alternatives to the shown issues.

@jhass Well, I'm a newcomer to crystal. I understand it is focused on performance and usage of the single character type is somewhat extensive.
It just feels weird from rubyist's point of view that "they're not letting you write fancy string literals". Really, single quotes are community choice in ruby. They're easier to type :) and look more elegant. Some people still use double, but they're not the majority.
Yes, I would prefer ?a or %c(a) syntax. Special syntax for those 5% of situations where single characters are really needed. The only argument against those styles so far is subjective dislike. How many other people would dislike ?a and %c(a)? Maybe run a poll or something?
Releasing the single quote mark for string usage really outweights, i think. Strings are more important. Respecting ruby code style standards is more important.
Crystal community is built mostly of rubyists i guess. Crystal community will grow mostly by absorbing more rubyists. Community must be considered first.
Yes, crystal is "a different language" than ruby. But it is mainly appealing as a "compilable version of ruby", not as "yet another language". Ruby-like syntax is the strongest reason one would start using crystal. Please, make it as much similar to ruby as it is possible.
You still have the time to change things while crystal in in its alpha stage.
Anyway, crystal is a great project. Good luck, and keep it going!

@scaryzet What's more beautiful or elegant about single quoted strings? I prefer double quoted string literals and single quoted character literals; all my Ruby strings actually use double quotes.
This way both remain "elegant," (I'd prefer to use the word efficient [for the programmer]) without the need for odd syntax. And more importantly, I believe many people who work with similar languages (C, C++, or Go) will expect this type of behaviour and be familiar with it.

Ruby-like syntax is the strongest reason one would start using crystal.

While this might true, I am still against changing the syntax for character literals, because it would break expectations.

I believe many people who work with similar languages (C, C++, or Go) will expect this type of behaviour and be familiar with it.

In what way is Crystal "similar" to these languages?

In what way is Crystal "similar" to these languages?

@chocolateboy Other than the Ruby-inspired syntax and standard library, I feel like the language is much more C-like than Ruby-like—in a good way. It takes the best from both worlds, and I think the char literal and string literals are better borrowed from C.
Yes, It's all a matter of style, but quite frankly I don't think using double quotes should be such an issue; especially considering all the other stuff that doesn't make Crystal completely Ruby-compatible.

I feel like the language is much more C-like than Ruby-like

In what way?

@omninonsense: let me clarify: I'm not trying to be picky (I am (was) over this issue, because there's no consensus for it, but IMO that doesn't justify broad statements about why Crystal doesn't or shouldn't support single-quoted strings)...
C is weakly and statically typed (waves at stdlib.h). Ruby is strongly and dynamically typed. If you're not already familiar with the design tradeoffs in C++, please check out The Design and Evolution of C++ for the rationale behind the ostensibly puzzling/crazy/unimplementable parts of C++ (TL;DR: backwards compatibility).
Apart from one error message ("space required before colon in type restriction"), I can't see any way in which Crystal resembles Go (and C/C++) beyond the fact that they all aspire to be fast: they're literally opposed on both axes.

The concurrency model is very Go-ish...

@kirbyfan64: awesomely true! :+1:

@chocolateboy Although  [I think] I understand what you meant, weakly/strongly typed are surplus epithets here. Especially since nobody really agrees on what they mean (other than the vague concept of it). You could do same "type atrocities" in Crystal that you could do in C (albeit with a little more typing, probably). When I said similar, I meant… I suppose I meant that they're more similar in how Crystal types map directly to memory the same way C does, rather than being abstract representations (I'm generalising a bit) of it like in Ruby.

nobody really agrees on what they mean

The fact that they're relative terms (i.e. graded on a dial) doesn't mean nobody understands what they mean :-)

they're more similar in how Crystal types map directly to memory the same way C does, rather than being abstract representations

I don't think that's true in general. Crystal's fibers are easy to work with/reason about, precisely because they shield you from the implementation details:
p spawn {}

#<Fiber:0x1c13d90 @cr=Pointer(Void)@0x7faf0d454000,
@proc=#<( -> Void):0x418d50>,
@stack=Pointer(Void)@0x7faf0d454000,
@stack_top=Pointer(Void)@0x7faf0dc54000,
@stack_bottom=Pointer(Void)@0x7faf0dc54000,
@next_fiber=nil,
@prev_fiber=#<Fiber:0x1c13e00 @cr=Pointer(Void)@0x7faf0dc54000,
@proc=#<( -> Void):0x418b60>,
@stack=Pointer(Void)@0x7faf0dc54000,
@stack_top=Pointer(Void)@0x7faf0e454000,
@stack_bottom=Pointer(Void)@0x7faf0e454000,
@next_fiber=#<Fiber:0x1c13d90 ...>,
@prev_fiber=#<Fiber:0x1c13e70 @cr=Pointer(Void)@0x7faf0e454000,
@proc=#<( -> Void):0x417be0:closure>,
@stack=Pointer(Void)@0x7faf0e454000,
@stack_top=Pointer(Void)@0x7faf0ec54000,
@stack_bottom=Pointer(Void)@0x7faf0ec54000,
@next_fiber=#<Fiber:0x1c13e00 ...>,
@prev_fiber=#<Fiber:0x1c13ee0 @cr=Pointer(Void)@0x7faf0ec54000,
@proc=#<( -> Void):0x4177c0>,
@stack=Pointer(Void)@0x7faf0ec54000,
@stack_top=Pointer(Void)@0x7faf0f454000,
@stack_bottom=Pointer(Void)@0x7faf0f454000,
@next_fiber=#<Fiber:0x1c13e70 ...>,
@prev_fiber=#<Fiber:0x1c13f50 @cr=Pointer(Void)@0x1bbf520,
@proc=#<( -> Nil):0x417730>,
@stack=Pointer(Void).null,
@stack_top=Pointer(Void)@0x7ffe3a0e2524,
@stack_bottom=Pointer(Void)@0x7ffe3a0e3000,
@next_fiber=#<Fiber:0x1c13ee0 ...>,
@prev_fiber=nil,
@resume_event=nil>,
@resume_event=nil>,
@resume_event=nil>,
@resume_event=nil>,
@resume_event=nil>

Single quotes denote a single Char and double quotes denote a UTF-8 String. This is a design decision. It was taken unilateraly by the language creators, and chars provide a nice and free performance boost over strings in many string related operations (just change " for '). It's a strange difference when coming from a script language like Ruby, Python or JavaScript (I was too), so this thread was created, alternatives were proposed, but they didn't bring any better readability (quite the opposite, consider string.split(':') vs string.split(%c(:))), and the thread was closed. IMHO it won't be reconsidered.
I'm sorry if you can't stand double quote strings. Please consider that using chars may happen a bit more often than you could think at first, and you don't want your code to become harder to read, just because a single char is now a special construct like %c(:) instead of just ':'.
Can we consider the matter closed, now? Let's avoid some heated (and slightly off topic) discussion, please :-)

:clap: :clap: :clap:

I found a decent solution today, not for portability from Ruby, but for a literal strings (without adding/changing any features to crystal). I needed a raw string and the heredoc and other string syntaxes weren't going to work so I was pretty disappointed back when I read this.
My solution is just overloading the - operator for regular expressions, but it seems to work pretty well.
class Regex
    def -
        return self.inspect[1,self.inspect.size-2]
    end
end

puts -/literally\n/
#outputs:literally\n

@jeff-hykin i'm extremely confused - can't you use puts %q(literally\n)? https://carc.in/#/r/390r

I need/needed all four of ()[]{}<> to be in the string (my literal string happened to be a regular expression). This:
%q(literally\)\n)
Doesn't run; can't escape the )
With the -/literally/ notation this:  -/literally\/\n/  still allows for the / to be escaped, but everything else is raw.
Their may be a way I'm unaware of to escape the ( inside of %q(), but I spent awhile digging through documentation and testing without any success.
I was using this for alternate regular expressions (ex: PCRE regex) that someone else needed to use inside of Crystal. Even if the %q() allowed escaping, it would mean all of the Ruby code he was porting would need twice-escaping because the Ruby '\(' would have to become %q(\\\(). It's a quick and easy-to-use library that depends on '' so if you change '' to %q() and also require special escapes for ( the library stops being quick and easy to use.
The ideal solution (without redefining single quotes) would be adding triple single quotes to Crystal ex: '''literally\n'''. It is relatively easy to replace single quote strings from a Ruby file with some other syntax (ex: %q()), so long as no additional escaping or un-escaping needs to be done within the ported Ruby strings.
Even my -// solution requires Ruby strings to internally change:
/ to /
' to ' and
\ to \
I could do the last two myself within the operator overload (it wouldn't really be a raw/literal string if I implemented that though) However the first one is, somewhat obviously, outside of my control since it's relying on Crystals literal regex // notation.
Triple single quotes would be kind of nice too since it would work if it were copy-and-pasted from Crystal back to Ruby. (Ruby evaluates the first two single quotes as an empty string and joins that with the middle two quotes as a literal string, and then joins that with the final empty two-single-quotes string).

If I understand your issue correctly, it is essentially that Crystal has no string literal wich does not allow escapes and can hold really arbitrary strings.
Double-quoted strings are escaped and interpolated so you'd have to do a lot of escaping to use certain characters.
The percent string literals %q(), %q[], %q{}, %q<> and %q|| allow to write unescaped strings and offer some variaty for delimiters but they are still limited such that you can't use them for a string that contains all of these delimiters (or at least one per pair) because the delimite can't be escaped.

Their may be a way I'm unaware of to escape the ) inside of %q().

I don't think there is, but maybe it should be escapable as \).
That's by the way also supported by Ruby:
%(\))  # => ")"

Having this feature for percent strings in Crystal would be great. It would be relatively easy to implement and shouldn't break anything since escaped percent delimiters are currently invalid code.
This is certainly better than rededicating single quote delimiters (which is IMHO infeasible) or introducing an additional delimiter syntax.

@jeff-hykin @straight-shoota Can you create another issue for this? It has nothing to do with this (closed) issue.

no problem

are you going to invent a magic char that act as delimiter but not string content?


perf: research performance impact of bytesets

Currently we use some bytesets to improve matching speed

To match space characters
https://github.com/go-faster/jx/blob/3ed0c1e68f22df16301c72a0a8ad8fbfaeabd2e3/dec_read.go#L15-L17
To match digits and skip number
https://github.com/go-faster/jx/blob/97d4e11537fccbf37c5b20d02928699566e866ea/dec_skip.go#L47-L66
To match and validate hex and fast string escaping
https://github.com/go-faster/jx/blob/97d4e11537fccbf37c5b20d02928699566e866ea/dec_skip.go#L242-L256
https://github.com/go-faster/jx/blob/c048666824dfa9ee5a0aad4f439faac3d70d0f47/w_str.go#L211-L219
To make HTML-safe escaping
https://github.com/go-faster/jx/blob/c048666824dfa9ee5a0aad4f439faac3d70d0f47/w_str.go#L14

Totaly we have 6 sets, 5 of [256]byte and one [128]byte, it tooks 256*5 + 128 = 1408 bytes.
In benchmarks it performs well because we use only 1-2 of them.
But it may cause cache pollution and slow down parser in realistic cases.
We need to research real impact of such optimizations and possibly use comparsion instead or merge some sets and use bit masks.


WARNING: There is no master router configured! Please check if "master" is enabled in config.

Hi,
i think, this is not really a but, but i get this warning permanently
WARNING: There is no master router configured! Please check if "master" is enabled in config.
I tried to set master to false, but nothing changed.
Thank you

I solved this issue, by setting the tag "active": true
Thank you.
It can be closed

Hi, I did get the same message but can't find "the master" to set to active. I didn't even find anything like a master in the config. Can you please explain, how and where did you done this?
Thanks


linux module handling: support kernels without modules

Motivation for this change
A kernel without any modules used to be a problem. With this change you can make it work. Going without modules improves security and performance in specialized applications.
Example:
boot.kernelPackages = yourKernelPackagesWithoutModules;

boot.initrd.kernelModules = lib.mkForce [];
boot.initrd.availableKernelModules = lib.mkForce [];
boot.kernelModules = lib.mkForce [];

Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

I want to wait a bit for objections/requests for changes, please ping me if nothing happens after a couple of days.

Isn't it ok to just create an empty lib/modules folder ? (haven't looked much at the code)

@teto that was my first thought as well. Sadly, that by itself does solve the whole problem, for two reasons

The directory inside of it is still missing from the input. We need that directory to determine the kernel version.
For rootModules = [], you still need a special case, because you can't determine the kernel version.

The first one may be resolved by ensuring that the directory is always present, but the second one leads me to think that the solution in this PR is a bit more flexible.

I think that special-casing no-modules kernels sounds natural, because even if we create the modules directory during the kernel build, some tool will expect to have modules.alias.bin so maybe it is better to special case than to maintain a perfect empty mockup of the module-related things.

@7c6f434c ready for merge?

I want to wait a bit for objections/requests for changes, please ping me if nothing happens after a couple of days.


Support importing physical-qubit circuits in the OpenQASM 3 importer

What should we add?
This is a proxy issue for Qiskit/qiskit-qasm3-import#1, since it's most visible as part of Terra.
The importer can be updated and released separately to Terra, so this isn't tied to any particular Terra version, but will hopefully be applied during the 0.23 cycle.

I opened PR https://github.com/Qiskit/qiskit-qasm3-import/pull/2

The PR associated with the issue being tracked here https://github.com/Qiskit/qiskit-qasm3-import/pull/2 has been merged. And that issue has been closed as well.


Apache Port changed from 80 to 8080 in container in recent update

Sometime recently (in the last week or so?) I became unable to access this container. Further investigation reveals that the apache instance in the container is now serving on port 8080.
root@7d0ad393d576:~# cat /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:8080>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName bookstack

        DocumentRoot /var/www/bookstack/public

        <Directory "/var/www/bookstack/">
            Options FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
        </Directory>
        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        LogLevel info
</VirtualHost>

From the readme for this project it still looks like you're mapping 8080 on the host to 80 on the container.
The fix for me was to update my docker-compose file to point my reverse proxy (traefik) at port 8080 in the container, but if I'm right and this has changed for everyone that might mean a lot of different solutions for different people.
If this is confirmed, I'm not sure if it would be better to change the port back?

I can see this was intentional due to running apache as non root (meaning it can no longer bind to ports < 1024.
See 6763e15
Would it be worth

Having a big notice on the README to save others time in the upcoming weeks?
Amending the README examples which still map port 8080 on the host to 80 on the container

Hello @AcidUK !
Just adding that for me it was not enough to use traefik.port and had to point it using traefik.http.services.<service_name>.loadbalancer.server.port as the container seems to be exposing both 80 and 8080 ports (even if in the docker-compose I'm only exposing 8080...)


(bug-fix) Ensure inventoryfile is a pathname before passing to outputter

Previously, the inventoryfile passed to the outputter for printing when
running bolt inventory show with the Human outputter could be either a
string or a Pathname, depending on whether the user had configured the
inventory location (string) or was using the default project inventory
(Pathname). We erroneously assumed it would always be a
Pathname, which resulted in a 'method not found' error when we tried
calling exist? on the parameter. This ensures that for this particular
code path the inventoryfile path will always be a Pathname, so we can
safely call methods on it.
More broadly, we should standardize on a format for all filepaths in the
repo, preferably Pathnames. We already do this for paths relative to the
Bolt project.
!bug

Fix 'method not found' error running 'bolt inventory show'
Previously, when running 'bolt inventory show' with a configured
inventory path and the human format a 'method not found' error was
raised. This now correctly prints the targets in the inventory.

Given that we can use the File methods and support both strings and Pathname objects, it seems better for methods that don't control their inputs to use those versions rather than to place a more strict requirement on the caller. That's doubly true for methods we expect to be used as part of the public API for Bolt. I would prefer to only use Pathname methods in cases where the lifecycle is controlled by the object using the path, so we can be sure it will always be a Pathname, rather than in some cases shifting that onus onto the caller.

Hm I didn't think about using the outputter publicly - where is it used from outside of Bolt? My thinking was that we should standardize on using pathnames everywhere, and so this was just a stop-gap until we could do that work. Maybe not though, and we just need to always assume that a path could be a pathname or a string unless we know for sure and it's an internal method?


Stale life list statistics in calendar view

I just noticed the calendar view displays statistics that do not update once an observation’s ID is corrected. For example, this list includes an observation of what we first thought was a Common Merganser but later corrected to a Common Goldeneye. The reference to Common Merganser seems to persist in the “life list first” statistics even after it got corrected. There seems to be a lag in propagating the correct ID or maybe the stats are not updated at all after the observations are created.

I think this was fixed in January in 8ae0e39. Calendar "Life list firsts" should now be dynamic and not based on the the users "Life list" list. Since this is a pretty old ticket I'm going to close it, but if anyone has examples to show otherwise, please re-open with links and an explanation


Add Eclipse SmartHome Designer 0.8.0.

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

@reitermarkus:
-bash-4.4.12- /Users/miccal [> brew cask fetch https://raw.githubusercontent.com/reitermarkus/homebrew-cask/d82d1550a50daf01b84fb4abfce1b23b4d5ad9fd/Casks/eclipse-smarthome-designer.rb
==> Downloading external files for Cask https://raw.githubusercontent.com/reitermarkus/homebrew-cask/d82d1550a50daf01b84fb4abfce1b23b4d5ad9fd/Casks/eclipse-smarthome-designer.rb
==> Downloading https://raw.githubusercontent.com/reitermarkus/homebrew-cask/d82d1550a50daf01b84fb4abfce1b23b4d5ad9fd/Casks/eclipse-smarthome-designer.rb
######################################################################## 100.0%
==> Downloading http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.8.0/eclipsesmarthome-incubation-0.8.0-designer-macosx64.zip&r=1
######################################################################## 100.0%
curl: (56) Recv failure: Connection reset by peer
Error: Download failed on Cask 'eclipse-smarthome-designer' with message: Download failed: http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.8.0/eclipsesmarthome-incubation-0.8.0-designer-macosx64.zip&r=1
The incomplete download is cached at /Users/miccal/Library/Caches/Homebrew/Cask/eclipse-smarthome-designer--0.8.0.zip&r=1.incomplete

All other eclipse Casks seem to be using https, so changed it to https. Does it work now? It works for me either way.


Cant get URP version to download from asset store or package manger

Have tried both package manager and asset store and they both default to built in. Didnt have any problems before but since the latest update have been unable to.

There's an issue going on with Unity Package Manager, which Unity is aware of. It doesn't allow to download the latest versions of the assets. Lots of developers including us are requesting Unity to fix it. meanwhile you can try a few things.
If you are using an older version of Unity, please update it to a more recent one, 2020.2.
Prior to re-importing Flat Kit, you'll need to remove already imported Flat Kit from your project, clean all the cache of Unity. It can be found here:
Mac OS: ~/Library/Unity/Asset Store-5.x
Windows: C:\Users\accountName\AppData\Roaming\Unity\Asset Store-5.x
After that restart Unity, open the Package Manager and try importing again.

There's an issue going on with Unity Package Manager, which Unity is aware of. It doesn't allow to download the latest versions of the assets. Lots of developers including us are requesting Unity to fix it. meanwhile you can try a few things.
If you are using an older version of Unity, please update it to a more recent one, 2020.2.
Prior to re-importing Flat Kit, you'll need to remove already imported Flat Kit from your project, clean all the cache of Unity. It can be found here:
Mac OS: ~/Library/Unity/Asset Store-5.x
Windows: C:\Users\accountName\AppData\Roaming\Unity\Asset Store-5.x
After that restart Unity, open the Package Manager and try importing again.

Unity issue to track: https://issuetracker.unity3d.com/issues/package-manager-doesnt-show-available-updates.

Unity issue to track: https://issuetracker.unity3d.com/issues/package-manager-doesnt-show-available-updates.

The new already released versions of Unity should have this bug fixed.


KAFKA-18352: DeleteGroups v0 incorrectly tagged as deprecated (3.9)

The Sarama version listed in the KIP only supports v0.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test failures are unrelated.


ASTRenderer: TypeError: <mistletoe.block_token.TableRow object at > is not JSON Serializable

I may have found a bug in ASTRenderer in generating tables, but perhaps I'm not doing something right.  I'd deeply appreciate your help.
I tried the following script:
#!/usr/bin/env python3

import mistletoe, sys
from mistletoe.ast_renderer import ASTRenderer

filename = sys.argv[1]

with open(filename, 'r') as fin:
   rendered = mistletoe.markdown(fin,ASTRenderer)

With this markdown code:
|       | col 1    |
|-------|----------|
| row 1 | cell 1,1 |

And I get this error:
  File "test_mistletoe.py", line 9, in <module>
    rendered = mistletoe.markdown(fin, ASTRenderer)
  File "//anaconda/lib/python3.5/site-packages/mistletoe/__init__.py", line 19, in markdown
    return renderer.render(Document(iterable))
  1 #!/usr/bin/env python3
  File "//anaconda/lib/python3.5/site-packages/mistletoe/ast_renderer.py", line 15, in render
    return json.dumps(get_ast(token), indent=2) + '\n'
  File "//anaconda/lib/python3.5/json/__init__.py", line 237, in dumps
    **kw).encode(obj)
  File "//anaconda/lib/python3.5/json/encoder.py", line 200, in encode
    chunks = list(chunks)
  File "//anaconda/lib/python3.5/json/encoder.py", line 429, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "//anaconda/lib/python3.5/json/encoder.py", line 403, in _iterencode_dict
    yield from chunks
  File "//anaconda/lib/python3.5/json/encoder.py", line 324, in _iterencode_list
    yield from chunks
  File "//anaconda/lib/python3.5/json/encoder.py", line 403, in _iterencode_dict
    yield from chunks
  File "//anaconda/lib/python3.5/json/encoder.py", line 436, in _iterencode
    o = _default(o)
  File "//anaconda/lib/python3.5/json/encoder.py", line 179, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <mistletoe.block_token.TableRow object at 0x1093806d8> is not JSON serializable

That is indeed a bug! Should be fixed in 2b95898. You can work off the dev branch if you need it working now.
Thank you!


mod_auth_openidc Logout from

Hi,
I can not seem to disconnect from my application because mod_auth_openidc check my OP and find the session always active.
How can I logout from both of them ( my app and the OP ) after calling Logout
Thank you

So called Single Logout, i.e. logout across both RP and OP, can only be achieved when both sides support the logout mechanism that is specified in the OpenID Connect Session Management specification, see https://github.com/pingidentity/mod_auth_openidc/wiki/Session-Management. If the OP does not support Session Management (and thus doesn't expose the required endpoint), mod_auth_openidc will only terminate the local RP session  but it won't be able signal the OP to kill the SSO session there.

Thank you


DOM doesn't seem to be loading...

I'm trying to do some testing with appending elements to a DOM.
I edited envjasmine.html to contain a rudimentary skeleton of a webpage (added html, head and body tags), but whenever I try something as simple as:
console.log(document.getElementsByTagName('body')[0].tagName);

I get 'undefined' back.
Is it supposed to load that html file as the page to manipulate?

Could you share how you did it? It would be great to know!

Sorry!  Yes.  So I'm testing some Backbone Views and Models, but the Views are sometimes reliant on certain elements being present in the HTML DOM when the View is initiated in order to append to it.
All I did was modify the envjasmine.html file to include a rudimentary file structure (html, head, body, etc) and then added the nodes that my models expect to already be present.
Also I wrote a task to run these via ant (and am working on one for Fabric for Python).  I'd be happy to create a pull request for an example Ant integration if you'd like.

It would be great if you could make an EnvJasmine-Ant-Example like https://github.com/trevmex/EnvJasmine-Maven-Example for Maven.
You can do a pull request for tweaking the envjasmine.html as well!


Different errors

When I try running
OverwatchPlayer player = new OverwatchPlayer("kyle#12341", Region.US);
await player.UpdateStats();
 Console.WriteLine(player.Stats.AllHeroes.Best.DamageDoneMostinGame)
I get: Additional information: OverwatchPlayer's Battletag is not valid - Format is 'User#1234`
So I try manually replacing the # with a - and it appears to work until it hits player.UpdateStats() and i get the message "Value cannot be null."

Ah that's my fault, an absolutely vast oversight, I've just fixed and pushed it here and a new version up to Nuget.
Thanks for that, I can't believe I missed it.


Class "Mberecall\CodeIgniter\Library\SlugService" not found

hello, I'm trying to use Slugify library but this error is thrown from Slugify class.
Here's my code:
        // generate unique slug
        $slug = Slugify::model(ArgumentModel::class);
        if ($argument->id_argument) {
           $slug =  $slug->sid($argument->id_argument);
        }
        $input['slug'] = $slug->make($input['title']);

maybe you forgot to import SlugifyService from Slugify class?

Yeah, we forgot to update correctly our Slugify.php file. But Issue resolved. You can remove old version by using this command "composer remove mberecall/ci4-slugify" and reinstall latest version by using "composer require mberecall/ci4-slugify"

ok now it works, thank you


Vertex winding order

I'm working on a prototype module that uses this library + Mapbox elevation tiles to render QuantizedMeshTerrainData tiles in Cesium.
I've managed to get a version working that creates a mesh in Cesium, but all of the tiles are (rather hilariously) warped.

I think the issue relates to some combination of the winding order of triangles and the sorting of vertices. Cesium apparently expects triangles wound in counterclockwise order; there may be some restrictions on the sorting of vertices as well (see e.g. this example dataset). I've tried several combinations of rewinding triangles and sorting vertices to no avail.
This may be a better issue to raise in the Cesium context, but I thought I would start here: are there any guarantees on winding order given by this library? Does the pattern of artifacts in my image above look diagnostic of any particular failure mode? Perhaps a few words in the documentation about how the output mesh is structured would allay my confusion.

This seems like it could be the same issue as https://github.com/mapbox/martini/issues/5#issuecomment-527322212 — can you check?

Hey @mourner. Thanks for looking at this!
It works now! Thanks for resetting my brain. I had already looked at #5 and dismissed (I was already extracting heightfield values). But reviewing it again at your behest, I found an off-by-one error in indexing in my code. 🤦

I'll be working on some of the low-hanging performance and optimization fruit, and bundling into a module, but we can now represent global terrain in Cesium using solely streaming Mapbox data! Thanks for laying the groundwork for this advance.

Fixed in https://github.com/davenquinn/cesium-martini/commit/4e81141f37872f49ec56971b8f75171ecb814f91


[WANT] What App Use Stripe Plugin?

We have created documentation to make the plugin easier to use:
English Documentation: https://stripe.capacitorjs.jp/
Japanese Documentation: https://ja.stripe.capacitorjs.jp/
Please let us know what applications you use this plugin for so that we can include it there. It would be great if you could take a few moments to help us out.
example:
AppStore URL: https://apps.apple.com/**
Google Play URL: https://play.google.com/store/apps/details?id=**
Web URL: https://example.com

Thanks.

Doctr - Canadian app.
We used the plugin for the Android and iOS version. For the web, we used ngx-stripe.
Around 80 000 active installs and 1200 daily users across Android and iOS.
AppStore URL: https://apps.apple.com/app/apple-store/id978914806
Google Play URL: https://play.google.com/store/apps/details?id=ca.doctr
Web URL: https://doctr.ca/app

@ElieSauveterre Awesome app! In fact, Doctr is the first app to know that I'm using this plugin!! Thanks!!

Sunset Beach App
AppStore URL: https://apps.apple.com/it/app/sunset-beach-palmi/id1464731875**
Google Play URL: https://play.google.com/store/apps/details?id=com.nastydevops.sunsetapp**

@ciccilleju Good information! That's an app to make your vacation the best it can be! Thanks!!

exactly :)
it's still "in progress" but it's working very well. I will "transform" it as soon as possible into a "bigger" app, right now is just for one company.

I use this for my Las Vegas locals discount membership app called Vegas Built
AppStore URL: https://apps.apple.com/us/app/vegas-built-for-locals/id1581877921
Google Play URL: https://play.google.com/store/apps/details?id=com.vegasbuilt.app&hl=en_US&gl=US
PWA URL: https://app.vegasbuilt.com
Web URL: https://www.vegasbuilt.com

@mike-cao Thanks for sharing fantastic apps!! I am looking forward to this app improving the local economy👍

We use this plugin for a booking management and marketplace app called Beautify.me.
AppStore URL: https://apps.apple.com/us/app/beautify-me/id1620600612?platform=iphone
Google Play URL: https://play.google.com/store/apps/details?id=me.beautify.www
Web URL: https://www.beautify.me/
Thanks for this awesome plugin!

@yllaw Thanks for information. Oh, this is awesome apps! I thought digital services had to use In-app-purchase on iOS/Android, but surely real services can be charged via Stripe! Your app has given me insight!

We use this for our festival management software. Thank you for this plugin!
App Store URL: https://apps.apple.com/us/app/crave-food-music-festival/id1621391381
Google Play URL: https://play.google.com/store/apps/details?id=com.grubbux.crave
Web URL: https://cravefestival.app (Not using PaymentSheet/this plugin here due to an issue I still need to track down)

@joshstrange Thanks for information. Summer is a time for festivals. In Japan, it is a summer tradition!
Covid-19 has increased the number of cases of pre-payment, and I'm glad to see this plugin being used in these situations. Thank you!

PrtyApp

@christ0089 Very interesting app! I often have trouble running out of alcohol when I drink, so I find it very interesting. Thanks for the information!

https://github.com/capacitor-community/stripe/issues/299

Product Name: Maasify
Product URL : https://maasify.io/

https://github.com/capacitor-community/stripe/issues/296

Product Name: Palmetto
Product URL : home.palmetto.com

https://github.com/capacitor-community/stripe/issues/288

Product Name: Udelf (App In Development)
Product URL: https://www.udelf.com/

https://github.com/capacitor-community/stripe/issues/287

Product Name: jezsel
Product URL : https://jezsel.nl/

https://github.com/capacitor-community/stripe/issues/285

Product Name: GalaMuebles
Product URL : gala-muebles.web.app

Product name: Hivepass
Purpose: SaaS for mountain bike organisation membership management (digital card member app)
Web URL: https://hivepass.app/
App Store URL: https://apps.apple.com/nz/app/hivepass/id1573527302
Google Play URL: https://play.google.com/store/apps/details?id=app.hivepass.hivepass
Currently implementing for our 50K users now it has the features we need.

AppStore URL: Apple
Google Play URL: Google Play
Web URL: Website


POD not starting in Centos 7 Kubernetes 1.8.4 cluster

Hi,
while creating the daemon set, pod is not starting, its crashing with this error message.

k logs kube-keepalived-vip-9sdg2
ERROR: logging before flag.Parse: F1211 19:18:30.419110       1 main.go:105] unexpected error: exit status 1

here is pod log
 k describe pod kube-keepalived-vip-9sdg2
Name:           kube-keepalived-vip-9sdg2
Namespace:      default
Node:           k8s17-02/<IP_ADDRESS>
Start Time:     Mon, 11 Dec 2017 18:46:22 +0000
Labels:         controller-revision-hash=3248544204
                name=kube-keepalived-vip
                pod-template-generation=2
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"DaemonSet","namespace":"default","name":"kube-ke
epalived-vip","uid":"7930b6fb-dea3-11e7-a6ca-525400ada096"...
Status:         Running
IP:             <IP_ADDRESS>
Created By:     DaemonSet/kube-keepalived-vip
Controlled By:  DaemonSet/kube-keepalived-vip
Containers:
  kube-keepalived-vip:
    Container ID:  docker://38ba65ccc3db309883f76ac78c0998c191dfa2dcbfcfd57a1d3343c88dcbd983
    Image:         aledbf/kube-keepalived-vip:0.23
    Image ID:      docker-pullable://aledbf/kube-keepalived-vip@sha256:5fa8abf3ec60bdcb59921d472d4f6f022b715b34b8120ee175c764f710f1c8c0
    Port:          <none>
    Args:
      --services-configmap=default/vip-configmap
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    255
      Started:      Mon, 11 Dec 2017 19:18:30 +0000
      Finished:     Mon, 11 Dec 2017 19:18:30 +0000
 Ready:          False
    Restart Count:  11
    Environment:
      POD_NAME:       kube-keepalived-vip-9sdg2 (v1:metadata.name)
      POD_NAMESPACE:  default (v1:metadata.namespace)
    Mounts:
      /dev from dev (rw)
      /lib/modules from modules (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-tnxvd (ro)
Conditions:
  Type           Status
  Initialized    True
  Ready          False
  PodScheduled   True
Volumes:
  modules:
    Type:  HostPath (bare host directory volume)
    Path:  /lib/modules
  dev:
    Type:  HostPath (bare host directory volume)
    Path:  /dev
  default-token-tnxvd:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-tnxvd
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.alpha.kubernetes.io/notReady:NoExecute
                 node.alpha.kubernetes.io/unreachable:NoExecute
                 node.kubernetes.io/disk-pressure:NoSchedule
                 node.kubernetes.io/memory-pressure:NoSchedule
Events:
  Type     Reason                 Age                 From               Message
  ----     ------                 ----                ----               -------
  Normal   SuccessfulMountVolume  36m                 kubelet, k8s17-02  MountVolume.SetUp succeeded for volume "dev"
  Normal   SuccessfulMountVolume  36m                 kubelet, k8s17-02  MountVolume.SetUp succeeded for volume "modules"
  Normal   SuccessfulMountVolume  36m                 kubelet, k8s17-02  MountVolume.SetUp succeeded for volume "default-token-tnxvd"
  Normal   Created                36m (x3 over 36m)   kubelet, k8s17-02  Created container
  Normal   Started                36m (x3 over 36m)   kubelet, k8s17-02  Started container
  Warning  BackOff                35m (x4 over 36m)   kubelet, k8s17-02  Back-off restarting failed container
  Normal   Pulling                35m (x4 over 36m)   kubelet, k8s17-02  pulling image "aledbf/kube-keepalived-vip:0.23"
  Normal   Pulled                 35m (x4 over 36m)   kubelet, k8s17-02  Successfully pulled image "aledbf/kube-keepalived-vip:0.23"
  Warning  FailedSync             1m (x155 over 36m)  kubelet, k8s17-02  Error syncing pod

you should manually run command modprobe ip_vs and verify /proc/net/ip_vs exist.
hope this help.


Android - Prompt to used saved keystore info during build

We use the same Android.keystore file for multiple apps.
When doing a build I was prompted for the keystore and chose the keystore I had used a week before for another app.
After being prompted for the password the build is fired off.
This doesn't give me the opportunity to specify which APP in the keystore I am using.
The build completed with what I am assuming the wrong keystore information (app name from last week that is stored in extension settings).
I had to delete the stored settings.
I propose when doing an Android build, after selecting the .keystore file, the extension prompts the user with "Use Last Saved Keystore Information?" (Yes/No).  Alternatively, the build process could still prompt for the keystore alias but at that point we are entering almost everything again. Alternative #2, the extension could prompt during build "Use saved keystore information for ${<Alias Name>} ?"
It took me a couple builds to see in the bottom right corner a notification that saved keystore information was being used and a button to delete the saved information.

@newportsolutionsgroup  I'm not sure I'm understanding "This doesn't give me the opportunity to specify which APP in the keystore I am using.", the information used/saved for a keystore is the alias, location, password, and privateKeyPassword.
My understanding is that if a keystore is shared between apps then this information is the same between apps as the information is for the keycstore itself and not the application. If the information was invalid (say alias=foo was provided but alias=bar is correct) then the Titanium build would error as it wouldn't be able to sign the application using that keystore as it is invalid.
Is my understanding incorrect/incomplete? Doing some research it seems like a keystore can contain multiple keypairs that can be identified by the alias argument? That makes storing the keystore information a bit more complex as we currently use the keystore path as a key for the information (including alias) so I think that would need completely reworking here


Version less comparision for JavaFX modules on classpath

This PR is an attempt to fix transitive dependency failure. It happens when a transitive dependency is introduced in the project which uses a higher JavaFX module version than the one defined in javafx { }. For more details and an example of the issue, check #69.
Fixes #69

The tests fail because I have introduced a new smoke test case which depends on this fix :)

@abhinayagarwal the tests are running on this PR. If you introduced a new test, it should not fail, unless I am missing something.

@tiainen The smoke tests use a particular version of the plugin.

Ok, it still feels strange to add a test that fails. We can:

remove the test
remove the test and add it in a follow-up PR
fix the test, e.g. by letting the test-project depend on a locally installed version of the project

I am not sure if '3' is possible. We can try to do '2'.


Remove deprecated getNode method

In react native 0.62 the method getNode is deprecated, and throw a warning  when used.
https://github.com/facebook/react-native/commit/66e72bb4e00aafbcb9f450ed5db261d98f99f82a

Superseded by https://github.com/APSL/react-native-keyboard-aware-scroll-view/pull/484

extractNativeRef is not an API to remove: I personally use it for another use-case where the wrapped scrollview is not an animated scroll view
we should keep supporting RN <= 0.61 it possible


Write Icon Presents Empty Fields

Write Icon Presents Empty Fields
User Story
AS A small business owner
I WANT to be able to write and save notes
SO THAT I can organize my thoughts and keep track of tasks I need to complete
Acceptance Criteria
GIVEN a note-taking application
WHEN I click on the Write icon in the navigation at the top of the page
THEN I am presented with empty fields to enter a new note title and the note’s text in the right-hand column

If text has been entered into the note fields, clicking the add icon will remove the text and present blank  fields where a new note can be entered.


[Doc Improvement][Update/add SSO for message extension]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/add-single-sign-on.md
89
13
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 13d1e35:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/add-single-sign-on.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@v-ypalikila Thanks for the comments, are you going to help update the PR as well?

Learn Build status updates of commit 9829508:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/add-single-sign-on.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/add-single-sign-on.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit b9e2c3e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/add-single-sign-on.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/add-single-sign-on.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 9076b50:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/add-single-sign-on.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


E431: Format error in tags file

Instructions: Replace the template text and remove irrelevant text (including this line)
Describe the bug
A clear and concise description of what the bug is.
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
To Reproduce
Detailed steps to reproduce the behavior:

Run vim --clean (or gvim --clean, etc.)
Edit filename
Type '....'
Describe the error

Expected behavior
A clear and concise description of what you expected to happen.
run command
E:\program\u-boot-1.1.6>ctags --languages=asm,c,c++ --c-kinds=+lpxz --c++-kinds=
+lpxzLA --fields=+nitazS --extras=+qr --output-format=e-ctags -R E:\program\u-bo
ot-1.1.6
use gvim open \u-boot-1.1.6\cpu\arm920t\start.S
set tags =\program\u-boot-1.1.6\tags
lilne333：_start_armboot:	.word start_armboot
cttrl+] in start_armboot
it will appear error。
Screenshots
If applicable, copy/paste the text or add screenshots to help explain your problem.

Environment (please complete the following information):

Vim version [ 8.1] (Or paste the result of vim --version.)
OS: [ Windows 7 1809,]
Terminal: [Gvim] (Use GUI if you use the GUI.)

Additional context
Add any other context about the problem here.
E:\program\u-boot-1.1.6>ctags --languages=asm,c,c++ --c-kinds=+lpxz --c++-kinds=
+lpxzLA --fields=+nitazS --extras=+qr -R E:\program\u-boot-1.1.6
If i run this command vim would work normally。
u-boot-1.1.6.zip

E431: Format error in tags file #2118

Close:bug belong to universal-ctags


make peerDep semver more specific

Addresses #164
The discussion in that issue doesn't actually hit on the point of what's gone wrong. It appears the order version of semver in npm ~1.4.2x doesn't see <=13 matching 13.0.0. This can be tested with a simple one liner
npm install karma-browserify browserify@~13

This does in fact satisfy the peer dependency but an error is still raised. NPM may or may not fix the issue in that order version but at least this is a local fix that can prevent it.

Merged via fdcbabf90b2811243ea8eafc0c50de613a25a588

Thanks.


Disable Terser Mangle for Turbopack Compatibility

Summary
This pull request addresses an issue where the Kind object was incorrectly transformed when building the package with Turbopack, specifically when used together with the gql.tada package. Specifically, when using the mangle option in the Terser plugin, the Kind constant was renamed to e, leading to runtime errors due to undefined references ("Kind": () => e).
Turbopack, unlike Webpack, can be sensitive to the mangling of variable names, and this was causing issues with the way Kind was being referenced. By disabling the mangling of variable names, we ensure that the Kind object retains its original name in the final build, making it compatible with Turbopack.
Set of changes

Disabled the mangle option in Terser: The mangling of variable names has been turned off to prevent Turbopack from misinterpreting Kind as e.

Impact

This change ensures that the Kind object and other constants are not renamed during the build process, making the package work correctly with Turbopack while preserving the intended behavior.
No changes to other parts of the package functionality. This change only affects the bundling behavior to ensure compatibility with Turbopack.

How to verify

Build the package using Turbopack and verify that no runtime errors occur related to undefined variables.
Run the package with both Turbopack and Webpack to ensure compatibility with both bundlers.

Visuals
1. Before the Change (with Mangling enabled):

__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f40$0no$2d$co$2b$graphql$2e$web$40$1$2e$0$2e$11_graphql$40$16$2e$9$2e$0$2f$node_modules$2f40$0no$2d$co$2f$graphql$2e$web$2f$dist$2f$graphql$2e$web$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Kind"] -> references 'e', which is 'undefined' in this case

:----------------------------------------------------:
2. After the Change (with Mangling disabled):

__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f40$0no$2d$co$2b$graphql$2e$web$40$1$2e$0$2e$11_graphql$40$16$2e$9$2e$0$2f$node_modules$2f40$0no$2d$co$2f$graphql$2e$web$2f$dist$2f$graphql$2e$web$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Kind"] -> references 'Kind' correctly
Related Discussions/Issues:
ReferenceError: e is not defined error occurs when running next dev --turbo
Error after update to v1.0.10

Even if this addresses the issue, merging and releasing this wouldn't sit right with me. Sorry
To explain the reasons as to why:

we don't have a reproduction on any of the original issues
we don't have access to a sample of code demonstrating the issue or showing the faulty bundling (and while the screenshots here are helpful, they basically lack the context required, and just roughly demonstrate this)
we don't have a response from a member of the Turbopack team or a linked issues addressing their bug
changing build outputs to work around a bug in a bundler/transpiler (no matter how popular) isn't appropriate unless there's a clear reason as to why they don't fix the bug or why there's a delay in fixing this bug

Since this points out a clear issue, and implies there's an underlying reproduction here, it should probably be reported with these resources to the Turbopack team. I'm quite sure that if this is an issue, duplicate issues, some maybe even with replies from their team, will exist.
But without a clear reason to work around this, I'm not really sure why this should be changed on our end 😅❤

Even if this addresses the issue, merging and releasing this wouldn't sit right with me. Sorry
To explain the reasons as to why:

we don't have a reproduction on any of the original issues
we don't have access to a sample of code demonstrating the issue or showing the faulty bundling (and while the screenshots here are helpful, they basically lack the context required, and just roughly demonstrate this)
we don't have a response from a member of the Turbopack team or a linked issues addressing their bug
changing build outputs to work around a bug in a bundler/transpiler (no matter how popular) isn't appropriate unless there's a clear reason as to why they don't fix the bug or why there's a delay in fixing this bug

Since this points out a clear issue, and implies there's an underlying reproduction here, it should probably be reported with these resources to the Turbopack team. I'm quite sure that if this is an issue, duplicate issues, some maybe even with replies from their team, will exist.
But without a clear reason to work around this, I'm not really sure why this should be changed on our end 😅❤

It's important not to overlook the fact that Turbopack could potentially have the same issue with other packages in this context. However, from a developer's perspective, it might be a reasonable quick fix to change the naming during the build process (even though the root cause of the issue isn’t directly related to the graphql.web) because it seemed like a small change. The idea was to avoid waiting for a fix from Turbopack, while still allowing us to use it in the gql.tada repository.
That said, I completely agree that it is ultimately up to the team developing the package to decide how they want to handle this, and developers could potentially solve the issue themselves in their own projects using different approaches.
For the sake of providing a concrete example, I've included a simple code snippet below where the e is not defined error occurs. The issue can be resolved by changing the definition of var e = { to Kind in line 1 of node_modules/0no-co/graphql.web/dist/graphql.web.mjs, and exporting it accordingly.
'use client';

import { initGraphQLTada } from 'gql.tada';

export const graphql = initGraphQLTada<{
  introspection: any;
}>();

const PokemonsQuery = graphql(`
  query PokemonsList($limit: Int = 10) {
    pokemons(limit: $limit) {
      id
      name
    }
  }
`);

export default function Home() {
  console.log(PokemonsQuery);

  return
asd
;
}

I'll make sure to report this issue to Turbopack with the necessary details as well. Thanks for your feedback

Cheers! Just to clarify, if they have acknowledged the bug and can't fix it quickly enough, or if they don't acknowledge it, I'm happy to come back to this and merge the workaround here 👍


Make simple search cap-insensitive by default

Right now the search functionality is cap-sensitive. This makes sense when a user is providing a regex, but for simple/quick search, it makes more sense to make search terms cap-insensitive

Good idea, keep em coming! Just pushed this in  eeb43dfbbe93642f05fad996eb3a3658f6261d00.

I had to revert the changes because regex wouldn't work with the way it was implemented. Still open to doing this but not sure it's possible without effecting regex.


[BrokenLinksH2] Fixed the link path

Fixed the link path

Docs Build status updates of commit c4058b6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamics-nav/Changes-to-Microsoft-Dynamics-NAV-Cmdlets-From-Previous-Release-2017.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


When dropping the window to a different editor, the preview turns gray with a "typst-ws process exited with code 255" error

The title. To reproduce, drag a tab with a preview and drop it into anywhere else.

Addendum: the error code on Windows is different, (but still -1, clearly).
Also for some reason, if you drag the tab not by the handle with "Preview" written on it (like, not by an actual tab), but by the top bar of the frame containing that tab, it works just fine.

https://github.com/Enter-tainer/typst-preview-vscode/issues/22

This issue is workarounded in v0.5.1 because the webview automatically reconnects to the backend.

I'll close this issue for now because this no longer happens. Although the root cause still remain.


Generate CAPO templates with kubectl-gs

TODO

[ ] kubectl-gs template cluster for openstack provider
[ ] Make sure it executes webhooks for te generated templates

@tfussell just for traceability - can you please add a comment here to explain what will unblock this issue?

Thomas just released changes in v1.55.0 of kubectl-gs


IceBreaker Architecture

We recently implemented IceBreaker in our test Azure environment. It's actually shooting up our costs (may be because of cosmos db). Is there any reason why cosmos db was chosen? If we decide to re-architect it, can we replace cosmos db with say Azure SQL? We're looking for a scale of around 400K+ employees and over a million random connections in a week across the globe

Hi @csnarain ,
Thank you for raising the query. We will get back to you with proper response soon

Cosmos DB offers the capability to store native JSON documents with a flexible schema. The data is automatically indexed and can be queried using a variant of the query language designed for JSON data. It can be automatically and instantly scaled up for workloads (in our case number of users added to any team).
The primary requirement was to choose a database that provides flexibility in storing a flexible schema and scalability. I understand that Cosmos DB can be expensive for large transactions. To better assess the situation, could you please provide specific data points such as the number of teams and user base you are planning to deploy IceBreaker for? This will help in comparing it with possible alternative DB options.
Regarding the possibility of replacing the DB layer with an alternative, it is indeed feasible. However, it is important to note that this would involve removing all dependencies on Cosmos DB and replacing them with alternative database calls. Additionally, the deployment script would need to be modified to create and deploy the required resources for the alternative database.
It will require complete design discussion and analysis, while this is a 100% doable solution, it would require significant effort to implement, and we would not be able to provide full support for updating the architecture.


XLSX-Populate:Unable to read the formulated cell values from the xlsx file

Hi Team, Below is the programme where i am trying to write and read the data from same excel file(Ex:Test1.xlsx).I am able to write the data into excel file but when i am trying to read the formulated cell values then the null/blank values are getting returned by the programme.Could you please help me to find out the solution for the issue
Test1.xlsx:
1.Initially, The excel contains below values.
A1 Cell:'HELLO'
B1 Cell:'WORLD'
C1 Cell:concatenate(A1,B1)==>HELLOWORLD
2.Executed the below programme.
Actual result:(It is returned as blank)
C1 Cell value:Blank
Expected result:
C1 Cell value:HELLOWORLD
var Workbook = require('xlsx-populate');
var workbook = Workbook.fromFileSync("./Test1.xlsx");
workbook.getSheet("Sheet1").getCell("B1").setValue("FRIEND");
workbook.toFileSync("./Test1.xlsx");
if (typeof require !== 'undefined') XLSX = require('xlsx');
var workbook = XLSX.readFile('./Test1.xlsx');
var first_sheet_name = workbook.SheetNames[0];
var worksheet = workbook.Sheets[first_sheet_name];
var desired_cell = worksheet["C1"];
var desired_value = desired_cell.v;
console.log("C1 Cell value:" + desired_value);
nodes installed:
npm install<EMAIL_ADDRESS>npm install xlsx
kindly help me to resolve the issue.Appreciate your support in advance.Thanks

Attachment:Test1.xlsx

your code was not working due to how it was programmed... the code below should work just fine
var Workbook = require('xlsx-populate');
//load the file THEN
Workbook.fromFileSync("./Test1.xlsx").then(workbook =>
{
    //Set the value
   workbook.getSheet("Sheet1").getCell("B1").setValue("FRIEND");

    //finally save the changes to the file
   return workbook.toFileSync("./Test1.xlsx");
})


Snapshot Releases not working as expected in CI

Affected Packages
pkg:cli
<EMAIL_ADDRESS>
Problem
I have a branch where I'm pushing code. On every push, I'd like a snapshot release to npm automatically via CI. The following is my configuration:

I created the following changeset file:---
'some_package': patch
---

Testing prereleases only. This patch has no change.

And used the following in the CI step:yarn changeset version --snapshot prerelease
yarn changeset publish --tag prerelease

Here is the config file:{
 "changelog": "./getChangelogEntry.js",
 "commit": true,
 "skipCI": true,
 "access": "restricted",
 "baseBranch": "main"
}

...and it released a patch version instead of snapshot version 0.0.0-prerelease-DATETIME
I've followed the steps exactly in the Snapshot Releases documentation and can't seem to figure out what I'm missing. Any help would be appreciated. Thanks!

Actually closing this, I realized that Snapshot Suffixes were introduced in 2.8.0.


No 'Access-Control-Allow-Origin' header is present on the requested resource.

When I set up CORS it correctly adds Access-Control headers to non-erroring API responses.  However, they aren't generated on an unhandled error that passes through GlobalExceptionHandlerDotNet.
Is there something else I need to do to set the proper response headers?

You'll need to call .UseCors(... before app.UseExceptionHandler().WithConventions(..., could you just confirm this is the case.

Same problem here, Cors will remove the response.
See: https://github.com/aspnet/CORS/issues/90

Nice find. There's a workaround in that issue where you can add a MaintainCorsHeader middleware to restore the headers that are removed, obviously not ideal. Hopefully they will fix this soon.

@paulvanbladel Thanks, adding a MaintainCorsHeader middleware to put the headers back was the only thing that worked for me.
Regardless, it doesn't seem to be a problem with GlobalExceptionHandler.


[URLProtocolHandler] Specify behavior if a custom protocol URL is used as an  src

It might not make sense for these PWA custom protocol URLs to be loaded into subresources, like  -- maybe this should be disallowed?

@caraitto thank you for the comment.

Ideally, such a PWA launch wouldn't be allowed to prevent abuse.

I agree. This should be disallowed to prevent apps from automatically opening when the iframe source URL is loaded. The same should apply to other mechanisms that allow URL loading, e.g., <img>, as done in [1].
In some User Agents (e.g.: Chromium for Desktop), however, that doesn't seem to be the current behavior for custom handlers registered via registerProtocolHandler. Websites are able to be loaded in iframes if they're registered as the handlers for an iframe src that uses a protocol handler. I do think that the UX for apps should be different though, since it's a bit more intrusive.
Lastly, by disallowing this behavior for apps, we align closer with the behavior in Chrome for Android [2].
Did you have concerns other than UX here? I don't think mixed content would be one?

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=167475
[2] https://developer.chrome.com/multidevice/android/intents

This slipped my radar too -- my concern from the privacy perspective was mostly to prevent potential privileged PWA functionality from being used in cross-site contexts. Thanks for pointing out the current Chrome Desktop behavior.


Just build the code without a database or a JSON file

Is there a way to just skip all machinery and simply build the code without a database or a JSON file?

Yep! You obviously can't use the macros given that they require one of the two of those, but you can use the sqlx::query{, _as, _scalar} methods

The macros require information from the database or JSON file to generate code. It's hard to imagine what code they could generate without any of that data; query!() especially would have trouble since it generates a struct with fields based on the columns of the query. query_as!() could possibly manage but it would have to emit panic!()s internally.

Couldn't macros work like methods in the absence of any database data?

That completely negates the guarantees the macros provide. The macros could generate code that compiles, but it would have to panic at runtime because there's not enough information to go on and still have them work as expected.
Making them just work like their function counterparts in this special case would violate the principle of least surprise and make them more difficult to understand and teach, because it would significantly change their semantics. query!() would fall back to requiring dynamic field lookup with .get() and query_as!() would suddenly require its type to implement FromRow which it didn't before.

It could be not a silent fallback, but an explicit opt-in. Like, define an environment variable FORCE_IGNORE_VALIDATION.
It's still better because that would allow developer to control validation w/o changes to source code and w/o incurring version control diffs.
The specific situation where it's useful is, you're working on your branch and your database is consistent, then you decide to rebase. Someone made DB-related changes on master. Now to build your code you have to deploy first.
With this change, you would FORCE_IGNORE_VALIDATION after rebase to build first version that could run but would fail at runtime. This is then solved by dropping the database or manually migrating it back to some state from which baked-in migrations are able to run.
So it decreases amount of steps required from "rebase -> deploy master to be able to validate -> build -> deploy your version" to "rebase -> build -> deploy your version".

This is what sqlx prepare does, no?

@jyn514 no

It could only possibly work for query_as!(); I believe query!() would be unable to emit any code that would make it work as expected:
let column = sqlx::query!("select column from my_table").fetch_one(&db).column;

This would at least require generating a struct that has a column field, but we can't possibly know to do that without information from the database.

So it decreases amount of steps required from "rebase -> deploy master to be able to validate -> build -> deploy your version" to "rebase -> build -> deploy your version".

You'd still have to rebuild and redeploy because the version you build right after rebasing won't actually work, will it?

Closing this as we currently don't have any plans to support it. There are other issues currently open to address the current ergonomics of the macros which can be tackled individually.


mage: fix arcane blast mana cost

The current calculation does not match observed mana cost on live. With no T5 set and both precision and arcane focus talents 3/3, the observed mana costs are 147 / 404 / 662 / 919 / 1176.

Is the mana cost different in the log than on live? There is another reduction beyond just this calculation where the total cost is lowered through precision so this formula alone won't spit out the final AB cost.


generate a changelog to start from

Signed-off-by: Sven Dowideit<EMAIL_ADDRESS>this would be the "full list" which we then hand curate for the release notes

doh. didn't actually notice that i used hub :/

meh - its a useful starting point


repl shell on android

inspiration: http://www.reddit.com/r/scala/comments/2w83yk/scala_repl_shell_on_android/

Probably out of scope for now =)


refactor(common): prefer StructType::iter over Field::sub_fields

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Just opened this PR for the ease of browsing and experimenting. The actual refactor would roughly take 3 steps:

Populate StructType::name so that everything inside Field/ColumnDesc subfields & type_name are also available as part of data_type.as_struct()
Switch to read from StructType iter & name rather than Field/ColumnDesc subfields & type_name.
Remove the unused Field/ColumnDesc subfields & type_name.

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

Re-Attempt:
https://github.com/risingwavelabs/risingwave/compare/refactor-common-fields-and-struct-WIP-r1?expand=1


Scrolling issue with the new Reference drop-down

translationCore Create - v1.5.0 build 154-e836e43.
When the Support Reference is added in a row using the drop-down and then scrolled down the page, the drop-down fields (support reference, chapter /verse) overlap with the scripture pane. See the screen capture:https://images.zenhubusercontent.com/191973535/17cbd84b-1b0b-484c-b36b-3feeafeaedba/screen_recording_2022_06_14_at_2_38_20_pm.mov

It's just fixed on the RCL. I'll release it and update tc-create-app to use it.

Thanks @superdav42

Looks good in translationCore Create - v1.5.0 build 156-5e3e8a9. Scrolling issue is resolved.

if dropdown is dropped then scrolling still shows above the scripture @superdav42


v3: Added the WithEntries function to option.go to handle cases where…

… the app is restarted and has pre-existing running cron jobs.

Hi guys.
Title: Add WithEntries Option to Support Job Restoration After App Reboot
Description:
This PR introduces a new option WithEntries to the github.com/robfig/cron package, which allows the use of pre-existing entries when initializing the cron scheduler. This is particularly useful in scenarios where the application restarts, and you want to maintain the previous job schedules without recalculating or losing them.
Key Change:
// WithEntries uses the provided entries.
func WithEntries(entries []*Entry) Option {
    return func(c *Cron) {
        c.entries = entries
    }
}

WithEntries: This function provides an option to load an existing set of entries ([]*Entry) into the cron scheduler during initialization. This enables the cron jobs to continue running from where they left off before the reboot, preserving the schedule’s state across restarts.

I made improvements to this repository and released version 4.0.0, which supports context. Context`。
Welcome to use. flc1125/go-cron

Based on the fact that this warehouse has been in disrepair all year round.
If you are interested, I really hope that your request can also be merged into 4.x. Welcome to maintain together.

Hi .
Thank you for the message. Ok.
Best,
Mykola.
пт, 1 лист. 2024 р. о 01:53 Flc゛ @.***> пише:

I made improvements to this repository and released version 4.0.0, which
supports context. Context`。
Welcome to use. flc1125/go-cron
Based on the fact that this warehouse has been in disrepair all year round.
If you are interested, I really hope that your request can also be merged
into 4.x. Welcome to maintain together.
—
Reply to this email directly, view it on GitHub
https://github.com/robfig/cron/pull/529#issuecomment-2451094541, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABF5X6RTSPQDWOQTWMZ4CQLZ6LGKBAVCNFSM6AAAAABQDHNNACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJRGA4TINJUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Similar derivations: cargo-espflash and espflash

Issue description
Recently (https://github.com/NixOS/nixpkgs/pull/275490) the new package espflash was added to nixpkgs.
But the outputs are extremely similar to the existing package cargo-espflash, except that it doesn't contain the cargo wrapper executable:
$ nix build .#espflash
$ find ./result/
./result/
./result/bin
./result/bin/espflash
$ nix build .#cargo-espflash
$ find ./result/
./result/
./result/bin
./result/bin/cargo-espflash
./result/bin/espflash

and the nixpkgs source files for espflash and the existing cargo-espflash are very similar as well.
Does it really make sense to have them as completly separate derivations? It confused me for a while trying to find out if there were any non-obvious differences.
@matthiasbeyer @newAM
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

Ah, this is my fault, I did not know cargo-espflash contained espflash when I opened #275490
I have created #286386 to resolve this.


Provide a lightweight shell selector without changing default (ie. terminal profiles)

VSCode Version: 1.21.0
OS Version: Windows 10

Steps to Reproduce:

Open a Powershell terminal
Split the terminal window
Try to open a WSL Ubuntu terminal

It'd be great to split the terminal types for different cases!
I imagine that if you pressed and held the "+" you could select other terminals on your system, or similar UI for this.

Yes, yes, yes! I wanted this for a long time, I finally came to report this and saw this report.
An example workflow:

docker-compose work is done in PowerShell
git work is done in Bash

This is mostly since it's pretty painful right now to get the WSL docker engine to talk nicely to Docker on Windows. I read it'll be easier in Windows 1803.
However we also have to develop dual scripts for Windows/Unix environments. Opening them side-by-side in the editor, AND the relevant terminals side-by-side beneath them would be really cool.

I imagine that if you pressed and held the "+" you could select other terminals on your system, or similar UI for this.

"press and hold" isn't used anywhere else in the app, so maybe this should work just on click, or maybe on right click.
In the meantime you can kind of do this already with my Terminals Manager extension, support for split terminals is in the making.

Normally I close these issues off and point people to https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher but I do hear this quite a bit, at least for Windows users, to have a dropdown appear when you click the + button. I'll keep this open to gather more feedback, I'm a little unsure how the flow would work right now what would happen when you hit ctrl+` or ctrl+shift+`, maybe launching a default terminal unless you hit the plus button with the mouse?

I think that'd be the right behavior - most shortcuts should behave as is,
but have an option to do something other than default in the UI
On Mon, Mar 12, 2018, 11:04 Daniel Imms<EMAIL_ADDRESS>wrote:

Normally I close these issues off and point people to
https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher
but I do hear this quite a bit, at least for Windows users, to have a
dropdown appear when you click the + button. I'll keep this open to gather
more feedback, I'm a little unsure how the flow would work right now what
would happen when you hit ctrl+ or ctrl+shift+, maybe launching a default
terminal unless you hit the plus button with the mouse?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/45444#issuecomment-372407439,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKIMWw4lOEvCIWSkDb6tTzyZKAu0c_-ks5tdri-gaJpZM4Sk3Mm
.

--

Philip Kahn
PGP:
0x93E0B76BD90C5093
https://goo.gl/glVMPc == https://goo.gl/FVUggu
Signal / Telegram / Allo:
510.859.3142

I want to use different terminal, based upon the work I am doing and there should be an option that which type of terminal you want to launch.
Rails

Git

Instead of providing single option for terminal ``"terminal.integrated.shell.windows": "C:\Program Files\Git\bin\bash.exe".
There should be an option for defining multiple terminal for different language:
{
"terminal": {
"git": "C:\\Program Files\\Git\\bin\\bash.exe",
"ruby": "C:\\Program Files\\ruby.exe",
"python": ...
}
}

The implementation of this will probably be relatively simple, I imagine another section in the dropdown that includes the profiles in between the current terminal processes and the select default shell entry:

Some thinking needs to be put into how profiles will be structured in settings, open to proposals (and PRs once we decide on a schema).

Additionally git bash should probably use --login as in https://github.com/microsoft/vscode/issues/79572

Idea: also retain recently used shells such that we can support replacing shellArgs completely (eg. for cygwin https://github.com/microsoft/vscode/issues/94473) without worrying.

When will this small but awesome function get finally reality??
Please 🙏🏻

@ManuelMinkAtBOSCH it's a stretch goal for the next release 🚀

Guys, I see we can pass args to the terminal profile we're adding. Would it be possible to eventually pass environment variables, such that I can open a terminal pre-prepared for a specific task or set of tasks I want to do?
(I tried achieving this using Tasks as well, but I need to keep a terminal open at the end, so I couldn't find a clean solution there either)

@IAmHopp 👍 created https://github.com/microsoft/vscode/issues/120366

Guys, I see we can pass args to the terminal profile we're adding. Would it be possible to eventually pass environment variables, such that I can open a terminal pre-prepared for a specific task or set of tasks I want to do?

@IAmHopp - please check my comment in #120366.

@pszlazak I think in the end we're suggesting the same thing.

This was a terrible idea - are you aware that some people use the terminal in column mode? Now that menu that I (and I suspect most users) and will never need takes up half the space .... and you don't even allow us to hide the pulldown and reclaim the space
Created a ticket for improving this
https://github.com/microsoft/vscode/issues/121572

@gotofritz commented on that issue. To clarify, profiles (this issue) are the detected and configurable shells in the terminal dropdown (or the v button in the tabs view).

That's exactly what I am talking about, I have even added a screenshot :-D


Show / hide invisible character symbols

This simply needs to be a ¶ button shown in the toolbar, which can map to ScintillaNET's ViewEol and ViewWhitespace properties.

Implemented in bc513e20


JWT Validator with scopes doesn't work

When I use the krakend-jose/validator plugins to validate JWT, everything works good except for the scopes validation.
JWT payloads
{
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "sub": "user id",
  "typ": "Bearer",
  "scope": "user-scope"
}

KrakenD Configs
"endpoints": [
    {
      "method": "GET",
      "endpoint": "/protect-endpoint",
      "headers_to_pass": [
        "*"
      ],
      "extra_config": {
        "github.com/devopsfaith/krakend-jose/validator": {
          "alg": "RS256",
          "jwk-url": "jwk.json",
          "scopes_key": "scope",
          "scopes": ["admin-scope"]
        }
      },
      "output_encoding": "no-op",
      "backend": []
    }
]

Although, the JWT payload does not have the matched scope as seen in the preceding payloads and config, the request is still valid and call to the backend endpoint, but my expectation is that it should be rejected with 401 Unauthorized.

I upgraded KrakenD version from 1.2.0 to 1.4.1 and it work properly.


fix(PlacementConstraintsSchemaField): escape/unescape output

SDK uses handlebars engine to generate JSON definition, and handlebars would escape quotes in partial JSONs so that we cant just parse JSON, we should unescape it first. But since SDK expects it to be escaped we should escape the output back again.
The fastest way to do this was regexp.

Alfred test this


Craft install error -  Function must be enabled in php.ini by setting 'xdebug.mode' to 'develop'

Description
I'm on Pop_Os 20.10
I ran nitro create and after installing the site ( i had permissions issues too https://github.com/craftcms/nitro/issues/280 ) I then ran through the craft installed and it got the install part and then failed with this error:
[21-Mar-2021 16:55:12 UTC] PHP Warning:  Function must be enabled in php.ini by setting 'xdebug.mode' to 'develop' in /app/vendor/yiisoft/yii2/base/ErrorException.php on line 50
Steps to reproduce

Be on Linux
Run nitro create
Run the craft installer

Additional info

Nitro version: 2.0.6
Docker version: 20.10.4 build d3cb89e

@johnwbaxter I'm going to look into this this week, It did not prevent you from using Nitro though since it was a warning right? I'll be using my Pop_Os computer most of this week to also focus on the permissions issues as well. Do you have xdebug enabled on that site by chance?

Can you verify your ErrorException.php class in your vendor folder matches this? https://github.com/yiisoft/yii2/blob/master/framework/base/ErrorException.php#L50

Yep, it does!

Just released 2.0.7 with better support on Linux machines.