autoLoadEntities does not work when using Test.createTestingModule

Describe the bug
I recently switched to the autoLoadEntities way to load entities.
Imagine the following "flow"

MainAppModule

imports AuthModule

imports UserModule

imports MikroOrmModule.forFeature([User])

This works perfectly while running the application.
But when testing this, the entities do not get loaded.
  beforeEach(async () => {
    const moduleFixture: TestingModule = await Test.createTestingModule({
      imports: [MainAppModule],
    }).compile();

Gives me the following stack trace
    No entities found, please use `entities` option

      at Configuration.validateOptions (../../node_modules/@mikro-orm/core/utils/Configuration.js:146:19)
      at new Configuration (../../node_modules/@mikro-orm/core/utils/Configuration.js:22:18)
      at new MikroORM (../../node_modules/@mikro-orm/core/MikroORM.js:20:27)
      at Function.init (../../node_modules/@mikro-orm/core/MikroORM.js:38:21)
      at InstanceWrapper.useFactory [as metatype] (../../node_modules/@mikro-orm/nestjs/mikro-orm.providers.js:21:32)
      at Injector.instantiateClass (../../node_modules/@nestjs/core/injector/injector.js:289:55)
      at callback (../../node_modules/@nestjs/core/injector/injector.js:42:41)
      at Injector.resolveConstructorParams (../../node_modules/@nestjs/core/injector/injector.js:114:24)
      at Injector.loadInstance (../../node_modules/@nestjs/core/injector/injector.js:46:9)

I can work around it by putting a MikroOrmModule.forFeature for all entities referenced when initializing the testing module but this is less than optimal.
Versions

Dependency
Version

node
v14.15.1

typescript
4.1.3

mikro-orm
4.4.0

mongo
3.6.3

Hello! any news on that? from what i'm reading in the module code it would be because this line:
 const key = (preferTsNode && this.config.get('tsNode', Utils_1.Utils.detectTsNode()) && this.config.get('entitiesTs').length > 0) ? 'entitiesTs' : 'entities';

returns "entities" instead of "entitiesTs". Would it come from the fact that jest config says ts-jest
I'm not sure if there's a way around to enforce ts node in a test config, i see the preferTsNode value there 🤔

You can control that just by passing tsNode: true to the ORM config - that way the detection is skipped and entitiesTs will be used.

Beautiful i'll try this out!

Works nicely!
Don't know if it's worth mentioning somewhere in the docs for people using jest in that way 🤔

ts-jest detection will land soon hopefully, related PR adding support for detecting ts-jest: https://github.com/kulshekhar/ts-jest/pull/2717

Closing, should work out of box with ts-jest 27.0.4+ and MikroORM v4.5.9+

tried ts-node: true in the latest, though I'm not actually certain that's what we're doing. didn't work, same problem. Feels like a hokey fix though.

note: I think we might be using babel...

❯ yarn why ts-jest
└─ services-core@workspace:.
   └─ ts-jest@npm:27.1.5 [8316d] (via npm:27.1.5 [8316d])
❯ yarn why @mikro-orm/core
└─ services-core@workspace:.
   └─ @mikro-orm/core@npm:5.6.3 [8316d] (via npm:^5.6.3 [8316d])
❯ yarn why jest
├─ jest-cucumber@npm:2.0.12
│  └─ jest@npm:27.5.1 [8875a] (via npm:27.5.1 [8875a])
│
└─ services-core@workspace:.
   └─ jest@npm:27.5.1 [8875a] (via npm:27.5.1 [8875a])


[FEATURE] Ability to use telegram API

Is your feature request related to a problem? Please describe.
how to use official telegram API methods? https://core.telegram.org/methods
its really nuts
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

https://nutgram.dev/docs/usage/sending_requests


Run automated testing in Xamarin scenarios

The SignalR C# client unit tests should be run on Xamarin iOS and Android to detect bugs that are specific to those runtimes.
Example of a C# client bug that is specific to Android: https://github.com/aspnet/SignalR/issues/2232

Rolling this up in to #11821


RegexNotFoundError error

i get this:
"ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
u'Initial JS player signature function name')
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug ."
when using command : "youtube-dl -o '%(title)s.mp4' --extract-audio --audio-format mp3 ´link´"

update:
tried using simple youtube-dl ´link´
same error

Post the full output you get when running with --verbose option.

youtube-dl -v ´link´ =
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/watch?v=lw3c5d3aBSE']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.08.05
[debug] Python version 2.7.8 - Linux-3.16.0-31-generic-x86_64-with-Ubuntu-14.10-utopic
[debug] Proxy map: {}
[youtube] Setting language
[youtube] lw3c5d3aBSE: Downloading webpage
[youtube] lw3c5d3aBSE: Downloading video info webpage
[youtube] lw3c5d3aBSE: Extracting video information
[youtube] lw3c5d3aBSE: Encrypted signatures detected.
[youtube] {43} signature length 43.41, html5 player en_US-vflbaqfRh
[youtube] lw3c5d3aBSE: Downloading js player vflbaqfRh
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
u'Initial JS player signature function name')
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
u'Initial JS player signature function name')
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 516, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 170, in extract
return self._real_extract(url)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 860, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 489, in _decrypt_signature
u'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
u'Initial JS player signature function name')
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

You are using an outdated version of youtube-dl. Refer to our FAQ if you have trouble updating.

i tried with 1 video , of a festival and it worked, some videos (from youtube VEVO) don't work ... is it about that?

i used youtube-dl -U and it said i have other managers and to update from there ... but i don't know how, i installed via terminal, and i tried to remove and install it again ..

Please make sure to read the information @dstftw linked to:

If you have installed youtube-dl using a package manager like apt-get, use the standard system update mechanism to update. Note that distribution packages are often outdated. Unfortunately, there is nothing we youtube-dl developers can do if your distributions serves a really outdated version. You can (and should) complain to your distribution in their bugtracker or support forum.

As a last resort, you can also uninstall the version installed by your package manager and follow our manual installation instructions. For that, remove the distribution's package and follow our manual installation instructions:

sudo apt-get remove -y youtube-dl
sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
hash -r

From then on you'll be able to update with sudo youtube-dl -U.


Update serialization test due to changes from Core

Stack from ghstack:

-> #385

This should be landed with https://github.com/pytorch/pytorch/pull/74984

@nivekt has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.


Fix: @Nullable annotations on builder methods

This fixes errors in the latest versions of AutoValue
google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/ConnectionSettings.java:225: error: [AutoValueBuilderSetterNullable] Setter methods always return the Builder so @Nullable is not appropriate
    public abstract Builder setUseReadAPI(Boolean useReadAPI);
                            ^

Fixes #3221 ☕

/gcbrun

/gcbrun

@cushon, thank you for your contributions.

@cushon, thank you for your contributions.

Thanks for the review!


Enable MPU for SAM D5x and E5x

This PR enables the ARM memory protection unit for the Atmel SAM D5x and E5x series SoCs (SAM D51, SAM E51, SAM E53 and SAM E54).
This PR also includes miscellaneous commits that fix the related issues.
Tested and verified working on atsame54_xpro.
Includes the commits from #24721 (blocked by #24721).
Includes the commits from #24740 (blocked by #24740).

Maybe it's the CI, or general lack of interest in this platform; but, I keep digging up more broken builds -- now I2C and SPI ...

Rebased

All the dependencies have been merged. This PR is ready for merging.


Code helper spawning "find processes" and making the OS unresponsive

VSCode Version: 1.15.1 (1.15.1)
OS Version: Sierra 10.12.3

Steps to Reproduce:
Im working with NativeScript and while trying to run the project vscode starts to spawn "find" processes

Launch vscode through terminal
Run tns run ios

Reproduces without extensions: Yes

@roblourens This seems to be fixed in the latest. I see it in 1.15.1, but couldn't pinpoint the change that fixed it. Closing for verification.

Under what conditions do you see this in 1.15.1? I don't see it.

I see a similar set of find processes with insiders:

Install (or uninstall + reinstall) the C# extension
Open on a large folder (I use the one containing all my repositories)
-> find process show up

The difference in 1.15.1 is that they at some point go to 0% CPU and then just idle. In insiders they exit.

It looks possible that the C# extension could call findFiles a lot, do you think that's what's happening? https://github.com/OmniSharp/omnisharp-vscode/blob/6013d9214d58d5ee34a539a62ab7074d56fad547/src/omnisharp/launcher.ts#L47

I still see this in Insiders:
robmac:Documents roblou$ ps aux | grep find
roblou           61094   0.0  0.0  2497332   7488   ??  S     1:27PM   0:10.45 find -L . -type f
roblou           61092   0.0  0.0  2497332   7488   ??  S     1:27PM   0:10.42 find -L . -type f
roblou           61091   0.0  0.0  2498356   7628   ??  S     1:27PM   0:10.35 find -L . -type f
root             14882   0.0  0.0  2542032   3792   ??  Ss   Thu11AM   0:00.26 /usr/libexec/findmydeviced
roblou           63178   0.0  0.0  2451236    828 s002  S+    1:28PM   0:00.00 grep find
roblou           61098   0.0  0.0  2498356   7504   ??  S     1:27PM   0:10.53 find -L . -type f
roblou           61097   0.0  0.0  2497332   7484   ??  S     1:27PM   0:10.33 find -L . -type f
roblou           61096   0.0  0.0  2497332   7484   ??  S     1:27PM   0:10.38 find -L . -type f
roblou           61095   0.0  0.0  2498356   7708   ??  S     1:27PM   0:10.39 find -L . -type f

We should use ripgrep :)

Actually when I normally start the same process on the same folder in a terminal, it finishes in about 30s.

🔥
robmac:code roblou$ time rg --files --follow > rgfiles.txt

real	0m3.137s
user	0m2.293s
sys	0m6.566s
robmac:code roblou$ time find -L . -type f > files.txt

real	0m20.901s
user	0m0.968s
sys	0m10.374s

@roblourens How do you get the processes to stay around?

I don't do anything unusual

Duplicate of #34434

I totally forgot about this one. How was I getting the processes to stick around at 0 CPU? I never saw that when investigating #34434.

Have we seen that with rg as well or only with find?

Jo reported it in #34434 but I've never seen it.


Change default Python optimizer for GPflow?

At the moment we use lbfgs_b from scipy as the default optimizer in GPflow.
Particularly with #185 and using float32 and float64 we have some anecdotal evidence that lbfgs_b is aggressively finding numerical instabilities in the algorithm where other optimizers wouldn't.
Rasmussen's minimize.m springs to mind as an algorithm with good performance and numerical stability. We might of course consider other methods.
I know @markvdw is pretty knowledgeable on this topic so I'm assigning this issue to him for comments.

Not sure to what extent this is a satisfying answer, but my experience is that the scipy optimisers can be quite brittle. Both in terms of aggressiveness and in terms of giving up. Carl's "minimize.m" is currently an implementation of bfgs, only with a bunch of sensible modifications to allow it to keep chugging along, for example switching to gradient descent for a few iterations where scipy would just give up.
My only real recommendation would be that running CG or gradient descent for the first few iterations is not a bad idea to counteract the aggressiveness that @jameshensman talks about.

How much work would it be to get minimize.m going in GPflow? Seems like a better default option than the very brittle scipy.lbfgs.

I'm actually working with Carl on a "proper solution" to some other problems in minimize at the moment. And I do plan to make a Python implementation.
The issue with "proper solution" is that it may take some time (on the scale of a month or so), and that I don't really want to port a halfway solution if I'm just going to re-do it later.

Okay! That sounds  great, I look forward to having a super optimizer in GPflow in a month :)

Come to think of it, it would be nice to collect a set of cases where the scipy optimiser gets stuck, or goes to a numerically unstable region, both to test the improved minimize, and to quantify how much of a problem it is in GPflow (and how much it has improved).
If anybody wants to send me a situation like this, and doesn't mind it being used in our paper, get in touch!

I don't know how much you guys are interested in this area, but William W.
Hager at the University of Florida has a lot of research software regarding
numerical optimization:  http://users.clas.ufl.edu/hager/
You can pick and choose, but his conjugate gradient code is very good.  He
also has a bunch of sparse Cholesky solvers and the like.
Again, I don't know how deep down the rabbit hole you want to go in this
area...
Dan
On Wed, Aug 31, 2016 at 9:30 AM, Mark van der Wilk<EMAIL_ADDRESS>
wrote:

Come to think of it, it would be nice to collect a set of cases where the
scipy optimiser gets stuck, or goes to a numerically unstable region, both
to test the improved minimize, and to quantify how much of a problem it is
in GPflow (and how much it has improved).
If anybody wants to send me a situation like this, and doesn't mind it
being used in our paper, get in touch!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GPflow/GPflow/issues/188#issuecomment-243821606, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACQPhc9a3g5jKnFG0uiw-SIklJLpdLCOks5qlaw1gaJpZM4Jxn1C
.

Hi GPflow developers, thank you for a wonderful library.  It is forming the backbone of my sea level change modeling, and I really appreciate the work you do.
An optimization question followup:  when using GPR on a 3D kernel I consistently get stuck in local minima with the scipy.optimize.minimize optimizers.  Has there been any discussion about including a global minimizing function such as scipy's basinhopping or dual annealing?

Hi GPflow developers, thank you for a wonderful library. It is forming the backbone of my sea level change modeling, and I really appreciate the work you do.
An optimization question followup: when using GPR on a 3D kernel I consistently get stuck in local minima with the scipy.optimize.minimize optimizers. Has there been any discussion about including a global minimizing function such as scipy's basinhopping or dual annealing?

Hi @rcameronc ! thanks for the positive feedback, really good to hear after all the effort and time we've put into it :) and glad it's being put to good use! (If any of your work is public, we'd love to hear about it - e.g. feel free to make a pull request to add your project to the README.md file).
We've not thought much about using non-gradient based methods - though especially with tensorflow 2.0 this should be a lot easier than before. Hard to say anything concrete without more details.
What do you mean by 3D kernel? how do you initialize your kernel hyperparameters?

@rcameronc,

Has there been any discussion about including a global minimizing function such as scipy's basinhopping or dual annealing?

No, we didn't discuss these optimisation methods. At first glance, they don't look scary and I think it should be relatively easy to introduce them into our scipy interface.

Hi @st--, I will definitely make a pull request with my project once I hammer out the kinks and submit it for publication.  Thank you for the invitation.
re: 3D kernel, I mean that I make a composite kernel from a 2 dimensional matern32 kernel operating on lat/lon multiplied by a 1-D matern32 kernel on time plus a white noise kernel.
The bounded hyperparameters are initialized via this function:
' ' '
def bounded_parameter(low, high, param):
"""Make parameter tfp Parameter with optimization bounds."""
sigmoid = tfb.Sigmoid(low=tf.cast(low, tf.float64),
                      high=tf.cast(high, tf.float64),
                     name='sigmoid')
parameter = gpf.Parameter(param, transform=sigmoid, dtype=tf.float64)
return parameter

' ' '
which I call like this:
k4 = gpf.kernels.Matern32(active_dims=[2])
k4.lengthscale = bounded_parameter(1, 30000, 186)
I'll try to simplify it into a MWE.
@awav  I agree, it seems like it would be relatively straightforward to include them in the scipy interface.  Would that mean adding basinhopping and/or dual_annealing as new classes within gpflow/optimizers/scipy?


colima: embed version and git revision

These are shown on colima version
See also https://github.com/abiosoft/colima/issues/301
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

cc @aaschmid

For the input-remapper packaged I ended up hardcoding the revision to get around the issues with leaveDotGit.
I'd love to know if there's a better approach.

For the input-remapper packaged I ended up hardcoding the revision to get around the issues with leaveDotGit.

Same pattern used for kubernetes-helm

Take a look at how I resolved this. If this pattern is needed often, it might be worth integrating into the fetchers.

@kalbasit: Can you merge this?

@Artturin @bobby285271: Can anyone of you merge this? Thanks!


swank-tex:0.1.0

I am submitting

[x] a new package
[ ] an update for a package

Description: Aims to be the opinionated, simplest implementation of a pixel-perfect set of \TeX, \LaTeX, etc. logos possible. Each logo is carefully aligned with the exact output from LaTeX.
See packages/preview/swank-tex/0.1.0/tests/logo-overlay/ref/1.png for the results.

I have read and followed the submission guidelines and, in particular, I

[x] selected a name that isn't the most obvious or canonical name for what the package does
[x] added a typst.toml file with all required keys
[x] added a README.md with documentation for my package
[x] have chosen a license and added a LICENSE file or linked one in my README.md
[x] tested my package locally on my system and it worked
[x] excluded PDFs or README images, if any, but not the LICENSE

@elegaanz: Note that the warning ...

This value seems to be public. It is recommended to use kebab-case names.

... doesn't apply here because of the silly TeX names which look like CamelCase.

Yes of course, no worries. Just for info, there is another package with very similar functionality: metalogo (same as the Tex package). Did you consider contributing to it? It already offers most of the logos here. It's fine if you want to have your own thing, but maybe not splitting efforts too much is better.

I tried contributing to it. The author and I have a different mindset about how to approach it. This one is about the simplest code possible, with minimal features. Metalogo is about being featureful, with parity to the corresponding LaTeX package. I figure there's a place for both. I'm ok if there's not though. Not a big deal to me either way!

No it's fine to have the two packages, I just wanted to tell you in case you didn't know about it. Thank you for your contribution :)


Add missing argument to OSSHandler's _format_prompt function

Overview
In this PR, I added a missing argument to OSSHandler's _format_prompt function.
Also my code formatter sorted the imports alphabetically which accounts for all the other changes, including those in handler_map.py.
What Happened?
In every model handler, we define _format_prompt as taking in three arguments (prompt, function, test_category). This is the standard. But in OSSHandler, _format_prompt is defined as only taking in prompt and function and forgetting to take test_category as an input.
This caused an error. So I simply added test_category to the definition of _format_prompt.

It is a code formatter extension in VSCode: https://marketplace.visualstudio.com/items?itemName=ms-python.isort.


Validation rule "formatWheres" method incorrectly quoting NULL and NOT_NULL values as "NULL" and "NOT_NULL"

Laravel Version
10.x
PHP Version
8.2.11
Database Driver & Version
MySQL 8.1.0
Description
https://github.com/laravel/framework/blob/10.x/src/Illuminate/Validation/Rules/DatabaseRule.php#L235
When creating a unique validation rule and adding a NULL where clause the resulting formatted string wraps NULL values in quotes as "NULL" which doesn't match NULL column values.
Example:
use Illuminate/Validation/Rules;

$unique = Rule::unique('users', 'email')->withoutTrashed()->ignore($model->id);

echo (string) $unique; // unique:users,email,NULL,id,deleted_at,"NULL"

The string value should in fact be:
echo (string) $unique; // unique:users,email,NULL,id,deleted_at,NULL

Similarly for NOT_NULL.
Possible fix:
/**
 * Format the where clauses.
 *
 * @return string
 */
protected function formatWheres()
{
    return collect($this->wheres)->map(function ($where) {
        if ($where['value'] === 'NULL') {
            return $where['column'].',NULL';
        } elseif ($where['value'] === 'NOT_NULL') {
            return $where['column'].',NOT_NULL';
        } else {
            return $where['column'].','.'"'.str_replace('"', '""', $where['value']).'"';
        }
    })->implode(',');
}

Steps To Reproduce
use Illuminate/Validation/Rules;

$unique = Rule::unique('users', 'email')->whereNull('deleted_at')->ignore($model->id);

echo (string) $unique;

I'm not sure I follow. Is $model->id null?

Apologies, that's typo, try this:
use Illuminate/Validation/Rules;

$unique = Rule::unique('users', 'email')->withoutTrashed()->ignore($user);

echo (string) $unique; // unique:users,email,"1",id,deleted_at,"NULL"

Whereas it should be:
echo (string) $unique; // unique:users,email,"1",id,deleted_at,NULL

Is the ignore a factor here? Is $user null?

No, not a factor, this also produces the wrong string:
use Illuminate/Validation/Rules;

$unique = Rule::unique('users', 'email')->withoutTrashed();

echo (string) $unique; // unique:users,email,NULL,id,deleted_at,"NULL"

It should be:
echo (string) $unique; // unique:users,email,NULL,id,deleted_at,NULL

Equally using the "whereNull" and "whereNotNull" methods on the rule produces the same error, e.g.,
use Illuminate/Validation/Rules;

$unique = Rule::unique('users', 'email')->whereNull('column1')->whereNotNull('column2');

echo (string) $unique; // unique:users,email,NULL,id,column1,"NULL",column2,"NOT_NULL"

This should be:
echo (string) $unique; // unique:users,email,NULL,id,column1,NULL,column2,NOT_NULL

Actually, the string output is correct. AFAIK, the string is formatted as CSV string, where the values are enclosed in double quote enclosures. There are several rules that do the same thing.
You can see in parseParameters() method, where str_getcsv() is used to parse the parameters string.
For example, let's run the following code in Tinker.
str_getcsv('unique:users,email,NULL,id,deleted_at,"NULL"');

The string is parsed correctly into an array.
[
    "unique:users",
    "email",
    "NULL",
    "id",
    "deleted_at",
    "NULL",
]

Closing this issue because it's inactive, already solved, old or not relevant anymore. Feel to open up a new issue if you're still experiencing this.


Rename bit read/write methods.

set() -> set_bit()
clear() -> clear_bit()
is_set() -> is_bit_set()
is_clear() -> is_bit_clear()
Also adds these names to the list of reserved keywords along with bit and bits
so that they are suffixed with an underscore if used as a variant name.
Also causes the set_bit() and clear_bit() methods to be added even if the field has an enumeratedValues.
#99 #92 @whitequark

Also adds these names to the list of reserved keywords along with bit and bits
so that they are suffixed with an underscore if used as a variant name.

Excellent!
Thank you @adamgreig!
@homunkulus r+

:pushpin: Commit cc512a0 has been approved by japaric

:hourglass: Testing commit cc512a0 with merge cc512a0...

:sunny: Test successful - status-appveyor, status-travis
Approved by: japaric
Pushing cc512a088f9f776d29cbc494954157d2ceb3753d to master...


Corrupted data on decryption

Hi, thanks for implement the algorithm on JS.
I found a bug.
When i encrypt and then decrypt text, result string is not exact equal to a original string.
JSFiddle: https://jsfiddle.net/u3xohay0/
var tf = twofish();
var key1 = tf.stringToByteArray('secret');
var sourceText = 'Hello world 123 4 5';
var encBytes = tf.encryptCBC(key1, tf.stringToByteArray(sourceText));
var decText = tf.byteArrayToString(tf.decryptCBC(key1, encBytes));

decText // Hello world 123 4 5\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000

It looks like some padding bits, how to remove it? Keep in mind that we can't just remove 0-bits, because it may be part of source data.

I have this issue too. Do you have any solution for this ?

I have this issue too. Do you have any solution for this ?

I just use https://github.com/gliese1337/twofish instead. There pretty nice API

I found the solution.
When the string to be encoded don't have lenght multiple of 16, we need to fill with white spaces (ASCII 32) and when decode use .trim() to achieve the same string.
Here is an example
`const { twofish } = require('twofish');
const tf = twofish();
var key         = Buffer.from('3c910a396b5aff83eb0f77579c4f661', 'hex');
var sourceText  = 'Text to be encrypted whith length not multiple of 16'; //This string length is 52
var sourceBytes = Buffer.from(sourceText);
var sourceCopy  = fixBytes(sourceBytes);
var encBytes = tf.encrypt(key, sourceCopy);
var encText = Buffer.from(encBytes).toString('base64');
console.log(encText); //encrypted result converted to base64
var decText = Buffer.from(tf.decrypt(key, encBytes)).toString().trim();
console.log(decText); //back to original sourceText decrypted with .trim()
function fixBytes(srcByt = []) {
let srcFixed = [];
if (srcByt.length % 16 !== 0) {
let rest = 16 - ((srcByt.length) % 16);
for (i = 0; i < srcByt.length; i++) {
srcFixed[i] = srcByt[i];
}
for (i = 0; i < rest; i++) {
srcFixed[srcByt.length + i] = 32; //Fill with white spaces
}
} else {
srcFixed = srcByt;
};
return srcFixed;
};
`


Batch size > 1 on single GPU

First, thank you for your great work and code.
I saw in your code that you force the batch_size_per_gpu = 1. What's the reason for this config? If I want to train a larger batch size on a single GPU, which parts should I modify?
Look forward to your answer. Thanks.

Hi, @ngoductuanlhp . I solved your problem with some ugly workarounds like size interpolation, do you have a better solution?

The 3D CNN consumes a lot of memory, it is hard to train with larger batch size. A possible solution is to reduce the number of channels or layers, but it will affect the performance.


The icon displayed in the status bar is too small/unclear

Keybase GUI Version: 1.0.15-20160520160055+f4ef15a
Perhaps this is a HiDpi screen issue - the status bar icon doesn't seem to scale when I increase the panel size, and to be honest I only recognize it by the fact that it is unrecognisable!

Thanks for this feedback! Could you please share a screenshot of what the icon looks like on your panel, and the version of your desktop environment?

Screenshot attached!

Yesterday I was running Cinnamon on Ubuntu 16.04 when I filed the bug, although overnight I switched the laptop to Debian Unstable, and I tried it under Gnome 3 Classic which exhibited the same problem.  I'm now running Cinnamon again on Debian now, and see the same issue.  The screenshot above is from Cinnamon 3.0.2 under Debian.

Thanks @karora! One of our engineers has experienced this too :) I've submitted this bug to our internal tracker.

@karora I believe that this issue has been fixed, and should be available in the next public build :)


Some templates don't show up in portal

e.g. https://github.com/Azure/azure-webjobs-sdk-templates/tree/master/Templates/WebHook-GitHub doesn't show up in the list.

fixed by https://github.com/Azure/azure-webjobs-sdk-templates/commit/97496e8a06d187e61e937221cc24c98d3f3b25e6 and https://github.com/projectkudu/WebJobsPortal/commit/f4f0a4fe37a0f90c3513898a6fff017380be2f1a


Edit based on the value in column

Hi,
I have a requirement in jsgrid where i want the field to be editable only is the field has no value. Is it possible to make editable column based on the value present?

Yes, define editTemplate(value) of the field depending on the input parameter value.


Kaleidoscope Animation[HACTOBERFEST 2023]

Describe the project you want to add with tech stack

Hello Sir,
I want to add Kaleidoscope animation in this repo.
Expected behavior

Here I have made a Kaleidoscope using CSS animation. It's a normal Kaleidoscope animation.
Screenshots (optional)

Additional context (optional )

Please take a review of my PR & merge  under HACTOBERFEST 2023.

@debrajrout Please take a review of my PR & merge under HACTOBERFEST 2023.


The way relative paths are treated should be sanitized

The way relative paths inside .sil documents are treated leaves something to be desired. On the one hand I don't want to see SILE getting into the mess that LaTeX has by doing searches through a huge path stack, but on the other it does need a touch more intelligence than it has now.
Currently by default SILE uses the CWD for searches. This, for example, means that in order to compile the documentation you must be in the repo root folder and run sile documentation/sile.sil but in order to compile most of the things in the tests directory you must be in the tests directory, or to compile the sbgnt example you must be in examples/sbgnt. That the CWD is going to matter is neither apparent nor consistent with the way most non-shell applications handle paths. In the case of shell scripts that have dependencies on other scripts is common practice to retrieve the script's location using variations of basename and reference all relative paths on the computed value.
I propose that relative paths in .sil documents be treated as relative to FILE rather than to CWD by default. This way I could be in the root directory and run sile examples/*.sil or be in the examples directory and run sile *.sil and achieve exactly the same thing even in the case of documents that import other documents.
I further suggest that the sile executable accept an include path search argument (in fact accepting it multiple times) that adds paths to a stack to look in if files are not found relative to the document being compiled. This would enable additionally flexibility at document compile time.

The last part is available through the SILE_PATH environment variable.
The first part... I'd love to see a patch. ;-) And it should be pretty easy to implement: SILE.require in sile.lua is currently a thin wrapper around Lua's require, so that's the place to customize file look-up when loading Lua-based packages and classes. For including other SILE documents, SILE.resolveFile (also in sile.lua) does half of what you want. The current file is stored in SILE.currentlyProcessingFile.

I'm still feeling my way around the code, but I'll have a look at it. Thanks for the pointers to get me started.


Space in label

Please take a look of screenshot, do we have any change to remove that space

It only happen when enable point in chart

Hi, I added that margin to avoid cutting off points. By default this padding is equals pointRadius + 4dp and by default pointRadius = 6dp.  You can set negative padding to remove that empty space, for example:
float density = getActivity().getResources().getDisplayMetrics().density;
int padding = ChartUtils.dp2px(density, pointRadius + 4);//for default settings use ChartUtils.dp2px(density, 6 + 4)
chart.setPadding(-padding, -padding,-padding, -padding);

Setttng padding in xml should work as well.
If you like to change source code you can remove that padding by deleting few line in LineChartRenderer#197:
    private int calculateContentRectInternalMargin() {
        int contentAreaMargin = 0;
        //final LineChartData data = dataProvider.getLineChartData();
        //for (Line line : data.getLines()) {
           // if (checkIfShouldDrawPoints(line)) {
           //     int margin = line.getPointRadius() + DEFAULT_TOUCH_TOLERANCE_MARGIN_DP;
           //     if (margin > contentAreaMargin) {
          //          contentAreaMargin = margin;
          //     }
          //  }
        //}
        return ChartUtils.dp2px(density, contentAreaMargin);
    }

@lecho , I love the idea for avoiding cutting off points. So I keep your code as it was. I changed a little in https://github.com/lecho/hellocharts-android/blob/master/hellocharts-library/src/lecho/lib/hellocharts/renderer/AxesRenderer.java#L608 , remove the floatX in drawText with 0. In my case, no more padding for text now and I think I still keep the idea for avoiding cutting off points.
Thanks.


Just a POC, do Not Merge. Good file format whole block stream poc

Description:

Related issue(s):
Fixes #
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Closing this, no longer useful. Not yet deleting the branch


Implement new ODE Trigger services to get/set minimum tracker confidence as criteria for ODE Occurrence

Similar to the current services to set the minimum IE confidence level for ODE occurrence

dsl_ode_trigger_confidence_min_get
dsl_ode_trigger_confidence_min_set

New services for Tracker confidence as reported by a DCF MOT Tracker.  The two settings (IE and Tracker) should be used together when the inference interval > 0
/**
 * @brief Gets the current minimum Tracker confidence setting for the ODE Trigger
 * A value of 0.0 (default) indicates the minimum Tracker confidence criteria is disabled
 * @param[in] name unique name of the ODE Trigger to query
 * @param[out] min_confidence current minimum Tracker confidence criteria
 * @return DSL_RESULT_SUCCESS on successful query, DSL_RESULT_ODE_TRIGGER_RESULT otherwise.
 */
DslReturnType dsl_ode_trigger_tracker_confidence_min_get(const wchar_t* name,
    float* min_confidence);

/**
 * @brief Sets the minimum Tracker confidence setting for the ODE Trigger
 * Set the value of 0.0 to disable minimum Tracker confidence criteria.
 * Note: the confidence level is only checked with the reported value is > 0.0
 * @param[in] name unique name of the ODE Trigger to update
 * @param[in] min_confidence minimum Tracker confidence to trigger an ODE occurrence
 * @return DSL_RESULT_SUCCESS on successful query, DSL_RESULT_ODE_TRIGGER_RESULT otherwise.
 */
DslReturnType dsl_ode_trigger_tracker_confidence_min_set(const wchar_t* name,
    float min_confidence);

complete - merged into v0.24.alpha


Use npm@3 w/ node@4

node-pre-gyp + npm 2 + sudo don't work well together, resulting in errors similar to:
><EMAIL_ADDRESS>preinstall /usr/lib/node_modules/tl/node_modules/tilelive-vector/node_modules/mapnik
> npm install node-pre-gyp

npm WARN package.json<EMAIL_ADDRESS>No license field.
npm ERR! Linux 3.13.0-77-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "node-pre-gyp"
npm ERR! node v4.4.2
npm ERR! npm  v2.15.0
npm ERR! path /home/posm/.npm/brace-expansion/1.1.3/package.tgz.2889632796
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open

npm ERR! Error: EACCES: permission denied, open '/home/posm/.npm/brace-expansion/1.1.3/package.tgz.2889632796'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, open '/home/posm/.npm/brace-expansion/1.1.3/package.tgz.2889632796']
npm ERR!   errno: -13,
ERR!   code: 'EACCES',
npm ERR!   syscall: 'open',
npm ERR!   path: '/home/posm/.npm/brace-expansion/1.1.3/package.tgz.2889632796',
npm ERR!   parent: 'minimatch' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
-
npm ERR! Please include the following file with any support request:
npm ERR!     /usr/lib/node_modules/tl/node_modules/tilelive-vector/node_modules/mapnik/npm-debug.log

Switching to the flat node_modules structure used by npm 3 prevents these permissions problems from cropping up.
<EMAIL_ADDRESS>is used because it's the last version that didn't error out manually installing modules into a globally-installed module's node_modules (AmericanRedCross/posm#69).

This fixes #28

👍
Looks good


[Decompiler] Misc fixes for gkernel/math

To fix before merging:

[ ] Bogus float type after f2i
[ ] Weird double cast on return value (maybe same as previous?)
[ ] Some set!'s not being eliminated in math. (end of a condition again...)

Pull Request Test Coverage Report for Build 562993916

167 of 217 (76.96%)  changed or added relevant lines in 12 files are covered.
4 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.4%) to 67.896%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

decompiler/IR2/AtomicOpTypeAnalysis.cpp
10
11
90.91%

decompiler/IR2/Env.cpp
1
3
33.33%

decompiler/util/TP_Type.cpp
2
6
33.33%

decompiler/IR2/AtomicOp.cpp
0
6
0.0%

decompiler/IR2/Form.cpp
17
25
68.0%

decompiler/util/DecompilerTypeSystem.cpp
0
9
0.0%

decompiler/IR2/FormExpressionAnalysis.cpp
52
72
72.22%

Files with Coverage Reduction
New Missed Lines
%

decompiler/IR2/FormExpressionAnalysis.cpp
1
83.79%

goalc/compiler/IR.cpp
1
96.39%

decompiler/IR2/Env.cpp
2
50.61%

Totals

Change from base Build 559885717:
0.4%

Covered Lines:
28470

Relevant Lines:
41932

💛  - Coveralls


Local pull request success status testing

Docs Build status updates of commit b65acca:
:clock10: Pending: waiting for processors (16 builds ahead of you)
:warning: Docs Build is busy, currently there are 16 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

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

File
Status
Preview URL
Details

E2E_DocsBranch_Dynamic/index.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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Cornwall, UK (have co-ordinates)

Bullock Lane, Helston
50.09924, -5.27694
There actually seem to be two. Or does it need to be spelt "bullock" for inclusion on the map?

Hmmm ... Bullock isn't really rude. If it was spelt with an "o" in place of the "u" then that would definitely be a candidate.


Replace UptimeTimer with DiscreteClock

The UptimeTimer was an early refactoring attempt to remove a cyclic dependency between some classes and the LoadManager / Application objects. We now have the DiscreteClock, which is a light weight and copyable reference to an underlying integer based abstract time measurement object.
Classes that were converted into templates to use the UptimeTimer should be changed to be non-templates (with function definitions moved down into an appropriate .cpp file), and construct with a DiscreteClock instance as a parameter, saving the value in a data member.
Another benefit of the DiscreteClock type is that classes can be constructed using a unit-test clock that is manually advanced, allowing for deterministic unit tests to be written that exercise interfaces without being affected by the system clock.
There are several pieces of new code that uses the DiscreteClock type, which serve as suitable usage examples.

Obsolete


vcpkg install openssl hangs

I tried to install boost which depends on openssl. However, the installation process hangs/stops on building openssl. A few hours passed, the console progress did not change at all. Then I checked the cpu/memory usage, they are almost not active. Then I killed a jom sub process, then the installation process continued.
D:\apps\vcpkg>vcpkg install boost
Computing installation plan...
The following packages will be built and installed:
    boost[core]:x86-windows -> 1.78.0
  * boost-parameter-python[core]:x86-windows -> 1.78.0
  * boost-pfr[core]:x86-windows -> 1.78.0
  * boost-poly-collection[core]:x86-windows -> 1.78.0
  * boost-process[core]:x86-windows -> 1.78.0
  * boost-program-options[core]:x86-windows -> 1.78.0
  * boost-python[core,python3]:x86-windows -> 1.78.0
  * boost-safe-numerics[core]:x86-windows -> 1.78.0
  * boost-signals2[core]:x86-windows -> 1.78.0
  * boost-sort[core]:x86-windows -> 1.78.0
  * boost-stacktrace[core]:x86-windows -> 1.78.0
  * boost-statechart[core]:x86-windows -> 1.78.0
  * boost-static-string[core]:x86-windows -> 1.78.0
  * boost-stl-interfaces[core]:x86-windows -> 1.78.0
  * boost-test[core]:x86-windows -> 1.78.0
  * boost-timer[core]:x86-windows -> 1.78.0
  * boost-type-erasure[core]:x86-windows -> 1.78.0
  * boost-vmd[core]:x86-windows -> 1.78.0
  * boost-wave[core]:x86-windows -> 1.78.0
  * boost-yap[core]:x86-windows -> 1.78.0
  * openssl[core]:x86-windows -> 3.0.2#2
  * python3[core]:x86-windows -> 3.10.2#1
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x86-windows...
Restored 0 packages from C:\Users\Liu.D.H\AppData\Local\vcpkg\archives in 2.824 ms. Use --debug to see more details.
Starting package 1/22: openssl:x86-windows
Building package openssl[core]:x86-windows...
-- Using cached openssl-3.0.2.tar.gz.
-- Cleaning sources at D:/apps/vcpkg/buildtrees/openssl/src/openssl-3-67d457a95e.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/apps/vcpkg/downloads/openssl-3.0.2.tar.gz
-- Using source at D:/apps/vcpkg/buildtrees/openssl/src/openssl-3-67d457a95e.clean
-- Copying openssl release source files...
-- Copying openssl release source files... done
-- Configure x86-windows-rel
-- Configure x86-windows-rel done
-- Build x86-windows-rel   # hangs on the line for a few hours!

See the follow screen record.
https://user-images.githubusercontent.com/2276718/163313521-048afdf0-aeb1-4b0d-bbe3-ddeed440eca7.mp4

@JackBoosY Hi, I disabled windows security. But it seems that no use.
Now the console log hangs on -- Installing: D:/apps/vcpkg/packages/openssl_x86-windows/share/openssl/usage.
D:\apps\vcpkg>vcpkg install boost
Computing installation plan...
The following packages will be built and installed:
    boost[core]:x86-windows -> 1.78.0
  * boost-parameter-python[core]:x86-windows -> 1.78.0
  * boost-pfr[core]:x86-windows -> 1.78.0
  * boost-poly-collection[core]:x86-windows -> 1.78.0
  * boost-process[core]:x86-windows -> 1.78.0
  * boost-program-options[core]:x86-windows -> 1.78.0
  * boost-python[core,python3]:x86-windows -> 1.78.0
  * boost-safe-numerics[core]:x86-windows -> 1.78.0
  * boost-signals2[core]:x86-windows -> 1.78.0
  * boost-sort[core]:x86-windows -> 1.78.0
  * boost-stacktrace[core]:x86-windows -> 1.78.0
  * boost-statechart[core]:x86-windows -> 1.78.0
  * boost-static-string[core]:x86-windows -> 1.78.0
  * boost-stl-interfaces[core]:x86-windows -> 1.78.0
  * boost-test[core]:x86-windows -> 1.78.0
  * boost-timer[core]:x86-windows -> 1.78.0
  * boost-type-erasure[core]:x86-windows -> 1.78.0
  * boost-vmd[core]:x86-windows -> 1.78.0
  * boost-wave[core]:x86-windows -> 1.78.0
  * boost-yap[core]:x86-windows -> 1.78.0
  * openssl[core]:x86-windows -> 3.0.2#2
  * python3[core]:x86-windows -> 3.10.2#1
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x86-windows...
Restored 0 packages from C:\Users\Liu.D.H\AppData\Local\vcpkg\archives in 909.4 us. Use --debug to see more details.

Starting package 1/22: openssl:x86-windows
Building package openssl[core]:x86-windows...
-- Using cached openssl-3.0.2.tar.gz.
-- Extracting source D:/apps/vcpkg/downloads/openssl-3.0.2.tar.gz
-- Using source at D:/apps/vcpkg/buildtrees/openssl/src/openssl-3-67d457a95e.clean
-- Copying openssl release source files...
-- Copying openssl release source files... done
-- Configure x86-windows-rel
-- Configure x86-windows-rel done
-- Build x86-windows-rel
-- Build x86-windows-rel done
-- Copying openssl debug source files...
-- Copying openssl debug source files... done
-- Configure x86-windows-dbg
-- Configure x86-windows-dbg done
-- Build x86-windows-dbg
-- Build x86-windows-dbg done
-- Installing: D:/apps/vcpkg/packages/openssl_x86-windows/share/openssl/copyright
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/lib/pkgconfig/libcrypto.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/lib/pkgconfig/libssl.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/lib/pkgconfig/openssl.pc
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst.
-- Using msys root at D:/apps/vcpkg/downloads/tools/msys2/9a1ec3f33446b195
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/debug/lib/pkgconfig/libcrypto.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/debug/lib/pkgconfig/libssl.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/debug/lib/pkgconfig/openssl.pc
-- Installing: D:/apps/vcpkg/packages/openssl_x86-windows/share/openssl/usage
# a few hours passed, I stopped the installation process manually by press Ctrl+C here.
D:\apps\vcpkg>

I go through the code and it seems the installation process of openssl is finished.
https://github.com/microsoft/vcpkg/blob/5d66a98f64188bbd806b8e62e66c097d90eb3224/ports/openssl/portfile.cmake#L38

Can you please provide all the logs in D:/apps/vcpkg/buildtrees/openssl?
Thanks.

Hi, My installation hangs on -- Build x86-windows-rel and -- Build x86-windows-dbg for a few hours.  Now the logs stopped at -- Installing: D:/apps/vcpkg/packages/openssl_x86-windows/share/openssl/usage.
D:\apps\vcpkg>vcpkg install openssl
Computing installation plan...
The following packages will be built and installed:
    openssl[core]:x86-windows -> 3.0.2#2
Detecting compiler hash for triplet x86-windows...
Restored 0 packages from C:\Users\Liu.D.H\AppData\Local\vcpkg\archives in 220.1 us. Use --debug to see more details.
Starting package 1/1: openssl:x86-windows
Building package openssl[core]:x86-windows...
-- Using cached openssl-3.0.2.tar.gz.
-- Extracting source D:/apps/vcpkg/downloads/openssl-3.0.2.tar.gz
-- Using source at D:/apps/vcpkg/buildtrees/openssl/src/openssl-3-67d457a95e.clean
-- Copying openssl release source files...
-- Copying openssl release source files... done
-- Configure x86-windows-rel
-- Configure x86-windows-rel done
-- Build x86-windows-rel
-- Build x86-windows-rel done
-- Copying openssl debug source files...
-- Copying openssl debug source files... done
-- Configure x86-windows-dbg
-- Configure x86-windows-dbg done
-- Build x86-windows-dbg
-- Build x86-windows-dbg done
-- Installing: D:/apps/vcpkg/packages/openssl_x86-windows/share/openssl/copyright
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/lib/pkgconfig/libcrypto.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/lib/pkgconfig/libssl.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/lib/pkgconfig/openssl.pc
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst.
-- Using msys root at D:/apps/vcpkg/downloads/tools/msys2/9a1ec3f33446b195
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/debug/lib/pkgconfig/libcrypto.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/debug/lib/pkgconfig/libssl.pc
-- Fixing pkgconfig file: D:/apps/vcpkg/packages/openssl_x86-windows/debug/lib/pkgconfig/openssl.pc
-- Installing: D:/apps/vcpkg/packages/openssl_x86-windows/share/openssl/usage

Here are the log files in vcpkg/buildtrees/openssl.
buildtrees-openssl-logs.zip

Maybe still have an anti-virus in your system and it's not shutdown?

In my another computer, I can install successfully. So I copied vcpkg\installed\vcpkg\status, vcpkg\packages\openssl_x86-windows and some files in vcpkg\installed\x86-windows to mark it installed.

Note that the library build is successful, but the executable is not.
This is generally caused by anti-virus blocking executable builds.

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.

I have the same problem. I only have Windows Defender.

No, there should also have an extra process to access jom.exe in the build failure moment.

No there is none (At least I don't see one)


problems with Internet Explorer 9 (Slow loading or not at all)

PDF's in a iframe in IE9 do not load the pdf.js viewer fails to load. Slow loading as a single PDF without a iframe.

Hi @yurydelendik
I found you mentioned "Resolves #2039" in your first comment at https://github.com/mozilla/pdf.js/pull/2196
I am still facing the same issue i.e pdf.js not working in IE9.
pdf.js is not even working on demo page of pdf.js http://mozilla.github.io/pdf.js/web/viewer.html in IE9. It doesn't renders the document there.
Thanks,
Raghav


WIP: get nix-writers into nixpkgs

Get https://cgit.krebsco.de/nix-writers/about/ into nixpkgs
feedback is appreciated
stuff which still needs to be done:

[ ] comment all the functions in pkgs/build-support/writers.nix
[x] unify interface between writeJS, writeC, writeHaskellPackage and writePerl (deps vs dependencies vs libraries)

nice to have:

[ ] writeHaskellPackage dependencies are attributes instead of strings
[ ] writeC dependencies are a list instead of attrset

I think something like this needs some good use cases to be included in full. Right now a lot of them seem like they have a pretty limited use case. I'd definitely be more comfortable with some getting included if it leads to less total code in Nixpkgs.
I had a similar try at something like writers.write in #43074. buildTree does I think the same thing so that these two are equivalent:
write "name" { "/etc/test" = { text = "hello world"; }; }

buildTree "name" {
  "/etc/test" = writeText "test" "hello world";
} {}

So I think something like that is definitely useful.

I think most of the use-cases would be outside of nixpkgs or in nixos modules.
It's very cool to have inline packages in your shell.nix or ExecStart scripts in other languages than bash.

We have pkgs/test, but maybe something in the writers directory would make more sense.

Soo I guess I'm done. I'm not sure about the tests though

I think we need better criteria of where this can be used. Is this intended for internal use within Nixpkgs? If so, we need some usages inside the tree. If not, why not just release this as a separate repo? I just don't think we have a good enough use for this right now.
Also, It also doesn't really support external files, which seems pretty important. You can kind of "fake" it with something like:
writeBash "examples" (builtins.readFile ./example.sh)

But this just reads the file and writes it back to the store twice! Anyway, this seems like something that is an interesting use of Nix, but should be left out of Nixpkgs.

There are usecases inside of nixpkgs. Having something like services.xserver.windowManager.xmonad.config comes to my mind. I can implement this next. Also a lot of suckless software rely upon recompliation and there is no abstraction inside configuration.nix
About the files ending up twice in the store, does writeScript(Bin) handle this?
I guess, I could extend the writers to take strings or files.


Jupyter Notebook CI fail

For CI log see https://github.com/IKIM-Essen/uncovar/runs/4291269611?check_suite_focus=true#step:7:689
[Mon Nov 22 19:54:14 2021]
rule call_strains_kallisto:
    input: results/benchmarking/quant/non-cov2-NC_006213, results/benchmarking/nonhuman-reads/non-cov2-NC_006213.1.fastq.gz
    output: results/benchmarking/tables/strain-calls/non-cov2-NC_006213.strains.kallisto.tsv
    log: logs/benchmarking/call-strains/non-cov2-NC_006213.log
    jobid: 210
    wildcards: date=benchmarking, sample=non-cov2-NC_006213

Activating conda environment: /github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948
[NbConvertApp] ERROR | Notebook JSON is invalid: Additional properties are not allowed ('id' was unexpected)

Failed validating 'additionalProperties' in code_cell:

On instance['cells'][0]:
{'cell_type': 'code',
 'execution_count': None,
 'id': '1b1e65a0',
 'metadata': {'tags': ['snakemake-job-properties']},
 'outputs': ['...0 outputs...'],
 'source': '\n'
           '######## snakemake preamble start (automatically inserted, do '
           'n...'}
[NbConvertApp] ERROR | Notebook JSON is invalid: Additional properties are not allowed ('id' was unexpected)

Failed validating 'additionalProperties' in code_cell:

On instance['cells'][0]:
{'cell_type': 'code',
 'execution_count': None,
 'id': 'e05e13d4',
 'metadata': {'tags': ['snakemake-job-properties']},
 'outputs': ['...0 outputs...'],
 'source': '\n'
           '######## snakemake preamble start (automatically inserted, do '
           'n...'}
Traceback (most recent call last):
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/traitlets/traitlets.py", line 537, in get
    value = obj._trait_values[self.name]
KeyError: 'kernel_dirs'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/bin/jupyter-nbconvert", line 11, in <module>
    sys.exit(main())
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_core/application.py", line 264, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/traitlets/config/application.py", line 846, in launch_instance
    app.start()
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 361, in start
    self.convert_notebooks()
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 533, in convert_notebooks
    self.convert_single_notebook(notebook_filename)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 498, in convert_single_notebook
    output, resources = self.export_single_notebook(notebook_filename, resources, input_buffer=input_buffer)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 427, in export_single_notebook
    output, resources = self.exporter.from_filename(notebook_filename, resources=resources)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 186, in from_filename
    return self.from_file(f, resources=resources, **kw)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 204, in from_file
    return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, **kw)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/exporters/notebook.py", line 32, in from_notebook_node
    nb_copy, resources = super().from_notebook_node(nb, resources, **kw)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 143, in from_notebook_node
    nb_copy, resources = self._preprocess(nb_copy, resources)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 323, in _preprocess
    nbc, resc = preprocessor(nbc, resc)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/preprocessors/base.py", line 47, in __call__
    return self.preprocess(nb, resources)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbconvert/preprocessors/execute.py", line 80, in preprocess
    with self.setup_kernel():
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbclient/client.py", line 460, in setup_kernel
    self.start_new_kernel(**kwargs)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbclient/util.py", line 84, in wrapped
    return just_run(coro(*args, **kwargs))
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbclient/util.py", line 62, in just_run
    return loop.run_until_complete(coro)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbclient/client.py", line 416, in async_start_new_kernel
    await ensure_async(self.km.start_kernel(extra_arguments=self.extra_arguments, **kwargs))
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/nbclient/util.py", line 96, in ensure_async
    result = await obj
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/manager.py", line 657, in start_kernel
    kernel_cmd, kw = self.pre_start_kernel(**kw)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/manager.py", line 292, in pre_start_kernel
    kernel_cmd = self.format_kernel_cmd(extra_arguments=extra_arguments)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/manager.py", line 210, in format_kernel_cmd
    cmd = self.kernel_spec.argv + extra_arguments
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/manager.py", line 114, in kernel_spec
    self._kernel_spec = self.kernel_spec_manager.get_kernel_spec(self.kernel_name)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/kernelspec.py", line 228, in get_kernel_spec
    resource_dir = self._find_spec_directory(kernel_name.lower())
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/kernelspec.py", line 204, in _find_spec_directory
    for kernel_dir in [kd for kd in self.kernel_dirs if os.path.isdir(kd)]:
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/traitlets/traitlets.py", line 577, in __get__
    return self.get(obj, cls)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/traitlets/traitlets.py", line 540, in get
    default = obj.trait_defaults(self.name)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/traitlets/traitlets.py", line 1580, in trait_defaults
    return self._get_trait_default_generator(names[0])(self)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/jupyter_client/kernelspec.py", line 158, in _kernel_dirs_default
    dirs.append(os.path.join(get_ipython_dir(), 'kernels'))
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/site-packages/IPython/paths.py", line 70, in get_ipython_dir
    os.makedirs(ipdir)
  File "/github/workspace/.tests/.snakemake/conda/ef3802cb519924eb937d04e949367948/lib/python3.8/os.py", line 223, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/github/home/.ipython'

johkoester:
I think someone here has the same problem: https://github.com/jupyterlab/jupyterlab/issues/9637
Probably an incompatibility of the used jupyter version to the python version.
I don't know exactly which constellation is causing the problem. Seems to happen with nbconvert...

Will be fixed with https://github.com/snakemake/snakemake/pull/1280 🎉

cc: @AKBrueggemann

Snakemake v6.11.1 is released. CI works again.


Initial value is duplicated and even submitted if deleted

I am using flexdatalist v2.2.4 with ajax url to get list of options.
When using muliple options field and set a default value (for example "PHP" as value of input field) and I am selecting another option (for example "C#") the value submitted ist "PHP,PHP,C#". I see an issue #118 but the bug is not fixed in my opinion.
Further if I delete the initial value "PHP" from the list of selected options it will still be submitted with the form.

You can see similar behaviour when using the "TOGGLE VALUE(S) ON CLICK/TAP" example at http://projects.sergiodinislopes.pt/flexdatalist/

Same issue and possible workarround.
For example, if I have the code:
<input type="text" id="countries" name="countries" value="USA" />
<script>
$(document).ready( function () {
   $('#countries').flexdatalist({
       multiple: true
   });
});
</script>

Then even using alert($('#countries').val()).
Or at php script for submited form data (server side), the string content shown is:
USA,USA.
My opinion is that when the plugin reads a value parameter and the plugin is set to multiple at initialization, it tries to create the appearence as if it was added by the user, then the algorithm do not clear the field before, so duplicating the content.
This conclusion comes from the fact that if the value parameter of <input/> is: PHP,Java
the resulting value after plugin initialization is: PHP,Java,PHP,Java
For me, to continue using this good and very useful plugin, I created a hidden field which holds the actual value.
Then, I set the value of the "real" input at document ready like this:
<input type="hidden" name="countries_hidden" value="Brazil" />
<input type="hidden" name="countries" value="Brazil" />
$(document).ready( function () {
   $('#countries').flexdatalist({
       multiple: true
   });
   $('#countries').val($('#countries_hidden').val()); //Must be after initialization anyway
});

Hope in the future not to have to use this method! ;-)

Different approach to the workarraound
Testing another way to temporarily sove the problem, I wanted a solution which does not make me to create another hidden input field.
So if the value is duplicated entirely, it would be ok to set the value attribute of the field to its half.
So:
If it is: Brazil,USA,Canada
It becames duplicated in this way: Brazil,USA,Canada,Brazil,USA,Canada
Well, it's just a metter of resetting to the half of this.
Bellow a function I wrote which does this:
function flexdatalistSanitizeField(field) {
       var val = field.val().split(',');
       var middle = val.length /2;
       field.val(val.slice(middle).join())
}

Then, after declaring this function somewhere, just call it passing the reference of the field, after initializing flexdatalist on it. Example:
flexdatalistSanitizeField($('#countries')); //Using the same field name as the former post.
I tested it and it worked well for me, so I could get rid of the countries_hidden field and stay with the original one with no modifications.
Hope it helps others!


Feature: Allow to specify config sync targets

Please describe the feature you would like to see implemented.
Is there a way to synchronize only mail templates? A command attribute would be awesome to specify the sync targets on my own; when no attribute is given, sync all by default. This would e.g. a good way to put mail templates in VCS and keep them in sync with the shop while development.
I took a quick look into the source code to check if there is something like that already implemented. My Go-Skills are not sufficient to clarify, if this already possible, but in the documentation I can't find anything about this topic, even not in the code.
https://github.com/FriendsOfShopware/shopware-cli/blob/c20cbb8276451060cab4db00a3de0dccf7d225ac/cmd/project/config_sync.go#L38

It only pushes when there is data for, so you could delete it from yaml file 🤔

But very inconvenient when you pull to get the latest update from the shop, then you push and forgot to delete parts in the yaml file. I mean, i've built a command wrapper in php to avoid that, but i miss that feature in vanilla shopware-cli.

Thank you so much for this improvement! 👍🏻


schooner-cloud failing

More questions... :smile:
Build seem to work properly, and I was able to run schooner-stitch successfully. However, schooner-cloud is failing with the following:
/schooner-cloud ~/landsat/downloads/LC80110272014262LGN00/LC80110272014262LGN00_BQA.TIF qa.TIF
dyld: Library not loaded: /usr/local/lib/libopencv_calib3d.2.4.dylib
  Referenced from: /Users/j/code/schooner-tk/src/./schooner-cloud
  Reason: image not found
[1]    85242 trace trap  ./schooner-cloud  qa.TIF

Is that something you've seen before?

Seeing the same with schooner-blend.
Poked around, and rather than having a reference to:
libopencv_calib3d.2.4.dylib

I have:
libopencv_calib3d.3.0.dylib
libopencv_calib3d.dylib

Basically, it looks like schooner is looking for OpenCV 2.4, but Homebrew is installing 3.0.

Uninstalled both 2.4 and 3.0, and am rebuilding with 3.0.

Did that end up working? I remember that open cv doesn't play very nicely
with pkg-config, but it does look like you were linking to a 2 series
library.
I think I should probably make a system where schooner downloads and links
to a local 3 install rather than a system one.
On Thursday, May 28, 2015, j<EMAIL_ADDRESS>wrote:

Uninstalled both 2.4 and 3.0, and am rebuilding with 3.0.
—
Reply to this email directly or view it on GitHub
https://github.com/propublica/schooner-tk/issues/4#issuecomment-106169012
.

blend is working, haven't tried cloud yet, but I expect things should be working now.


Incorrect permission checks on express objects

I ran into this issue a while ago, in some places the permission check is made by calling method name in plural instead of singular as it is written, so I've made a local change and it worked.
Added pull reaquest for this: #8330

Hi @aembler
Steps to reproduce

Add a new administrator (functionality works for super admins but not for other administrators)
Create Category express object with some fields (ex. title)
Create also Product express object with some fields (ex. title)
Create ManyToMany relation as follows: Product -> ManyToMany -> Categories
Create at least 2 test categories and a test product and assign the product to these categories
Access Express -> View entries and try to re-order Categories, you'll hit the following error

Unable to get category for permission view_express_entries
Details
/var/www/vhosts/myproject/web/concrete/src/Permission/Response/Response.php(101): Exception->null
/var/www/vhosts/myproject/web/concrete/src/Permission/Response/Response.php(119): Concrete\Core\Permission\Response\Response->validate
/var/www/vhosts/myproject/web/concrete/src/Permission/Checker.php(52): Concrete\Core\Permission\Response\Response->__call
/var/www/vhosts/myproject/web/concrete/controllers/dialog/express/association/reorder.php(19): Concrete\Core\Permission\Checker->__call
/var/www/vhosts/myproject/web/concrete/controllers/backend/user_interface.php(47): Concrete\Controller\Dialog\Express\Association\Reorder->canAccess
/var/www/vhosts/myproject/web/concrete/src/Controller/AbstractController.php(293): Concrete\Controller\Backend\UserInterface->shouldRunControllerTask
/var/www/vhosts/myproject/web/concrete/src/Routing/ControllerRouteAction.php(64): Concrete\Core\Controller\AbstractController->runAction
/var/www/vhosts/myproject/web/concrete/src/Http/RouteDispatcher.php(37): Concrete\Core\Routing\ControllerRouteAction->execute
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\RouteDispatcher->dispatch
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\DispatcherDelegate->next
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/ThumbnailMiddleware.php(76): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ThumbnailMiddleware->process
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/FrameOptionsMiddleware.php(39): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\FrameOptionsMiddleware->process
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/CookieMiddleware.php(35): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\CookieMiddleware->process
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/ApplicationMiddleware.php(29): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ApplicationMiddleware->process
/var/www/vhosts/myproject/web/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/var/www/vhosts/myproject/web/concrete/src/Http/DefaultServer.php(85): Concrete\Core\Http\Middleware\MiddlewareStack->process
/var/www/vhosts/myproject/web/concrete/src/Foundation/Runtime/Run/DefaultRunner.php(128): Concrete\Core\Http\DefaultServer->handleRequest
/var/www/vhosts/myproject/web/concrete/src/Foundation/Runtime/DefaultRuntime.php(102): Concrete\Core\Foundation\Runtime\Run\DefaultRunner->run
/var/www/vhosts/myproject/web/concrete/dispatcher.php(45): Concrete\Core\Foundation\Runtime\DefaultRuntime->run
/var/www/vhosts/myproject/web/index.php(3): null->require
Thanks!

I just tried this under version 9 and could not reproduce the issue. I think this is a permissions configuration problem.


Read workspace path from devcontainer.json

Right now we assume that the workdir of the devcontainer is always in /workspaces/<project name>. This is not always the case and the true path can be read by using the devcontainer CLI.

Implemented in https://github.com/michidk/vscli/commit/f6abfa999f4caa0a5769a667f2587dc890e56c8e


Adds sentry dsn for jenkins-wiki-exporter

https://github.com/jenkins-infra/charts-secrets/pull/4

oh i should update the tag version too

okay I'll make a new PR later when we get wiki exporter building again


mwc-textfield valid

// Master (and other branches)
get valid() {
    return this._component && this._component.isValid();
  }

  set valid(value) {
    this.componentReady().then((component) => {
      component.setValid(value);
    });
  }

// FIX
get valid() {
    return this._component && this._component.valid;
  }

  set valid(value) {
    this.componentReady().then((component) => {
      component.valid = value;
    });
  }

// since
class MDCTextField extends MDCComponent {
...
/**
   * @return {boolean} valid True if the Text Field is valid.
   */
  get valid() {
    return this.foundation_.isValid();
  }

  /**
   * @param {boolean} valid Sets the Text Field valid or invalid.
   */
  set valid(valid) {
    this.foundation_.setValid(valid);
  }
...
}

Are you saying that there is a bug with the valid() function on some component?
More information would be helpful.

New to contributing, so pardon the formatting and missing info.
For mwc-textfield v0.1.2:
mwc-textfield.valid results in:

Uncaught TypeError: this._component.isValid is not a function

mwc-textfield.valid = true results in:

Uncaught (in promise) TypeError: component.setValid is not a function

@odinr 's proposed fix works.

It looks like the code in this repository is expecting the MDC Web Text Field component to have isValid and setValid methods, but the MDC Web component has a valid getter and setter.
The foundation in MDC Web has isValid and setValid methods, but it looks like this wrapper isn't wrapping the foundation directly?

Closing for #293


Don't show end time if same as start time

So instead of "9:00-9:00" we now display only "9:00", but for
"9:00-9:45" we still display "9:00-9:45" just as before.

@yvolk, is this something you could consider merging?

Let's release what was already done first :-)
I'm returning from vacations now,  will update translations, and hope we will make a release.


Min rate applies to upgraded requests as well?

I can't remember if this was intentional but now it seems like websockets is broken. The application sent a single packet and then stopped (which is typical in these kinds of applications) and kestrel kills the connection because it dropped below the min rate.
info: Microsoft.AspNetCore.Server.Kestrel[27]
      Connection id "0HL5LFRPK4FA2", Request id "0HL5LFRPK4FA2:00000001": request body incoming data rate dropped below 1 bytes/second.
fail: Microsoft.AspNetCore.Sockets.ConnectionManager[0]
      Failed disposing connection 89673b87-85ff-447f-9ccd-e487c8377922
System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake. ---> Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Request timed out.
   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PipeCompletion.ThrowFailed()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.GetResult(ReadResult& result)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IReadableBufferAwaiter.GetResult()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.<ReadAsync>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.FrameRequestStream.<ReadAsyncInternal>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.WebSockets.ManagedWebSocket.<EnsureBufferContainsAsync>d__70.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.WebSockets.ManagedWebSocket.<ReceiveAsyncPrivate>d__61.MoveNext()

/cc @cesarbs @halter73

It shouldn't apply to upgrade requests: https://github.com/aspnet/KestrelHttpServer/blob/d879518a18c765a0571b4583ba85be705ca889fe/src/Microsoft.AspNetCore.Server.Kestrel.Core/Internal/Http/MessageBody.cs#L262
I'll take a look.

Found the bug, will send a PR soon.
@muratg @Eilon @DamianEdwards We need this for preview2.

(Approved for Preview2 in person)


Wallet's utxos in Emulator's diskstate have incorrect indexes

Summary
Accessing the wallet's utxos from the WalletState of the EmulatorTrace results in TxOutRefs with indexes in the range 0-9 for all wallets, this cannot be correct because each wallet must have unique utxos. The Contract sees unique TxOutRefs for each wallet, e.g. w1 uses index range 50-59 and w2 uses 20-29.
Steps to reproduce the behavior
There are currently workarounds for this bug in existing tests mustSpendPubKeyOutput plutus-context tests, such as this. Please remove workarounds once fixed.
There is a commented out test to recreate this bug, see here. Edit: this also now affects MustReferenceOutput tests
Actual Result
Getting TxOutRef from WalletState,  w1TxoRefs will have indexes in range 0-9.
let trace :: Trace.EmulatorTrace () = do
        w1State <- Trace.agentState w1
        let w1TxoRefs = S.elems $ head $ M.elems $ w1State ^. chainIndexEmulatorState . diskState . addressMap . unCredentialMap

Logging in Contract will print indexes in range 50-59
logInfo @String $ "pubKeyUtxos:: " ++ show pubKeyUtxos

Expected Result
Wallets' utxos should be consistent.
Describe the approach you would take to fix this
No response
System info
https://github.com/input-output-hk/plutus-apps/commit/a8540dbc92ecf5e6883eb30e3c47efab3f35b446

There is no bug, at least no reused TxOutIdx but we need to clarify the API: addressMap in diskState, contains a map the TxOutRef for all the Credentials, not only those of the given wallet. So we need to access the right entry of the map, and not take the head of its entries:
let trace :: Trace.EmulatorTrace () = do
        w1State <- Trace.agentState w1
        let cred = addressCredential $ Wallet.ownAddress w1State
             w1TxoRefs = w1State ^. chainIndexEmulatorState . diskState . addressMap . at cred . non mempty


HTTP::Params#encode won't accept anything but String as hash value

Unless I'm reading the documentation wrong, it implies that the value of the hash argument can be any value, but the encode method throws an error if the values in the hash are anything but a string.
Error in openWeatherMap.cr:19: instantiating 'HTTP::Params:Class#encode(Hash(String, Array(String)))'

puts params = HTTP::Params.encode(hash)
                           ^~~~~~

in /opt/crystal/src/http/params.cr:83: instantiating 'Hash(String, Array(String))#each()'

        hash.each do |key, value|
             ^~~~

in /opt/crystal/src/http/params.cr:83: instantiating 'Hash(String, Array(String))#each()'

        hash.each do |key, value|
             ^~~~

in /opt/crystal/src/http/params.cr:84: instantiating 'HTTP::Params::Builder#add(String, Array(String))'

          builder.add key, value
                  ^~~

in /opt/crystal/src/http/params.cr:329: no overload matches 'HTTP::Params.encode_www_form_component' with types Array(String), IO
Overloads are:
 - HTTP::Params.encode_www_form_component(string : String, io : IO)

        Params.encode_www_form_component value, @io if value

Hello @HCLarsen, it appears the limitation is being introduced by HTTP::Params.encode_www_form_component signature.
A minimal example that shows this problem:
require "http/params"

data = {"key" => 100, "foo" => "bar"}

puts HTTP::Params.encode(data)

Error in 2.cr:5: instantiating 'HTTP::Params:Class#encode(Hash(String, Int32 | String))'

puts HTTP::Params.encode(data)
                  ^~~~~~

in /opt/crystal/src/http/params.cr:83: instantiating 'Hash(String, Int32 | String)#each()'

        hash.each do |key, value|
             ^~~~

in /opt/crystal/src/http/params.cr:83: instantiating 'Hash(String, Int32 | String)#each()'

        hash.each do |key, value|
             ^~~~

in /opt/crystal/src/http/params.cr:84: instantiating 'HTTP::Params::Builder#add(String, (Int32 | String))'

          builder.add key, value
                  ^~~

in /opt/crystal/src/http/params.cr:329: no overload matches 'HTTP::Params.encode_www_form_component' with types (Int32 | String), IO
Overloads are:
 - HTTP::Params.encode_www_form_component(string : String, io : IO)
Couldn't find overloads for these types:
 - HTTP::Params.encode_www_form_component(string : Int32, io : File::PReader)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::ARGF)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::Delimited)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::FileDescriptor)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::Hexdump)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::Memory)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::MultiWriter)
 - HTTP::Params.encode_www_form_component(string : Int32, io : IO::Sized)
 - HTTP::Params.encode_www_form_component(string : Int32, io : String::Builder)

        Params.encode_www_form_component value, @io if value
               ^~~~~~~~~~~~~~~~~~~~~~~~~

@HCLarsen following up on this, I believe simply coercing value to be a string should be enough:
Params.encode_www_form_component value.to_s, @io if value

But definitely needs more testing (and specs 😉)
Cheers.

Thank you @luislavena, this functionality will be key to improving a library that I'm building right now.

Maybe that's intentional. I don't know if we want to support encoding any value. For example if you have:
{"foo" => [1, 2, 3]}

what would you expect? If we change it to invoke to_s you will get:
foo=[1,2,3]

but maybe you wanted this?
foo=1&foo=2&foo=3

It might be confusing. I think we should just restrict the Hash to be Hash(String, String). I'd also like to avoid that method being instantiated for every possible Hash you throw at it.

Good points from @asterite, coercing to_s is not a solution. Apologies for the rush to suggest it, definitely didn't spent enough time thinking about it.
Cheers.

@asterite here's an example of an API that's expecting what is essentially an array of numbers:
http://api.openweathermap.org/data/2.5/group?id=524901,703448,2643743&units=metric
While this is only one example, I doubt that it's the only API in the world that does this. This is why I think it'll be useful to make #encode work like the documentation suggests.

@HCLarsen can you point us where in the documentation suggests that works?
I don't see that in HTTP::Params.encode or HTTP::Params::Builder.
Thank you.

def self.encode(hash : Hash(String, _))
Doesn't the underscore mean any class?

Correct, but as @asterite pointed out, that might be an overlook of the method signature.
The naive change I suggested will not produce the id field as you indicated but instead produce something different.
Making automatic coercion is not the solution on this case 😞

No, a simple to_s wouldn't do it for an array.
The current solution I'm using in my code is: .to_s.lchop.rchop.split.join

Exactly. We should force the parameter to be Hash(String, String). It's a bug in the type restriction. Well, actually not quite, it doesn't compile, so it works as expected. It's just that the error you get is not nice.
In general, when a type restriction doesn't exist it doesn't mean the method can accept any type. It just means we are lazy to add the type restriction.

No offense, but that's rather sloppy. You should always add a type restriction where one exists. The alternative is very unfriendly to newcomers to the language.

And how do we force that?
The only solution is forcing type restrictions everywhere. I think that's something good, actually. But nobody will use Crystal like that.

No type restriction means exactly the same as it does in a dynamic language. That some types amy work.
The difference is that in crystal the wrong types will get you a compile error instead of a runtime error. It'll just be more messy than if you'd thought about the types that do work and manually annotated it. In crystal you have the choice to think about types or not, or be flexible with types. I don't think thats sloppy, just different to other languages.

I'm with you on the first part of that. I agree that it would be a good thing, but I do think that people would use Crystal like that. Other statically typed languages have type restrictions in every method argument. The alternative is exactly what happened in this example. The method takes an argument of a non-expected class, and crashes. It's like having a hidden type restriction as opposed to an obvious one. You might as well make it obvious.

It doesn't crash. You get a compile error saying exactly why it doesn't work. Somewhere a String was expected. If we add a type restriction you will also get a compiler error, slightly more informative.
It's impossible to have added the type restriction because there's no way to travel to the past. We can start adding type restrictions everywhere we find a need, though. It's maybe not Crystal's way... or at least it wasn't when we began the language.

Working on a PR with type restriction fixes for this.

Exactly, the error is more informative if you add a type restriction. As I said, the restriction is still there, it's just a few method calls deep.
I think that going in an adding type restrictions everywhere that you find a need would be great for the future of the language. It is a statically typed language after all, and type restrictions are part of static typing. All my Crystal code so far uses type restrictions, and I fully intend to keep doing it that way.

Hello @HCLarsen, seems we all are on the same page then. I believe the confusion is the wording around the request.
For me (a non-native english speaker), it appears your request was a complaint about not supporting any other type than the confusion around the error message (or the type system).
Either way. I've sent #5184 and hopefully that will reduce confusion for others under the same situation.
Cheers.

Either way. I was more remarking that the documentation and functionality don't match. Your PR will definitely fix this. Thank you for creating it.

Note that we still need to fix the type restrictions in HTTP::Client and probably other places. And there's no way to restrict named tuples to have string keys, so you'll also get the same cryptic error there. I guess we should remove all NamedTuple overloads as it makes little sense to pass named tuples there (plus it will instantiate that method for every named tuple type you pass it, leading to a lot of code bloat).

I'd help with this, but I'm still waiting for my first PR to be merged.

I agree that in the stdlib, and public shards, using type restrictions as much as possible is a good idea for documentation and better compiler errors. However, the moment we force people to use type restrictions is the moment I can no longer say with faith that crystal feels like a dynamic language to program in insofar that I don't have to really think about types.
When i'm working on small projects, just playing around, or just getting a fast prototype out I don't want to go around putting type restrictions on everything. And we should keep it that way.

Ok, I'm confused now. I didn't understand that Crystal is supposed to feel like a dynamic language.

@HCLarsen That's the only reason Crystal came to existence. The idea is that you could program almost similar as in Ruby, without caring much about type annotations, but you'd get errors at compile time instead of runtime. So not writing type restrictions is actually part of the language philosophy to make things more DRY and less tedious.
Now, we all agree that when there's a chance to specify a type restriction in a public API that should be done. But we came to that conclusion later in the development process.

Really? I thought the reason Crystal came to existence was that people were sick of choosing between having great syntax and being able to compile code? That's why I'm so interested in Crystal.

@HCLarsen different people might have discovered, liked or disliked Crystal as a language for different reasons.
One of the initial ideas (as explained by asterite) was to be able to write code and don't be forced to define types for every method or variable. Others might see Crystal as a compiled Ruby, which is far from the reality (as Crystal is not Ruby), but that is what floats their boat. 😁
I (personally) believe Crystal's raison d'être is described in the documentation:

Have a syntax similar to Ruby (but compatibility with it is not a goal).
Be statically type-checked, but without having to specify the type of variables or method arguments.
Be able to call C code by writing bindings to it in Crystal.
Have compile-time evaluation and generation of code, to avoid boilerplate code.
Compile to efficient native code.

Anyway, what we should conclude from this is that Crystal's standard library (stdlib) needs better type signatures to provide improved error messages, avoiding the issue originally reported here.
Have a nice day.
❤ ❤ ❤


Inaccurate entry for Service Bus

The big table has an inaccurate entry for Service Bus.  It is listed as "Yes" for the final column, client-managed encryption.  This is inaccurate.  Service bus does not support this, confirmed with email to the product group.

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

ID: 993f902c-e7bd-1876-cf21-36bd9501b981
Version Independent ID: 71807d37-b606-ad3e-9ba3-0de1a78c4ceb
Content: Data encryption models in Microsoft Azure
Content Source: articles/security/fundamentals/encryption-models.md
Service: security
Sub-service: security-fundamentals
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@chrisbro-MSFT
Thanks for your feedback! We will investigate and update as appropriate.

@chrisbro-MSFT
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


Can you show us example using reactive forms with formarray

do you get any error? If you want to use this component in formarray, you can use example https://stackblitz.com/angular/odkjqqmqboy?file=src%2Fapp%2Fprofile-editor%2Fprofile-editor.component.html
you have to update value with index.
onSelect(item: any, i: number) {
    this.selectedItem = item;
    this.aliases.at(i).patchValue(item);
  }

its okay now, i accessed it manually in on select. expenseFormGroup.controls["expenseDirectoryName"].setValue(item.expenseDirectoryName);
Thanks.

it is nice that the issue gets resolved.


Ban appeal

Good Morning/ Afternoon/ Evening I was wondering if I could apply for a ban appeal. It's been a while since my ban, I was banned for raiding another claim that was unclaimed. I was wondering if I you could raise the ban since it was like in 2020. My Username used to be SIlentZepher now it's 0YukiKitsune0

Surprised you still wish to play on the server after the ruckus you caused trying to debating the server rules. And to ascertain something, you were banned for raiding that 2nd unclaimed town, literally the day after I had warned you about raiding and stealing from unclaimed towns. However, a great amount of time has passed since then and I hope you have a altered demeanour about how you conduct on the server. I will be unbanning you as a final chance, any further rule-breaking with result in a permanent ban that won't take into account any future appeals.

I understand and have learned from my mistakes and will watch what i do from now on.


Using rn-carousel-controls causes TypeError: Cannot read property 'length' of undefined when using controllerAs syntax in parent

This is a new bug introduced in 0.3.13 causing TypeError: Cannot read property 'length' of undefined.
If you use the controllerAs syntax in the parent, when you instantiate the directive with rn-carousel-controls, you get the above error in the following piece of code:
scope[repeatCollection.replace('::', '')].length
I've copied the first example from the angular-carousel demo page & recreated the error in the following plunker.
http://plnkr.co/edit/dE1V4A?p=preview

Confirm, we have the same problem with  0.3.13 version,  0.3.12 was fine

@anishbenji I was able to get around this by using rn-carousel-control instead of rn-carousel-controls.
Looks like this fixed the issue in the example, also.

Use simple variables in repeat collection to avoid this problem, because scope[repeatCollection.replace('::', '')] doesn't work properly
bad - dm.slides

{{ slide.id }}

good - slides

{{ slide.id }}

I hope that author will fix it in a next version

+1 looking forward to the fix :)

If you use multi level object when that code processes the replace will get you something like "one.two" as string and then is trying to read it like $scope['one.two'] which is not the same than $scope.one.two

@gregorholzmann It worked for me

+1 i would think rn-carousel-control should not be required to address this bug. Will update after fix.

@gregorholzmann It worked for me too, thanks!

@vanyaua that worked for me, thanks!

+1
rn-carousel-control enables touch control but not displays arrow controls

+1
like @theupmachine said, using rn-carousel-control isn't a solution to this error... It's not displaying anything... Using 'simple' variables also not a solution...

+1 I can't find a solution for this either.

Non of the solutions provided work. Is there any PR open to fix this or should we try with another library for the time being?

@cyntss  Look for another one, you can read this in the Readme:
This project is not maintained anymore, and looking for maintainers.

Download version 1.0.1 which fixed this issue. Somehow the person that fixed the issue forgot to update bower.json with new version, but package.json states that current version (which was changed few months ago) is 1.0.1

Is not working on my end even with 1.0.1 @vsapozhnik =(

I have the same problem with a collection that isn't set on first render.
I solved using ng-if on rn-carousel

    ...

Hope it helps!