Allow choice of whether to double encode within ActiveForm

I created a forum thread asking whether it was possible to stop Yii double encoding data it automatically populates form fields with when you use ActiveForm, but from the response I got, it seems it's hardcoded to double-encode data it puts into the fields.
As pointed out by @softark in yii\helpers\BaseHtml:
    public static function encode($content, $doubleEncode = true)
    {
        return htmlspecialchars($content, ENT_QUOTES | ENT_SUBSTITUTE, Yii::$app ? Yii::$app->charset : 'UTF-8', $doubleEncode);
    }

    ...

    public static function textarea($name, $value = '', $options = [])
    {
        $options['name'] = $name;
        return static::tag('textarea', static::encode($value), $options);
    }

You will note that the line static::encode($value) does not allow the customization of the $doubleEncode parameter, this forcing the default value of true.
Is it possible to add a property to ActiveForm where you can set the default value and then override the default if needed for each specific field with a configuration option within ActiveField?
My use case as you can see in the forum post is that I wish to pass entities to the field without them being double-encoded.
What steps will reproduce the problem?
Set a model property that is used with ActiveForm to content that contains html entities, of which that will be loaded into a form field automatically by Yii.
What is the expected result?
To not double-encode entities.
What do you get instead?
Existing entities get encoded again, thus causing incorrect display.
Additional info

Q
A

Yii version
2.0.9

PHP version
5.5.28

Operating system
Win 7 / CentOS

Yeah, I think it could be done via $options parameter of ActiveField::textarea() method.
Would you like to try to submit a PR?

Thanks for the response.
Isn't the $options parameter only supposed to be used for attribute name-value pairs though?

Yes it is, but there is a way to pass some special options. See this as an example

Oh ok, I guess that could work then. :) I will see if I can get around to doing a pull request for it.

Thank you!

@SilverFire Sorry, but what does "Breaks BC" mean in the pull request?
Backwards Compatibility?

Yes.

fixed by #12994


Flutter_tester should support changing the window configuration

Currently, the widget tests have a fixed configuration of devicePixelRatio 3.0, 800x600 logical pixels (2400x1800 real pixels).
It would be great to be able to configure this in flutter_tester especially now that widget tests support screenshotting. That way, clients can write tests against specific form factors they are testing.

Note that @tvolkert and I have said no to this request because widget tests are not supposed to emulate any particular device exactly (it is an unattainable goal). However, a lot of clients have been asking for this including dream so we need to have a proper answer for it. Perhaps we can set expectations better?

@Hixie's answer to this in the past was:

If you want a custom-sized "screen", just wrap your widget in a SizedBox and a MediaQuery so that the screen is the size you expect. (If you want to take a screenshot of that, add in a RepaintBoundary so that you can snapshot that, rather than the whole 800x600 screen.) (You will want to put the SizedBox inside a widget that lets the child change size, e.g. a Center.)

We do support this now, actually.
Set tester.binding.window.physicalSizeTestValue to an arbitrary value.
https://docs.flutter.dev/flutter/flutter_test/TestWindow/physicalSizeTestValue.html

That along with https://docs.flutter.dev/flutter/flutter_test/TestWindow/devicePixelRatioTestValue.html sounds exactly what I was looking for. I'll give it a try.

Should we close the bug then?

We have three ways to do this:
Setting tester.binding.window.physicalSizeTestValue, calling tester.binding.setSurfaceSize(), and putting the test widget inside a MediaQuery/SizedBox.
Where should we document this to make it clearer?

(I've removed the customer critical label since the original issue is resolved and we're now treating this as a doc issue. Please don't hesitate to put the label back if we misunderstood.)

I tried physicalSizeTestValue and devicePixelRatioTestValue and it gave the expected results. Thanks! +1 on improving the documentation around this.

I don't see the values set this way reflected on ui.window.physicalSize and ui.window.devicePixelRatio.
Is that expected behavior or should I file an issue for that?

Is there any substantial difference between this and #12994?

Closing this as a duplicate of #12994 as they both seem to describe the exact same documentation issue. Feel free to reopen if this is not the case.


Create docs banner for migration

Summary

Closes #150 . Blocked on docs migration.
Screenshots

Changes

Added a banner which uses window.sessionStorage to stay hidden once it's been clicked.
Notes for Reviewers

@kschiffer, using Bulma's is-primary button styling broke the button on safari, so I added my own migration-banner > button styling. I'd rather use the in-the-box styling, so if you have any insight about why, lmk. To reproduce, just add the is-primary class to the button in doc/themes/layouts/partials/migration-banner.html

disabling padding seems to fix it on Safari (it appears normally on Chrome anyway)

Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links.
[ ] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

Already covered in https://github.com/TheThingsIndustries/lorawan-stack-docs/pull/153


changed row colors as per clients request, would ideally like to reve…

changed row colors as per clients request, would ideally like to revert back to alternating but need to change how data loaded, changed pdf generator as per clients request

Bw, Jack


Fix invalid json, no trailing commas

Trailing commas is not allowed in JSON

Thank you @testower!


Store metrics with the app

Moved the metrics into the app instance so we can handle state changes within the app.

Its is a lifetime specifier that tells the compiler that the reference to metrics should live as long as the app instance.

@thmshmm  I think we can close this PR without merging.


Run CI to find what tutorials are broken

The plugin test matrix cancels all other runners when it finds the first failure. This makes it impossible for us to have a concrete list of what tutorials need to be updated.
This PR toggles the "cancel-in-progress" on the CI workflow, so we can find all failures on the dev branch.

#741 is now passing. This PR can be closed.


Fix pytest race condition on .gt_cache

Before this commit, the .gt_cache directory was deleted on pytest execution. This may cause side-effects, e.g. with IDEs running pytest for test discovery.
The new strategy is to setup a custom temporary directory for each pytest invocation.

bors try

CI failed on the tests that #498 turns off, so both should be ready to merge.

bors try


The exact number of training data with 1/16, 1/8, 1/4 and full labeled data

Thank you for your nice work!
Would it be possible to provide the exact number of labeled data and unlabeled data with 1/16, 1/8, 1/4 setting of two datasets?

Thanks a lot for your question. As you can see from https://github.com/Jia-Research-Lab/Context-Aware-Consistency/tree/master/dataloaders/city_splits0, the number of labeled training samples for the 1/8 and 1/4 settings are 372 and 744 respectively. And for Pascal VOC, the number of labeled training samples for the 1/16, 1/8 and 1/4 settings are 662, 1323 and 2645 respectively, which can be seen from https://github.com/Jia-Research-Lab/Context-Aware-Consistency/tree/master/dataloaders/voc_splits1.

I will close this issue. If you have further questions, feel free to reopen it. Thanks a lot.


Demo's video

Windows

https://github.com/xtuzy/MauiUICollectionView/assets/17793881/e5647e76-e297-4fc6-964f-78616592ca62

Android Release

https://github.com/xtuzy/MauiUICollectionView/assets/17793881/01f26e4d-815f-4fee-aeb1-f1a75107043d

More function:

refreshview
context menu
load more

https://github.com/xtuzy/MauiUICollectionView/assets/17793881/316b2734-fbe6-4dfd-a87d-9feaa1abd68c


pull request for e2e test at 11/23/2016 09:56:02

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


ZIP video file

HI team, can I use this library to zip a video file with .mov/.mp4 format ?

Yes, but videos are already in a fairly compressed format so you won't get much of a size reduction.


Older versions won't build forever.

I'm working on a gem that I want to be able to run on older versions of ruby.  I'm having...issues.  (I'm on Mint 19.)
Uninstalling libssl-dev and installing libssl1.0-dev, along with setting CC=gcc-4.8 (the oldest that ships with Mint 19) allowed me to build 1.8.7-p375.  Oddly enough, 1.9.0 & 1.9.1 failed, while I was able to get 1.9.2-p330, 1.9.3-p551 and 2.0.0-p648 as well as later 2.x series.
My concern is not so much about my builds today, as what rbenv's policy should be regarding old builds.
One option is to declare that when a version goes out of support officially, rbenv no longer cares about it.  That makes me sad, but it is certainly defensible.
Another option is to try to keep up.  I expect that there is some non-drastic way to pull in the libssl1.0-dev library into the build for the older versions that are using it.  That's easy for today, but as I have already experienced, the mass is much more than that.
Another option would be to keep some sort of tweeks datasheet or perhaps a known good datasheet with data on the major distributions & OSes.  For instance, what versions of gcc, yacc/bison, libssl-dev, & etc are known to work.  In the event of a failed build, rbenv could reference such a document (or even check against it) to aid the end user.
The current model, where the fail happens with some sort of compiler error that may or may not send you off in a useful direction seem..less than optimal.
In any event, a clearly stated policy would seem to be in order.
I love your work, btw.  Thanks.

ruby-build already emits a warning for old unmaintained Rubies:
WARNING: ruby-1.9.3-p551 is past its end of life and is now unsupported.
It no longer receives bug fixes or critical security updates.

Isn't that clear? What kind of policy statement would you expect and where?
My understanding is ruby-build relies on upstream Ruby and does not try to patch old Rubies to make them build on new OS. It's out of scope as far as I understand (and such an approach is inherently fragile anyway).
I don't think ruby-build could help much with building ancient versions, it seems basically impossible outside Docker.
openssl 1.0 is a different matter, notably discussed in https://github.com/rbenv/ruby-build/pull/1476

I take "unsupported" to be explained by the following sentence.  There is a huge difference between "no longer being updated" and "no longer building".  If ruby-build is not supporting, then I would think that "now unsupported by ruby-build.  Additionally, it no longer..." would be much more clear.

There is a huge difference between "no longer being updated" and "no longer building".

The difference is simply time passing and how compiler evolve in incompatible ways, and not in ruby-build's or ruby's control (once the version is unsupported) really.
ruby-build never supports a Ruby version more or less than upstream, it fetches the archive and whether it builds depends on the C compiler, dependencies, etc, nothing that ruby-build controls.
So I'm not sure what would be a good way to clarify without starting confusion about "ruby-build support of specific Ruby versions" which is not a thing.
"Older versions won't build forever" applies to every software building software, I don't see what's special here.

There is a lot of dependency information that ruby-build either has or, I believe, can gain without too much effort, that can be surfaced to help someone if they want to build an out-of-date version of ruby.  Making that information available would be most helpful.

I am not a ruby-build maintainer, but a Ruby maintainer on all types of (legacy/modern) systems, so I'll comment a bit here.
Sharing this also for other readers, I do not know your background much, and maybe you are already well aware of what I'll write, but anyway.
In all "practicality", if a Ruby is marked "EOL" (end-of-life), you will pretty much to be gradually on your own, and the tooling (all tooling, all gems) will gradually be more and more painful for anyone to use (to the point where some companies have to close shop). This includes all types of meaning, from "we can't help you in general" to "you won't be able to build anything".
For the record some of the code I have can only run in a DOSBox emulator, some companies run old snapshots of very old OS just to keep things running until they can digest the cost of migrating etc.
Ruby marks versions as EOL officially to send a strong signal. Some important libraries (including enterprise-used librairies) will remain maintained a bit longer, or much longer depending on cases.
But at the end of the day even very essential libraries (see https://github.com/rspec/rspec/issues/25) for instance will end up dropping support, because the cost of maintenance is unbearable.
Some initiatives exist (e.g. https://railslts.com for Rails) to continue further, but it is not a sustainable path to keep on old versions.
Ruby 1.8.7 and 1.9.2 are EOL since 2014 (https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/). The rest is documented here https://www.ruby-lang.org/en/downloads/branches/.
As @eregon wrote, there is nothing specific to ruby-build even if I definitely understand your frustration, and not every tool is going to be super careful with the way they phrase it.
Hope this helps nonetheless, my recommendation as a maintainer is to find a safe/sustainable path to upgrade or rewrite the related code, or at some point it will become very "artistic" to run it, and you'll be on your own...

From the message

It no longer receives bug fixes or critical security updates.

There is a huge difference between "no longer being updated" and "no longer building".

No bug fixes means also no build issue fixes.
And ruby-build does not include patches to try to workaround and build old unsupported Rubies.
I think there is nothing to do here, except maybe make the phrasing clearer, but it seems difficult. It's really upstream Ruby not being supported anymore. ruby-build is basically convenience for ./configure; make; make install.
It doesn't try to install dependencies for you as that's bound to fail as OS/package manager evolve, and I think it's better that way.


Add support to capitalize words with cyrillic characters

I don't know cyrillic characters, but this looks legit to me. Thanks for the contribution!


Error opening the STT stream

Hello , following the instructions to use the app
Application is made available but does not work properly .
I get: Error opening the STT stream
Could it be related to the changes in the security model (TLS 1.0 to 1.2 ) ?
What would you advise to look for ?
Thank you

Note :  all services run in the eu-de domain (Frankfurt)

@ptrikkur @rameshpoomalai please see above issue. ^
@PhilippeComte can you copy the entire stack trace from the log?

@stevemart This issue comes up when STT is down. This will resolve itself when STT is up.It is not a defect in the code.

Hello
For the version build on the cloud, it seems that there is a mismatch of credentials
t message
Error: Unauthorized: Access is denied due to invalid credentials , Code: 401 , Information: {u'description': u'2018-09-18T23:53:21-05:00, Error ERCDPLTFRM-DNLKUPERR occurred when accessing https://stream.watsonplatform.net/speech-to-text/api/watson-auth-token?Client-IP=<IP_ADDRESS>;Client-CN=;, Tran-Id: stream02-127370781 - Invalid UserId and/or Password. Please confirm that your credentials match the end-point you are trying to access. A common error is trying to use credentials from an experimental or beta release against a GA release or vice versa'} , X-dp-watson-tran-id: stream02-127370685 , X-global-transaction-id: 7a6c26455ba1d641079785bd
? message_type_str
OUT
Cordialement
Philippe Comte
+33 676861847
----- Mail original -----
De: "Steve Martinelli"<EMAIL_ADDRESS>À: "IBM/watson-voice-bot"<EMAIL_ADDRESS>Cc: "Philippe Comte"<EMAIL_ADDRESS>"Mention"<EMAIL_ADDRESS>Envoyé: Mercredi 19 Septembre 2018 02:42:19
Objet: Re: [IBM/watson-voice-bot] Error opening the STT stream (#14)
@ptrikkur @rameshpoomalai please see above issue. ^
@PhilippeComte can you copy the entire stack trace from the log?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub , or mute the thread .

@PhilippeComte  Are you deploying the application locally? If yes then have you edited .env and added in the credentials for the STT service?
#Watson Speech To Text
SPEECHTOTEXT_USER=<add_stt_username>
SPEECHTOTEXT_PASSWORD=

@PhilippeComte I believe the problem was coming from changes to the watson-developer-cloud SDK version 2.x
I've pinned the requirement to version 1.5 and it seems to be working.
Please pull the latest version from Master branch and re-try.

@scottdangelo will try to reproduce

I cannot reproduce this in the Dallas region. I'm going to close this, but please re-open if you are still having troubles @PhilippeComte .
Thanks.

Hola, me podrian pasarme las credenciales, porfavor

Qué credenciales necesitas?

[image: image.png]
Se encuentra cerrado en esta sesión por la cual pasé a leer en los
comentario donde hay un enlace:
https://stream.watsonplatform.net/speech-to-text/api/watson-auth-token?Client-IP=<IP_ADDRESS>;Client-CN=
aquí ismo donde abro el enlace me pide los credenciales. Por eso pedía si
fuera muy amable de pasarme las credenciales, gracias.
El mié., 4 sept. 2019 a las 0:01, ptrikkur<EMAIL_ADDRESS>escribió:

Qué credenciales necesitas?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/IBM/watson-voice-bot/issues/14?email_source=notifications&email_token=AHTLJCU65ARGOZNUGV35QXDQH46K3A5CNFSM4FV2YESKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD52K6OQ#issuecomment-527740730,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHTLJCV726NQAYNFVPNHIF3QH46K3ANCNFSM4FV2YESA
.


removed quotation marks from all parameter defitions that should be i…

…nterpreted as integers in multiplication with task.attempt

fix #138

Note - this only fixed the bug for running CAW on Milou using slurm. We still need to fix it for the other cases.

What were the other cases ?

We need to fix it in amanita.config, irma.config and milou-local.config

We can merge, re-configuring amanita is a bigger chunk of work.


Using forward-slash on artisan make:seeder command resulting wrong class name in the generated seeder

Laravel Version: 6.x
PHP Version: PHP 7.3.2
Database Driver & Version: -

Description:
When running the artisan make:seeder with class name containing forward-slash, it resulting a non-valid class name in the generated seeder.
Duplicates to issue on Laravel 5 (this issue)
Steps To Reproduce:
Run php artisan make:seeder Foo/Bar
It produce wrong class name like:
class Foo/Bar {

Suspected line: https://github.com/laravel/framework/blob/70e0dc2c39ee251f7101bfc0a3c22b3b9f9e6688/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php#L92-L95

What result are you expecting? Slashes are not valid in PHP class names.

Double slash will give you what you need.

@staudenmeir I'm expecting the resulted seeder files to be created inside subdirectory like when i run make:seeder Foo/Bar it will creates seeds/Foo/Bar.php and the class name should be Bar.
@devcircus Yes. thank you sir, I saw your answer on that Laravel 5 issue, I just want to know is this an intended behavior or just a small bug, I read your last comment on that L5 issue, and it says you have it working perfectly in a test repo so i assume it's a bug

Part of the issue, I believe, is that the database directory does not use namespaces and PSR autoloading, so it doesn't behave like a lot of the other generators.
When I run this, it correctly makes the directory and file, but as you noted, the class name is incorrect.
We could strip everything before the last slash, but then you run the risk of having colliding class names.

@browner12 Wouldn't it be better if we just strip all the slashes?

so if I understand correctly, running php artisan make:seeder Foo/Bar, you would want it to create a file at database/seeds/Foo/Bar.php, and then create a class in the global namespace called FooBar?
I mean, I guess.  Seems weird.
What is your need for having your seeders in different directories?

No, i mean it will creates seeds/FooBar.php  so the GeneratorCommand::alreadyExists() can check if the class exists or not.

If you want a seeder at seeds/FooBar.php, just run php artisan make:seeder FooBar

Haha, you're right. I just confused how to avoid class collision when creating seeder inside subdirectory since (as you already mentioned) seeder classes are by default resides in the root namespace

As mentioned, Laravel's seeders aren't namespaced atm and therefor the make command doesn't supports subdirectories. Feel free to send in a PR if you want to implement support for this.


chore/PSD-2936:Update_to_NTL_corrective_actions_form

Prevented form attributes from being assigned twice causing form to fail when the parameters were not present, the method set_date for the form does that already, added new form model to display errors

🔍 Existing Issues For Review
Your pull request is modifying functions with the following pre-existing issues:
📄 File: app/controllers/notifications/create_controller.rb
Function	Unhandled Issue
update_with_entity	[NoMethodError: undefined method `[]' for nil:NilClass (NoMethodError)](https://opss.sentry.io/issues/5572591044/?referrer=github-open-pr-bot) Notifications::CreateControll...  `Event Count:` 7
Did you find this useful? React with a 👍 or 👎

this pull request is a fix for that


Fix error for undefined or null params

Hi, the argsParser func check if the lastParams contains callback for the subscription.
If the lastParam/arguments of the subscription is null or undefined we can't check on it the properties {onStop, onReady, onError}.
In this example the code will throw an error:
const todosFilter= null | undefined;
Meteor.subscribe('todos', todosFilter);

thanks @sviande , I merged and published the new version.
https://atmospherejs.com/lamhieu/hypersubs


Implement latest version 4 of chart.js

Implement the last and therefore current version of chart.js

The most recent version is 4.4.0
see also: https://www.chartjs.org/docs/4.4.0/

Released with version 4.03.04


CLOUD-781 - Add test selection for distribution updates

CHANGE DESCRIPTION
Problem:
Short explanation of the problem.
Cause:
Short explanation of the root cause of the issue if applicable.
Solution:
Short explanation of the solution we are providing with this PR.
CHECKLIST
Jira

[ ] Is the Jira ticket created and referenced properly?
[ ] Does the Jira ticket have the proper statuses for documentation (Needs Doc) and QA (Needs QA)?
[ ] Does the Jira ticket link to the proper milestone (Fix Version field)?

Tests

[ ] Is an E2E test/test case added for the new feature/change?
[ ] Are unit tests added where appropriate?

Config/Logging/Testability

[ ] Are all needed new/changed options added to default YAML files?
[ ] Are the manifests (crd/bundle) regenerated if needed?
[ ] Did we add proper logging messages for operator actions?
[ ] Did we ensure compatibility with the previous version or cluster upgrade process?
[ ] Does the change support oldest and newest supported PS version?
[ ] Does the change support oldest and newest supported Kubernetes version?

Test name
Status

async-ignore-annotations
passed

auto-config
passed

config
passed

config-router
passed

demand-backup
passed

gr-demand-backup
failure

gr-ignore-annotations
passed

gr-init-deploy
passed

gr-one-pod
passed

gr-scaling
passed

gr-tls-cert-manager
passed

haproxy
passed

init-deploy
passed

limits
passed

monitoring
passed

one-pod
passed

scaling
passed

semi-sync
passed

service-per-pod
passed

sidecars
passed

tls-cert-manager
passed

users
passed

version-service
passed

We run 23 out of 23

commit: https://github.com/percona/percona-server-mysql-operator/pull/356/commits/1ba89eece3ca4b21a63273bd650c9b44f63f805d
image: perconalab/percona-server-mysql-operator:PR-356-1ba89ee

Test name
Status

async-ignore-annotations
passed

auto-config
passed

config
passed

config-router
passed

demand-backup
passed

gr-demand-backup
passed

gr-ignore-annotations
passed

gr-init-deploy
passed

gr-one-pod
passed

gr-scaling
passed

gr-tls-cert-manager
passed

haproxy
passed

init-deploy
passed

limits
passed

monitoring
passed

one-pod
passed

scaling
passed

semi-sync
passed

service-per-pod
passed

sidecars
passed

tls-cert-manager
passed

users
passed

version-service
passed

We run 23 out of 23

commit: https://github.com/percona/percona-server-mysql-operator/pull/356/commits/1ba89eece3ca4b21a63273bd650c9b44f63f805d
image: perconalab/percona-server-mysql-operator:PR-356-1ba89ee


Enable Heap Snapshot Analysis via EventPipe

Allow PerfView to consume heap snapshots captured via EventPipe.

LGTM

Just wanted to say this is super exciting. Thanks for working on this.
On Tue, Aug 28, 2018, 2:45 PM Vance Morrison<EMAIL_ADDRESS>wrote:

Merged #732 https://github.com/Microsoft/perfview/pull/732 into master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/perfview/pull/732#event-1813863403, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAbT_Va-ooeTNy57GCZm9MMxB4Wt6TGWks5uVY-xgaJpZM4WOpf8
.

Thanks @vancem and thanks @jzabroski!


LGPL3 License (unwanted?) side effects in Go

Using LGPL3 license for Go code results in some non-trivial restrictions due to Go using static linking by default and not supporting binary-only packages (see https://github.com/golang/go/issues/28152)
I discussed the effects of LGPL3-ed Go in https://github.com/cosmos72/gomacro/issues/14
In practice, it is almost equivalent to using GPL3 because the exception that you can link a LGPL3 library to a binary with a different license becomes extremely cumbersome to use in Go due to static linking.
Are you willing to consider a different license?

You have a point.
I'm quite fed up with licenses, really. They're most probably doing more harm than good from my perspective.
Do you have any objections to Public Domain (https://sqlite.org/copyright.html)?

Well, you could have objections to public domain, and also people potentially contributing to the project.
For my Go projects I chose MPL 2.0 as middle ground between LGPL and MIT, but if you have no problems with public domain, you may as well consider MIT license, which is used by the vast majority of Go projects - including the compiler and standard library

Aight, MIT it is then.
https://github.com/codr7/g-fu/commit/09f3ddd8ce7226d4eed968a56aa516fe6269a57e

You were fast :)
I was wrong: https://github.com/golang/go/blob/master/LICENSE seems to be actually a 3-clause BSD, but for practical purposes BSD and MIT should be basically equivalent:
I definitely remember reading them together as "MIT/BSD" quite often in license discussions for Go, where the writer considered them as equivalent.

:)
Like I said, I'm pretty sure by now the whole thing isn't leading anywhere.
If we were to drop all licenses and just let people do more or less
whatever they feel like to public code, I suspect the world would look
mostly the same.
/c7
Den mån 27 maj 2019 kl 17:54 skrev Massimiliano Ghilardi <
<EMAIL_ADDRESS>
You were fast :)
I was wrong: https://github.com/golang/go/blob/master/LICENSE seems to be
actually a 3-clause BSD, but for practical purposes BSD and MIT should be
basically equivalent:
I definitely remember reading them together as "MIT/BSD" quite often in
license discussions for Go, where the writer considered them as equivalent.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/codr7/g-fu/issues/1?email_source=notifications&email_token=ALWHJMAEHOK3UX7BM6TO35LPXP74RA5CNFSM4HPZ54R2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWKDYIQ#issuecomment-496253986,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALWHJMCIMGOP4L664A3SZZDPXP74RANCNFSM4HPZ54RQ
.


feat(core): async config creator

Motivation
Fixes https://github.com/facebook/docusaurus/issues/3791
We should be able to use async code to create the config.
Later: we'll try to also support ESM config + top-level await
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
tests + dogfood

This actually means we can support ESM remark plugins, because they can now be await import()'ed. We can upgrade the docs on this

This actually means we can support ESM remark plugins, because they can now be await import()'ed. We can upgrade the docs on this

Maybe we should dogfood this first and ensure it works before documenting it?
I'm not sure to see how it would actually work considering we are still using Remark 12 and most ES plugins are for Remark 13? It is retro compatible enough so that Remark 13 plugins can work with our current setup?

Hmmm, that part I don't know😄 We can still test


Add GCS support and tests

What this PR does / why we need it:
This PR adds GCS Protocol support for downloading models.
Fixes #1048
Overview:
I've added GCS as an accepted protocol to provider.go, along with the necessary model download logic using gcs which resides in gcs.go. For unit testing, I needed to find a way to mock the gcs client. The best resource I could find was googleapis/google-cloud-go-testing, but when I tried adding this library as a dependency, there was a conflict that prevented the project from pulling it. Because of this, I added in some interface classes, which I use to adapt the gcs client to a general type, which can be used for mocking. Test coverage for the gcs class is currently at 75%, but this can be increased with a couple more tests.
Note: There were conflicts when importing google.cloud.com/go/storage alongside the storage package within agent. Due to this, I renamed the storage class to kfstorage (but I'm happy to alter this name to something else more fitting if needed). Also noticed that there are a bunch of conflicts with #1055 - so I can resolve those after that PR merges. :)
Testing
For testing, I deployed the puller pod manually and checked the logs to make sure that the models were being successfully downloaded from my GCS bucket. I did this using the following yaml:
apiVersion: v1
kind: Pod
metadata:
  name: puller
spec:
  serviceAccountName: default
  restartPolicy: Never
  containers:
  - name: job
    image: mszacillo/korepo:gcssupporttest
    imagePullPolicy: Always
    resources:
      limits:
        cpu: "1"
        memory: 1Gi
      requests:
        cpu: "1"
        memory: 1Gi
    command:
    - /agent
    args:
    - -config-dir
    - /mnt/configs
    volumeMounts:
    - name: config-volume
      mountPath: /mnt/configs
    - name: models-volume
      mountPath: /mnt/models
    - name: gcs-serviceaccount-volume
      mountPath: /gcssecret
  volumes:
    - name: config-volume
      configMap:
        name: models-config
    - name: models-volume
      emptyDir: {}
    - name: gcs-serviceaccount-volume
      configMap:
        name: gcs-config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: models-config
data:
  models.json: |
    [
      {
        "modelName": "model1",
        "modelSpec": {
          "storageUri": "gs://mskfservingmodels/iris.py",
          "framework": "sklearn",
          "memory": "1G"
        }
      }
    ]
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: gcs-config
data:
  gcloud-application-credentials.json: |
     { *** credential info removed *** }

After the puller pod comes up, I can see the following logs print which show that the download was successful, however, I will also run a full e2e test with the kfserving setup. Below you can see a failure when trying to connect to localhost:8080, this is because I wasn't proxyporting the ingress gateway.
{"level":"info","ts":1606770594.7795548,"logger":"modelAgent","msg":"Initializing model agent with","config-dir":"/mnt/configs","model-dir":"/mnt/models"}
{"level":"info","ts":1606770594.7796307,"logger":"modelAgent","msg":"Setting credential file for GCS."}
{"level":"info","ts":1606770594.7796636,"logger":"modelAgent","msg":"Initializing gcs client, using existing GOOGLE_APPLICATION_CREDENTIALS variable."}
{"level":"info","ts":1606770595.8202243,"logger":"Syncer","msg":"Syncing model directory..","modelDir":"/mnt/models"}
&{mskfservingmodels [{project-owners-810000861461  OWNER   0xc00052d9c0} {project-editors-810000861461  OWNER   0xc00052da00} {project-viewers-810000861461  READER   0xc00052da20}] {false 0001-01-01 00:00:00 +0000 UTC} {false 0001-01-01 00:00:00 +0000 UTC} [{project-owners-810000861461  OWNER   0xc00052da40} {project-editors-810000861461  OWNER   0xc00052da80} {project-viewers-810000861461  READER   0xc00052daa0}] false   US 1 STANDARD 2020-11-30 18:28:08.213 +0000 UTC false map[] false {[]} <nil> [] <nil> <nil> <nil> CAE= multi-region}
{"level":"info","ts":1606770595.8207524,"logger":"modelWatcher","msg":"adding model","modelName":"model1"}
{"level":"info","ts":1606770595.8211873,"logger":"Watcher","msg":"Start to watch model config event"}
{"level":"info","ts":1606770595.8213172,"logger":"Watcher","msg":"Watching","modelConfig":"/mnt/data/models.json"}
{"level":"info","ts":1606770595.8212771,"logger":"modelProcessor","msg":"worker is started for","model":"model1"}
{"level":"info","ts":1606770595.8214014,"logger":"modelProcessor","msg":"Downloading model","storageUri":"gs://mskfservingmodels/iris.py"}
{"level":"info","ts":1606770595.8214495,"logger":"Downloader","msg":"Downloading to model dir","modelUri":"gs://mskfservingmodels/iris.py","modelDir":"/mnt/models"}
{"level":"info","ts":1606770595.8214915,"logger":"Downloader","msg":"Success file does not exist"}
{"level":"info","ts":1606770595.82158,"logger":"modelAgent","msg":"Downloading model ","modelName":"model1","storageUri":"gs://mskfservingmodels/iris.py","modelDir":"/mnt/models"}
{"level":"info","ts":1606770596.0174067,"logger":"modelAgent","msg":"Getting file /mnt/models/model1/iris.py"}
{"level":"info","ts":1606770596.2042253,"logger":"modelWatcher","msg":"Downloaded model."}
{"level":"error","ts":1606770596.213174,"logger":"modelProcessor","msg":"Failed to Load model","modelName":"model1","error":"Post http://localhost:8080/v2/repository/models/model1/load: dial tcp [::1]:8080: connect: connection refused","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:132\ngithub.com/kubeflow/kfserving/pkg/agent.(*Puller).modelProcessor\n\t/go/src/github.com/kubeflow/kfserving/pkg/agent/puller.go:143"}
{"level":"info","ts":1606770596.2133465,"logger":"modelOnComplete","msg":"completion event for model","modelName":"model1","inFlight":0}

Release note:
Adding in GCS as an accepted storage provider

@googlebot I fixed it.

@googlebot I fixed it.

/ok-to-test

@mszacillo This is great! Can you help rebase the master and sign the Google CLA?

@yuzisun Yes! I can take care of rebasing the branch - for the CLA I'm just waiting to hear back for approval from legal. Should be able to get that done in the next couple days.

has this been tested outside of unit tests? i.e. an e2e example of a pod with the appropriate labels pulling down from gcs? Can the results of that test be put in the PR description please

Good point, I can do some manual verifications and post the results on the PR description.

@mszacillo This looks great! Can you help resolve the conflicts and we should be good to merge!

@mszacillo I think there must be a bug in the gcs downloader. I tested using gs://kfserving-samples/models/sklearn/iris  The logs shows that it downloaded the model but when I exec into the pod the model was not downloaded.
{"level":"info","ts":1607388819.7210934,"logger":"modelProcessor","msg":"Downloading model","storageUri":"gs://kfserving-samples/models/sklearn/iris"}
{"level":"info","ts":1607388819.7213714,"logger":"Downloader","msg":"Downloading to model dir","modelUri":"gs://kfserving-samples/models/sklearn/iris","modelDir":"/mnt/models"}
{"level":"info","ts":1607388819.7258606,"logger":"modelOnComplete","msg":"completion event for model","modelName":"model3","inFlight":0}

Could you please try
kubectl exec -it <pod_name> -- /bin/bash
cd /mnt/models

And verify that models are downloaded from gcs?

@yuzliu I added some debug logs to double check that the file is getting downloaded successfully - seems like the download works, the file gets written to successfully, and that the file exists after the download:
{"level":"info","ts":1607454256.6356146,"logger":"modelAgent","msg":"Downloading model ","modelName":"model1","storageUri":"gs://mskfservingmodels/iris.py","modelDir":"/mnt/models"}
{"level":"info","ts":1607454257.6121614,"logger":"modelAgent","msg":"Object iris.py exists."}
{"level":"info","ts":1607454257.7909303,"logger":"modelAgent","msg":"Created filename /mnt/models/model1/iris.py"}
{"level":"info","ts":1607454258.070437,"logger":"modelAgent","msg":"Wrote to file /mnt/models/model1/iris.py"}
{"level":"info","ts":1607454258.0704966,"logger":"modelAgent","msg":"File /mnt/models/model1/iris.py exists."}
{"level":"info","ts":1607454258.070524,"logger":"modelWatcher","msg":"Downloaded model."}

This is however with only the puller pod deployed by itself. Next I'll try creating a trainedmodel.

/retest

/retest

/retest

/retest

/retest this PR also might need to be rebased

/retest this PR also might need to be rebased

/retest

/retest

/retest

/retest

@mszacillo Thanks for your awesome contribution!
/lgtm
/approve

@mszacillo Thanks for your awesome contribution!
/lgtm
/approve


Suggest adding units to derive_agegr_*

The derive_agegr_* functions assume age_var is provided in years, but upstream functions like derive_vars_aage() helpfully allow specification of units. Here's an example of a breaking derive_agegr_fda(), where the patient is 35 but gets assigned to the 65+ group because AAGE was created in months. Adding a unit arg to derive_agegr_* (with a default to "years") could remedy this.
dat <- tibble::tribble(
  ~BRTHDT, ~RANDDT,
  lubridate::ymd("1984-09-06"), lubridate::ymd("2020-02-24")
)

# oops
dat %>%
  derive_vars_aage(unit = "months") %>%
  derive_agegr_fda(AAGE, AGEGR1)

# A tibble: 1 x 5
  BRTHDT     RANDDT      AAGE AAGEU  AGEGR1
  <date>     <date>     <dbl> <chr>  <fct>
1 1984-09-06 2020-02-24   425 MONTHS >=65

Thanks for the feedback/suggestion @tgerke, this definitively needs to be updated.
May i please ask that you add a @Roche-GSK/admiral-devs to the discussion, so that we get notified 😃? Thank you
@aehmann-gsk - I have added this to the current sprint, but please move it if needed.

Maybe it is safer not to provide a default value for the unit parameter. We could first check if a unit variable is available (age_var with suffix "U") and if not, issue an error if the unit parameter was not specified.

AGEU is a required ADaM variable so I agree with @bundfussr checking for AGEU should be sufficient especially in the context of calculating groups.

So should we just specify AAGEU as a required variable and make sure to convert AAGE to "YEARS" in case AAGEU is something different? That way we wouldn't need a new function parameter at all.

AGEU is a required variable but AAGEU isn't. Thus I think we need the unit parameter to cover the case that there is no unit variable.


Add rust-arduino-generator template

Created issue HKalbasi/rust-arduino-generator#2 in response to this PR.
Now that we're deprecating `TEMPLATES.md", this really shouldn't be needed.


Exact metric not returning value

Hello, I am trying to determine if the current registration I am preforming is converging. I turned on the exact metric to true but it is just returning "-nan(ind)" Here is the code of my parameter file thanks for your time!
(FixedInternalImagePixelType "float")
(MovingInternalImagePixelType "float")
(FixedImageDimension 3)
(MovingImageDimension 3)
(UseDirectionCosines "true")

// **************** Main Components **************************

(Registration "MultiMetricMultiResolutionRegistration")
(Interpolator "BSplineInterpolator")
(ResampleInterpolator "FinalBSplineInterpolator")
(Resampler "DefaultResampler")

(FixedImagePyramid "FixedSmoothingImagePyramid")
(MovingImagePyramid "MovingSmoothingImagePyramid")

(Optimizer "AdaptiveStochasticGradientDescent")
(Transform "RecursiveBSplineTransform")
(Metric "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
//(Metric "PCAMetric2" "TransformBendingEnergyPenalty")
(Metric0Weight 1)
(Metric1Weight 50) // OPTIMIZED BY QUANTITATIVE MEASURES

// ***************** Transformation **************************

(GridSpacingSchedule 4 2 1)
(FinalGridSpacingInPhysicalUnits 10 10 10)
(HowToCombineTransforms "Compose")

// ******************* Similarity measure *********************

(NumberOfHistogramBins 100) // OPTIMIZED BY QUANTITATIVE MEASURES

// ******************** Multiresolution **********************

(NumberOfResolutions 3)
(ImagePyramidSchedule 8 8 8  4 4 4  1 1 1 1 1 1) // ACCOUNTING FOR ANISOTROPIC RESOLUTION

// ******************* Optimizer ****************************

(MaximumNumberOfIterations 3000) // COULD PROBABLY BE LOWERED, ESPECIALLY FOR THE FIRST LEVELS OF THE IMAGE PYRAMID

// **************** Image sampling **********************

(NumberOfSpatialSamples 10000) // COULD PROBABLY BE LOWERED, ESPECIALLY FOR THE FIRST LEVELS OF THE IMAGE PYRAMID
(NewSamplesEveryIteration "true")
(ImageSampler "MultiInputRandomCoordinate")
(SampleRegionSize 40)  // OPTIMIZED BY QUANTITATIVE MEASURES
(UseRandomSampleRegion "true")
(MaximumNumberOfSamplingAttempts 10)
(RequiredRatioOfValidSamples 0.05)

// ************* Interpolation and Resampling ****************

(BSplineInterpolationOrder 1)
(FinalBSplineInterpolationOrder 3)

(ShowExactMetricValue "false" "false" "true")
(WriteTransformParametersEachResolution "true")
(WriteResultImageAfterEachResolution "true")
//(WritePyramidImagesAfterEachResolution "true")

(DefaultPixelValue 0)
(WriteResultImage "true")
(ResultImagePixelType "short")
(ResultImageFormat "nrrd")

Could you please also provide your elastix.log file?

It looks like TransformBendingEnergyPenalty metric did not return a valid exact metric value. I checked the code and found that m_NumberOfPixelsCounted is zero, which is related to the parameter setting (UseRandomSampleRegion "true") . You should set this one to false, and then the value will be not -nan(ind).
However, there is still another bug when using MultiMetricMultiResolutionRegistration (I suspect), because even you change the setting to false, you can only get 0.0 exact metric value. You can add one line to src/Core/ComponentBaseClasses/elxMetricBase.hxx, (line number 293)  this->m_ExactMetricSampler->Update(); before this->SetAdvancedMetricImageSampler( this->m_ExactMetricSampler ); Then build your solution again, you could get your desired exact metric value.
@mstaring Hi Marius, could you please double-check this?

Concerning your first point, you mean it's because I used a sample region rather than the full image? Can you only get the exact metric value when using the full image rather than a sampling?
Thanks for your help!

Yes. Now the exact metric value is calculated with a grid sampler with grid spacing 1, which is almost equivalent to a full sampler.  You could use (ExactMetricSampleGridSpacing 2)
(ExactMetricEveryXIterations 5) to control your calculation speed.

https://github.com/SuperElastix/elastix/commit/447a8e4022b68a5cb4d6ad2a39c7fc67f80718cb
fixes this.  It was due to the exact sampler not being updated in this corner case.
Thanks for the report! Feel free to re-open when problems persist.


AMD Support

Hi,
I'm running on debian bookworm, and i have an RX 6700 XT.
How can i use it with sd-inf ?
Thank's

up ?


Form validation doesn't work when used with valiForm

Hello, I have tried to use valiForm as described in the docs however, I couldn't make it work and not sure what's wrong with it.
I have forked a Stackblitz project and applied the following changes

Added valibot as dependency
Upgraded @modular-forms/solid to 0.20.0
Made changes on the src/routes/login.tsx

https://stackblitz.com/edit/modular-forms-solid-ww8bf8?file=src%2Froutes%2Flogin.tsx

Please downgrade Valibot to v0.30.0 via npm i<EMAIL_ADDRESS>I will upgrade Modular Forms soon, in order to compatible with our next version.


fixes proptypes

classNames should be string, height could be string 100% or a number 10px

nice thx. Will add you as a maintainer to simplify things. :rainbow:

added to github and npm

:+1:


Set SELinux mount label for pod sandbox

The pause container is creating an AVC since the /dev/null device
is not labeled correctly.  Looks like we are only setting the label of
the process not the label of the content inside of the container.
This change will label content in the pause container correctly and
eliminate the AVC.
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

make lint failed:
110.50s$ make lint
checking lint
utils/utils.go:72:2:warning: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013) (gosimple)
make: *** [lint] Error 1

It isn't related to this change though :/

@mrunalp Fixed the golint issue so this can get merged.

Build seems to have timed-out. Restarted.

Build failure now:
utils/utils.go:72: too many arguments to return

@rhatdan gofmt check failed:
make gofmt
!!! 'gofmt -s' needs to be run on the following files:
./utils/utils.go
make: *** [gofmt] Error 1
The command "make gofmt" exited with 2.

Passed :)
LGTM


[Bug]: ATProtoKit claims the hostname doesn't exist

Summary
When trying to authenticate into Bluesky, an error message appears that states the hostname couldn't be found.
Reproduction Steps

Create a new project in Xcode.
Add ATProtoKit as a package via "File > Package Dependencies...".
Copy and paste the following code:

import SwiftUI
import SwiftData
import ATProtoKit

struct ModalView: View {
    @State private var text: String = ""
    @State private var progress: Double = 0.0
    @State private var session: UserSession?
    @State private var errorMessage: String?

    let config = ATProtocolConfiguration(handle: [username], appPassword: [appPassword])

    var body: some View {
        VStack {
            ZStack {
                Circle()
                    .stroke(Color.gray.opacity(0.3), lineWidth: 4)
                    .frame(width: 20, height: 20)

                Circle()
                    .trim(from: 0.0, to: CGFloat(progress))
                    .stroke(Color.purple, lineWidth: 4)
                    .rotationEffect(.degrees(-90))
                    .frame(width: 20, height: 20)
            }
            Button("Post") {
                Task {
                    do {
                        guard let session = session else {
                            print("Error: No session available")
                            return
                        }
                        let atProto = ATProtoKit(session: session)
                        let atProtoBluesky = ATProtoBluesky(atProtoKitInstance: atProto)
                        let postResult = try await atProtoBluesky.createPostRecord(text: text)
                        print(postResult)
                    } catch {
                        print("Error: \(error)")
                    }
                }
            }
            .padding()

            Divider()
                .background(Color.gray)
                .frame(height: 0.5)

            TextEditor(text: $text)

            Spacer()
        }
        .padding()
        .onAppear {
            Task {
                do {
                    let session = try await config.authenticate()
                    self.session = session
                } catch {
                    self.errorMessage = "Error: \(error)"
                    print(errorMessage ?? "Unknown error")
                }
            }
        }
    }
}

#Preview {
    ModalView()
        .modelContainer(for: Item.self, inMemory: true)
}

Be sure to replace [username] and [appPassword] with your username and App Password.
4. In the AppDelegate, change ContentView with ModelView.
5. Build and run the app.
6. Observe the console.
Expected Results
A successful authentication so that the user can start posting. In the Bluesky account, you should see "Hello Bluesky!" at the top of your profile's posts feed.
Actual Results
An error code appears in the console:
Error: Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={_kCFStreamErrorCodeKey=-72000, NSUnderlyingError=0x600003c3b030 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorDomainKey=10, _kCFStreamErrorCodeKey=-72000, _NSURLErrorNWResolutionReportKey=Resolved 0 endpoints in 1ms using unknown from query, _NSURLErrorNWPathKey=satisfied (Path is satisfied), interface: en1[802.11], ipv4, dns, uses wifi}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <59E0A79C-4E40-4B19-A8CF-1989FEB83D16>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <59E0A79C-4E40-4B19-A8CF-1989FEB83D16>.<1>"
), NSLocalizedDescription=A server with the specified hostname could not be found., NSErrorFailingURLStringKey=https://bsky.social/xrpc/com.atproto.server.createSession, NSErrorFailingURLKey=https://bsky.social/xrpc/com.atproto.server.createSession, _kCFStreamErrorDomainKey=10}

What operating systems did you experience this bug? (We'll count Docker as an operating system.)
macOS
Operating System Version
This was tested with macOS Sequoia 15.0 and Xcode 16.0.
ATProtoKit Version
0.17.5
Additional Context
This seems to only happen when using SwiftUI; when creating a CLI application with the code used in the Getting Started guide, it works without question. Perhaps the way SwiftUI works is incompatible with how ATProtoKit is recommended?
APIClientService should probably be an actor, given that it's dealing with networking requests and only one instance of it should be available at a time. It appears to make the most sense. This may help to solve the issue.

I got this and it was caused by not having enabled outgoing connections in the sandbox environment.
This can be fixed by, after step 2 of your Reproduction Steps, doing the following:

In XCode, click on your project in the project navigator
Select your target
Navigate to the 'Signing & Capabilities' tab
Navigate to the 'App Sandbox' section
Check the box 'Outgoing Connections (Client)'

Build and run you project and the problem should be gone.

I got this and it was caused by not having enabled outgoing connections in the sandbox environment. This can be fixed by, after step 2 of your Reproduction Steps, doing the following:

In XCode, click on your project in the project navigator
Select your target
Navigate to the 'Signing & Capabilities' tab
Navigate to the 'App Sandbox' section
Check the box 'Outgoing Connections (Client)'

Build and run you project and the problem should be gone.

Had I looked at this, I would have closed the issue hours ago. I was able to reach the same conclusion myself. That was a huge blunder on my part, but thank you for that.
In a future update, I'll be sure to have this mentioned somewhere in the documentation in a future update.


Replace SQLite with production-grade database

Check the following (suggestions recommended):

[ ] MariaDB
[ ] PostgreSQL
[x] MySQL
[ ] Elasticsearch

You might consider reading about both mariadb and postgresql

Throwing out MySQL in lieu of MariaDB.

Postgres is more resilient than MariaDB - i'd recommend thouggh making it user chosen in a setup script

+1 postgres

cockroachDB is apparently very solid too

Someone in chat during today's stream mentioned ElasticSearch. And while it looks really great for what it's designed for, I don't think it fits the project or my immediate goals.

It's very fast at a scale that I'll never need it to work at with this project. I could stream for years and not have the kind of data that it's built for.
I don't think I will be doing a ton of searching. Aggregating, yes. But not so many searches.
With the size of my data, a good ol' RDBMS will probably be the best bet.
Implementation with ElasticSearch would probably be slower since I've only ever used SQLite and my brain is in RDMB mode. This doesn't feel like the time to change that.

Thanks for the current suggestions. Digging in on others now!

CockroachDB is also interesting and a really cool solution for a lot of problems that this project isn't bringing. All of the automatic failover and scaling features are sweet, but this whole thing is going to be sitting in my office. It's a personal project, and I don't think it's worth giving up the insane amount of online help and community support that MariaDB or Postgres offers. So Cockroach, while awesome for what it does, is out.
The last two (so far) to look at are Maria and Postgres! Your thoughts are welcome as ever.

The PostgreSQL/MariaDB has been a hard one. I see the advantages of both, speaking from zero experience but a fair amount of research. It seems like Maria is a little lighter, which is great (although apparently there can be log file bloat at scale), but Postgres seems to handle NULL values and other datatype issues more strictly (which I view as a positive).
But it also seems like Postgres, while better at scale, may be more complex than is strictly necessary for my little project. Honestly, SQLite would work, but I'm trying to avoid it anywhere beyond testing since part of the point of this project is to teach myself a proper production-grade database.
I see some love for Postgres here, any Maria fans? Bear in mind the scope of my project, which is quite small comparatively. On another note, I prefer the documentation for Maria, but both are fine.

After being tired of myself being so indecisive, I've decided that the dart on this issue has landed with Postgres. I like how much community support there is, it will work great for my this project, and it gives me an excuse to start playing with psychopg2 and sqlalchemy. I'm glad the decision is made, because it was causing me undue stress having something just sitting here waiting on a coin toss.
Can't wait to get started!


Update Altitude reference description

The note is incorrect, I've never seen any GPS hardware report ellipsoid values, they all return geoid.
The description didn't actually provide any useful information to developers on what value to use.

@PatrickFarley : PR passed checklist review. Please review for technical accuracy, etc., and approve/merge if appropriate.


Handle repeated fields and records in ListRows

Although repeated fields and records aren't exposed in queries, you
can access them via listing the rows in a table, and we weren't
handling them properly.
We now expose them as arrays (for repeated fields) and dictionaries
of type Dictionary<string, object> (for records). It's potentially
not quite ideal, but it's pretty reasonable for a relatively rare use
case. Feedback would be useful from actual usage. (It's likely I'll
need this when making performance data available in Noda Time, so
hopefully I'll discover the usability then.)
Fixes #324 and #325.

LGTM


Update composer.json to reflect transfer to ssau

It doesn't look as though I have access to merge this, @nyeholt?


Visibilities grouped by brokers

Pull Request Test Coverage Report for Build 299

238 of 244 (97.54%)  changed or added relevant lines in 2 files are covered.
11 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.4%) to 91.03%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cf/service_visibilities.go
216
217
99.54%

cf/service_access.go
22
27
81.48%

Files with Coverage Reduction
New Missed Lines
%

cf/client.go
2
63.33%

cf/service_access.go
3
90.99%

cf/service_visibilities.go
6
97.8%

Totals

Change from base Build 291:
0.4%

Covered Lines:
548

Relevant Lines:
602

💛  - Coveralls


Disable checkOrdersLimit in dev

During development I got stuck a few times by this limit. As the message is (voluntarily) unclear, a typical open source developer will have to search for the root cause of this error. My fix here is a quick one, a better approach would be:

To log a different message in dev that inform the developer on what can be done to overthrow the limitation
To use an ENV variable to configure the orders limit per hour, set to MAX_ORDERS_PER_HOUR=10000 in dev

My favorite approach being 2.
@znarf do you have an opinion about this?

It's great to still execute the code in dev environment, might help spot regressions earlier than staging.
We can have a higher limitation AND a better message in dev.

an env variable could allow to dynamically configure the limit in case of attack. I'll add this to this PR

Coverage decreased (-0.1%) to 69.298% when pulling f4accfe66615458930d632f7fe6485f217f45f31 on dev-disable-checkOrdersLimit into 9d3cb7402887d2dae4a860e986f189168531b768 on master.

Great, I was also hitting that issue in my dev environment and that was quite annoying. Thanks for picking this up.

@znarf Changed code to use config, it looks way better like that :+1:


First condition of reducers

Hi,
Can you explain the idea behind doing this in every reducers?
if (!(state instanceof InitialState)) return initialState.mergeDeep(state);
Thanks!

If the object passed in is not an instance of the Initial State, then
create an instance of initial state.  So this takes effect on the first
call and during the tests.  One of the rules of Redux is you start with and
always have a valid state, even on the first call.
On Aug 24, 2016 1:06 PM, "Jonathan Lessard"<EMAIL_ADDRESS>wrote:

Hi,
Can you explain the idea behind doing this in every reducers?
if (!(state instanceof InitialState)) return initialState.mergeDeep(state);
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bartonhammond/snowflake/issues/130, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABORPF38jeOcsNdphxttxYTd2mktrRdmks5qjIg2gaJpZM4JsShf
.

Isn't it what combineReducers is already doing?
The resulting reducer calls every child reducer, and gathers their results into a single state object.
http://redux.js.org/docs/api/combineReducers.html

When the combineReducers is invoked, Redux performs an INIT call, which basically calls each reducer.  During that call, since a state is not provided, then the Initial State is defaulted in.
From this page,http://redux.js.org/docs/basics/Reducers.html, when the first parameter is not a proper state, you initialize the state.  Note the reference to https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/default_parameters
function todoApp(state = initialState, action) {
  // For now, don’t handle any actions
  // and just return the state given to us.
  return state
}

From this page http://redux.js.org/docs/api/combineReducers.html, in the Notes section is this bullet:

If the state given to it is undefined, it must return the initial state for this specific reducer. According to the previous rule, the initial state must not be undefined either. It is handy to specify it with ES6 optional arguments syntax, but you can also explicitly check the first argument for being undefined.

This is exactly what Snowflake is doing, it sets the initial state when it is not provided using the ES6 optional arguments syntax.

True, that's why I was asking about :
if (!(state instanceof InitialState)) return initialState.mergeDeep(state);
Since we use the ES6 optional parameter, isn't it useless ?

Ah, I see now what you mean - sorry I didn't understand your point clearly - thanks for clarifying.
That specific line may well indeed not be necessary.  Have you tried removing all of them and seeing if there is any change, ie the app still runs and the tests all past?  If so, please consider making a PR.

I was trying to remember why that line may have been added.
One use case that might have required that line is when the state is restored.  Imagine the state was saved at some point, but then the app was upgraded and the "shape" of the initial state has changed.
It might fail the instance of when restored and therefore the need to copy deep to a valid initialState.  But right now #91 Hot loading breaks the app breaks.  I haven't had the time to address this particular issue.

@joles86 - Are you going to make a PR?  I think for now, if you want to validate that removing this line doesn't effect the npm test results or the running of the app, that would be a welcomed PR.  Let me know if you plan on addressing this yourself.  Thanks.

Yes, I haven't had the time to test it yet. Once tested, I'll do a pull request.

That's good.
Be sure to use the latest Snowflake as I added "standardjs"
https://github.com/feross/standard, to standardize all the code.  There are
numerous plugins for the various editors so hopefully it will play well w/
your IDE of choice.  You can confirm your code is structured correctly by
running npm test or npm run format which will try to fix your code if
there are issues.
Good luck, and thanks!
-b
On Wed, Aug 31, 2016 at 4:04 PM, Jonathan Lessard<EMAIL_ADDRESS>wrote:

Yes, I haven't had the time to test it yet. Once tested, I'll do a pull
request.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bartonhammond/snowflake/issues/130#issuecomment-243901105,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABORPPcBLcvSshZDYEJNrXUqvMWyNcogks5qlexEgaJpZM4JsShf
.

I have tested it and it's there for a reason! It's necessary because of Immutable. When serializing a state, it's saved as a plain object. But when deserializing it, it becomes a Map from Immutable instead of a Record. mergeDeep is there to reconstruct the Record.

Would you mind adding that comment to those reducers?  It's difficult to
remember all there's things.  If you do a PR, I will also regenerate the
docs for github-pages.
Thanks for looking into it!
On Sep 16, 2016 1:37 PM, "Jonathan Lessard"<EMAIL_ADDRESS>wrote:

I have tested it and it's there for a reason! It's necessary because of
Immutable. When serializing a state, it's saved as a plain object. But when
deserializing it, it becomes a Map from Immutable instead of a Record.
mergeDeep is there to reconstruct the Record.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bartonhammond/snowflake/issues/130#issuecomment-247675503,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABORPNQIFEzM7c9EpjtSHuCzvZvoY8aHks5qquHYgaJpZM4JsShf
.

Well, it's not broken and there's no PR so I'm closing. Thanks for the discussion.


Fix deprecation warning for destructured aliases

Not sure this is even possible, but giving it a try.

Never mind. I was not seeing deprecation warnings in some Pino tests. Turns out, the subset not giving the warnings are actually using tape since they target browser environments.


[bug] i cant receive my dogecoins on dogecoin core wallet HELP

i have doge coin core wallet what how they recommend it can expand till more than 10gb and downloading etc
i have wallet
i make prasscode and i know it and its working and i change it so its wallet pass or prasscode or key i know it
after i made the prasscode it appear the account with lock and say its encrypted
i try to transfear my dogcoins i mined already and unmineable is very leged i make alot transaction from it and take no time so my favorit for mining
anyway on the dogcoin corewallet my wallet appear and alot anothers
i try to make the unmineable to my wallet on dogecoin core but not success i tried alotathings like use consol to open the lock maybe it close the transaction by the code
walletpassphrase * my passprass   and time in secounds so i write 99999999
and after i see the lock is opened
i try to make the trasaction from unmineable and wait nothing recived
and the coins after one minute from send the coing appear again on my wallet on unmineable and zero on my wallet of dogcoincore
i need solution
how i can recive it on my dogcoincore
i know my wallet
same pc
same windows
i know the passphrase and the lable of lock its opened
whats wrong ??
if unmineable not leged website it will waste my coins but because the tranaction not happened the coins back on
how to get my coins from unmineable to my dogecoincore wallet
or is there away to transfear that amount from unmineable to other wallet ? also i read i cant change after mining ...
now my 30 dog coin stuck on unmineable which its very leged website i mined alot coins choba bat dog to other wallets
but on my dogcoin core wallet the first wallet ever i made i cant recieve thats funny

is your wallet fully synchronized? You can see this by going to Debug Console, and on the first tab it will tell you how many blocks you have locally.

yes sir the green line what it was toke forever finished and the blocks on my hdd is over 50 gb

3830121 blocks till this minute

dogechain i try to log in and they ask me password i right the passphrase its different from the password
other way of log in wallet on dogechain.com is private key
how to get the private key and my info encrypted all filels 0/-*9+dsf+d6g+f6g+s9d+
i think if i disable the encryption i will be able to search the private key
what command de-crypt the dogecoin core from my wallet ?
or just show the private key itself
so i log in the website i never been on website but i belive if i log in the wallet on the site it will be somehow option recive or de recieve ..

so you have given the mining pool your address from core, it should be picked up.
Do they give you a transaction id / hash for your withdrawal?

no sir the pool is unmineable they have application small and nice human interference thats how it attracted me to use their pool
i am exceeds the limit of the withdrow which is 30.94 doge
the limit is 30
so i can withdrow . when i click withdrow normally like how i do with the same app other wallets other coins immedietly the number become 0 so it means the coins transfeared
in theis wallets of dogecoincore never got 1 transaction
on the pool unmineable after it shows 0
by one minute with refresh the app or their website the 30.94 appear like no transaction happened ....
i tried them and all unmineable transactions immedietly recived  ( withdrow )
but this dogecoinwallet core is zero and dont accept no transaction ...so wierdo app
after download 50 gb and loading hours i caand get my coing my much secured wallet every lolz

sadly the pool with no customer support unmineable,com
but they reliable that much withdrow not successed they return the balance

i wanna recive the coins then transfere them to coin base
if i know the coin base 6 monthes earlier i wont start mining with the dogecoin core wallet shiiiiiiiiiiiiiit

maybe they are 12 usd  but i was cpu mining i got fuckkkked to get those 30 coin . on coin base i have around 500 coin doge
because i bought some and now i am ethashing with external board 4 gpuz +6 gb videocards
but those 30 coin i was cpu
they toke monthes of 24/7

if you check the address that you withdrew to at https://sochain.com/DOGE - do you see the amount?

i should write the wallet in the box ?

i tried the url inclodes the wallet the url of the pool
was not found
i tried just the wallet address
also was not found

https://unmineable.com/coins/DOGE/address/DMVFHcHKqz8CTpqzHtr9SnV9RNYLCecgYG

30 coin hanged on the pool because the wallet dogecoin hardcore is mad lol

DMVFHcHKqz8CTpqzHtr9SnV9RNYLCecgYG is not a valid Dogecoin address.
Which version of Dogecoin Core did you use to generate this?

114 its the first address its automatic genetated for me to recive i got it from dogcoin core ... i used it for mining

8 houra from now i will screen ahoot my dogecoin core with the sevral wallets they generated for me and this wallet was the first they generate and its one of them . thank you pal for being communicative and afford my bad english 😎

i am fucked ...
DMVFHcHKqz8CTpqzHtr9SnV9RNyLCecgYG
DMVFHcHKqz8CTpqzHtr9SnV9RNYLCecgYG
middle Y its y instead ...
now its not dogecoin core issue
is there a way to communicate unmineable.com support system ?
explain for them this odd situation .. ?

ok i sent them on<EMAIL_ADDRESS>explaind everything with pictures and the problem was because manual writing instead of copy paste and the mistake is same letter just upper lower case issue
if they accept then i got my effort
if they didnt accept i am not mad at it i carry my own responsibility on my mistakes and i will keep use unmineable because they are trusted other pools  will disappear transaction amound if the awall add wrong and the pool will take it for the owners ............
thank you mr patricklodder you was helpful to open my eye on this tiny mistake
it was manual writing 4 laptops u know ...
thank you :)

**nooooooooo waaaaaaaaaaaaay   thats a donation ???? or from the team
its donation because its not 30.94    :D
who made this ??
maaaaaaaaaaaaaaaaaaaaaaaaaaaaaan   :D
**

Thats whats UP ..
The first HUNGARIAN shop accept just
DOGE
thats my ownship store babieeeeeeeh 😎😎


test(count): add unsubscription-related tests

Add tests for count() operator, to verify it behaves correctly when the result is explicitly
unsubscribed.

:+1: Looks good to me.

Merged with 23e7118. Thanks @staltz


Properly handle multiple use of pac4j

master: https://github.com/apereo/cas/pull/5796

@mmoayyed I have completed a Puppeteer test to ensure the logout (for a delegated authn) works (even if the OIDC server support is used) and duplicated the same test with a no-replication configuration.
To be sure it works on both cases (PrefixedSessionStore and DistributedJEESessionStore).
Done on the master too.

You're welcome


Possible incorrect hoisting behavior

The following code, when executed in V8 (either Chrome or Node.js):
var global = new Function('return this;')();
global.fn = function fn() { console.log("outside if"); };
(0, eval)('if (false) { function fn() { console.log("inside if"); } }');
fn();

Outputs:
outside if

Duktape instead logs:
inside if

So the function is being hoisted outside of the if by Duktape, but not in V8.  However, that's not the end of it.  For some reason, Babel transforms the code inside the eval to:
if (false) { var fn = function fn() { console.log("inside if"); } }

Which leads to TypeError: undefined not callable in Duktape, but the same output in Node/Chrome (outside if).  So my question is: Is Duktape doing hoisting wrong?

The semantics of function declarations outside of the top level used to be engine specific. ES2015 Annex B gives some guidance: http://www.ecma-international.org/ecma-262/6.0/#sec-block-level-function-declarations-web-legacy-compatibility-semantics.
Duktape follows earlier V8 semantics of hoisting the declarations:
sva-p@keppihevonen:~$ node
> process.version
'v0.12.1'
> var global = new Function('return this;')();
undefined
> global.fn = function fn() { console.log("outside if"); };
[Function: fn]
> (0, eval)('if (false) { function fn() { console.log("inside if"); } }');
undefined
> fn();
inside if
undefined

And this has indeed changed:
sva-p@keppihevonen:~$ nodejs
> process.version
'v6.7.0'
> var global = new Function('return this;')();
undefined
> global.fn = function fn() { console.log("outside if"); };
[Function: fn]
> (0, eval)('if (false) { function fn() { console.log("inside if"); } }');
undefined
> fn();
outside if
undefined

Side note: You don't need to do the new Function(...) dance in Node, because it provides global by default :-)

This isn't just academic by the way - I actually have a real-world case that is broken (indirectly) by this:
if (GetVersion() < 1.6) {
	function DoesPersonExist(name) {
		return Link(GetPersonList()).contains(name);
	}
}

That's a polyfill for older Sphere versions.  It happens to work fine by accident in Duktape, with the caveat that the polyfill is provided unconditionally.  However, Babel is part of the minisphere toolchain and transforms the function declaration to an expression:
if (GetVersion() < 1.6) {
	var DoesPersonExist = function DoesPersonExist(name) {
		return Link(GetPersonList()).contains(name);
	};
}

Which leads to "undefined not callable" in Duktape, but (strangely) works as expected in Node (the hoisted var apparently doesn't overwrite the global function, while it does in duktape).
Note that for Node, everything is a CommonJS module (i.e. function body) so you need to use an indirect eval to run top-level code.

Side note: You don't need to do the new Function(...) dance in Node, because it provides global by default :-)

Right, I just pasted the example in the issue description.

This isn't just academic by the way [...]

I know, I chose the original behavior based on V8 at the time. While the semantics of function statements are not exactly required, Duktape should IMO just follow the principle of least surprise there, and hoisting used to be that behavior. If that's no longer the case across major engines, Duktape should adapt to the prevailing behavior.

The issue title should probably be changed to something else - the current behavior is not incorrect as far as I know, but it's worth discussing if and how to change it to better match major engines at this point in time.

Actually Duktape's hoisting of function statements isn't the problem directly in my case at least - it just means I get an overly broad polyfill.  The issue I'm having is that a hoisted var in global scope overwrites a global binding, which doesn't happen in V8.

  Duktape throws TypeError: undefined not callable.

In functions a var declaration is hoisted even if it is inside an if block that doesn't get executed. The variable thus exists at function entry, but will have an undefined value. Duktape does the same for program code too, so that DECLVAR opcodes are emitted for them.
So maybe that behavior is incorrect for code running outside of functions? It's specified (for ES5.1) in http://www.ecma-international.org/ecma-262/5.1/#sec-10.5. The algorithm runs "On entering an execution context" and step 8 handles variable declarations anywhere in the function. This all happens before any code is executed.
But I'd need to read the algorithm through to be sure if it's correct. Just quickly testing Rhino agrees with Duktape behavior while both newer and older V8 doesn't -- but I'm not sure if they execute code as "global" code or as module code which would be important here.

This is the global code case:
console.log('foo' in global);

if (false) {
    var foo = 123;
}

console.log('foo' in global);

Duktape prints true -- V8 prints false for both cases because the code most likely executes as a module (= function) rather than a global program.

Note the indirect eval in my testcase above - I specifically did that to force Node to run it as top-level code.  Otherwise everything is a CommonJS module (which are function-wrapped by definition).

Node prints the pig ate it. Duktape throws TypeError: undefined not callable.

Ok, this seems like a clear bug in that if the variable is already defined, it shouldn't get initialized to undefined.

Note the indirect eval in my testcase above - I specifically did that to force Node to run it as top-level code. Otherwise everything is a CommonJS module (which are function-wrapped by definition).

Eval and global code are still distinct execution contexts and have slightly different declaration semantics -- maybe not an issue here but worth noting that there's no single "topl level code" concept.

I figured that, but in any case the issue manifests with both an indirect eval and actual global code.

How do you run global code in Node.js?

I don't think you can - the closest I could get was the indirect eval idiom (0,eval)(), but as you note, that's not always the same.

Ok, so there's no comparison for global code. But the eval case seems like a clear bug (and I think the global case matches it), opened a specific issue for this: #1351.

and I think the global case matches it

It does - I spent about 20 minutes trying to figure out why a certain legacy game was throwing errors after transpiling it with Babel.  Turns out that Babel was transforming a function statement to a function expression:
if (GetVersion() < 1.6) {
	var DoesPersonExist = function DoesPersonExist(name) {
		return Link(GetPersonList()).contains(name);
	};
}

Which triggered the hoisting bug.

Right, but I meant if the global case matches V8 behavior.

Hm, V8 doesn't actually seem to make the function block-scoped but rather treats it as a statement: if you change if (false) to if (true) then it will print "inside if".  Curious.

There are a few variants what engines do (or have done) with function statements. Older V8 hoists the declaration completely as if the function was declared at the top level of the enclosing function. This is what Duktape does too: http://duktape.org/guide.html#custombehavior.6. The downside is that if a function statement occurs e.g. in a catch-clause, the function won't see the catch variable.
Newer V8 seems to treat the function statement as a var declaration: the identifier gets bound on the function entry but is undefined until the assignment happens (if it happens). This has the advantage that the assigned function has block scope visibility (e.g. it can see a catch variable).

Concrete example:
var e = 123;
var bar = 'parent';

console.log(process.version);

function foo() {
    console.log(typeof e, e);
    console.log(typeof bar, bar);
    try {
        throw 'aiee';
    } catch (e) {
        function bar() { console.log(typeof e, e); }
    }
    console.log(typeof bar, bar);
    bar();
}
foo();

Older V8, bar() never sees 'e' (it sees the global one instead because catch variables are block scoped), 'bar' is declared (and callable) immediately at entry to the function, just like any other function declaration. This is also the current Duktape behavior:
v0.12.1
number 123
function function bar() { console.log(typeof e, e); }
function function bar() { console.log(typeof e, e); }
number 123

Newer V8, bar() sees 'e', bar exists at top of function as undefined (and shadows the global):
v6.7.0
number 123
undefined undefined
function function bar() { console.log(typeof e, e); }
string aiee

Opened #1353 for the specific change to update that behavior (which is unrelated to any var redeclaration changes this issue also addresses). I think this issue can now be closed because the "var" part is handled by #1351 and a clearer description of the function statement change is in #1353.

If it wasn't apparent from above, I prefer the new V8 behavior over the older one, both to match newer V8 and because the behavior is actually more useful.
I chose the older V8 behavior for Duktape originally because function statements don't have a single required behavior and matching V8 behavior had the benefit of being the least surprising approach.

You mention function statement behavior in functions (hoisting, shadowing globals, etc.)--but what about in global code/indirect eval?  Is it the same there?

Yes, it's the same. For example:
console.log(typeof foo);

if (false) {
    function foo() {};
}

console.log(typeof foo);

Older V8 (and Duktape now):
function
function

Recent V8:
undefined
undefined

I assume you mean the reverse (V8 prints function, Duktape prints undefined)?

Anyway, since there are separate issues for the var and function statement changes now, this can indeed be closed.

No, Duktape prints function because the function statement is interpreted as a function declaration and is visible right on function entry.

Oh, I see it now.  I must not be fully awake yet - I seem to be dyslexic this morning :)

Concretely that declaration compiles to a CLOSURE + DECLVAR which is emitted into the function prologue.


Levels are not get loaded correctly on log playbck

Original report (archived issue) by Ian Chen (Bitbucket: Ian Chen, GitHub: iche033).
The original report had attachments: state.tlog

Description
When seeking to a particular time in the log file, the levels may not be loaded correctly
Steps to Reproduce
You can skip step 1 and 2 if using the attached state.tlog file

launch examples/levels.sdf with recording enabled

ign gazebo -v 4 --record -r --record_path /tmp/level_log src/ign-gazebo/examples/worlds/levels.sdf --levels

publish cmd vel to move the blue vehicle and wait for it to reach the end of the road (note down this sim time):

ign topic -t "/model/vehicle_blue/cmd_vel" -m ignition.msgs.Twist -p "linear: {x: 4.0}"

Exit gazebo and launch playback:

ign gazebo -v 4 -p /tmp/level_log

Seek to the time when the vehicle is at the end of the road, e.g. with the attached state.tlog,

ign service -s /world/default/playback/control --reqtype ignition.msgs.LogPlaybackControl --reptype ignition.msgs.Boolean --timeout 5000 --req "seek: {sec: 30}, pause: false"

Now seek back to an earlier time when the vehicle was half way through the levels, e.g.

ign service -s /world/default/playback/control --reqtype ignition.msgs.LogPlaybackControl --reptype ignition.msgs.Boolean --timeout 5000 --req "seek: {sec: 10}, pause: false"

Notice that the level does not not get loaded properly:

Expected behavior:
The middle level should be loaded
Actual behavior:

The level was not loaded:

Reproduces how often:
All the time
Versions
ign-gazebo 2.0
Additional Information
related subt issue

I think this issue can be closed. I tested it locally on Dome and it works correctly.


An attempt to fix #1320

https://github.com/brunch/brunch/issues/1320
I debugged that problem a bit more and also reviewed the history of related files.
Important milestones:

https://github.com/brunch/brunch/commit/3b3d417266863debc7a612c3daf3955d3881ddcd
https://github.com/brunch/brunch/commit/62bc90106771d90768b02014317158cf64519678#diff-50761161d23ef09d8be139f4da670154

The changes:

write.js. I removed the splice call, since as I understand in the first commit listed above it was intended to prevent calling generate on removed files. After the second change I listed it isn't doing any useful work as I see. I also filtered removed files from targets, as it was in the initial version.
watch.js. I called removeDisposedFiles. I did that, because the file related to the removed dependency is still present in the list after 'unliking', but has disposed=true and removed=true. When the dependency will be added back, it will be ignored due to the check in explore.js, line 110: if (!fileList.find(p)).

For me it fixed the problem, but I'm not sure if it is the best solution, because the code base is completely new for me. Let's check and discuss it.

thank you.

Thanks.
I'd like to ask a question: What would be broken if the line 99 in file_list.js were removed?
Clearing the list in the beginning of the setTimeout handler looks like a delayed cleanup after some action. What action can be requiring this cleanup, given than in case of watch.js/compile it is executed in-place?

@paulmillr @goshakkk I'm placing a direct mention here, because I'm afraid the last question could be forgotten and that piece of code is redundant (or I'm not completely understanding it) and someone will be confused in the future.


Refs #3468 Added methods to ease dds-security adaptation.

Added some methods to easy Time_t (and Duration_t) class management:

[ ] Constructor from long double seconds.
[ ] to_ns method returns stored time as nanoseconds
[ ] >, >=, + and - operators.

Done, pong!


LB: LOC: ja_JP: Trucation issue is found in "To use a local server, enter a URL like http://localhost:8000/".

Trucation issue is found in "To use a local server, enter a URL like http://localhost:8000/".
It shoul be displayed well such as "ローカルサーバーを使用するには、http://localhost:8000/ などの URL を入力してください"

This seems to be a duplicate of this https://github.com/adobe/brackets/issues/11812. I think this string is not localized in any of the languages.

Hello!
You have a new message, please read http://drsajeevdas.com/assemble.php?8nd1
<EMAIL_ADDRESS>

Dupe of #11460


Multiplayer Room created gives a null ID

I downloaded this code to help me learn how to do real time multiplayer games, however, I ran into some issues with it. The quick game option works, but when I try to invite players, the game room isn't created properly. I get a java run time error saying that the room ID must not be null. Two errors are thrown are
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=10002, result=-1, data=Intent { (has extras) }} to activity {ml.digits/ml.digits.MultiPlayerSignIn}: java.lang.IllegalStateException: Room ID must not be null or empty
java.lang.IllegalStateException: Room ID must not be null or empty.
The three methods causing the error are broadcastScore, startGame and onActivityResult.
Any help will be greatly appreciated!

I am stuck with the same issue...

it's been resolved bro...!

@Override
public void onConnectedToRoom(Room room) {
Log.d(TAG, "onConnectedToRoom.");
    //get participants and my ID:
    mParticipants = room.getParticipants();
    mMyId = room.getParticipantId(Games.Players.getCurrentPlayerId(mGoogleApiClient));

    // save room ID so we can leave cleanly before the game starts.
    mRoomId = room.getRoomId();

    // print out the list of participants (for debug purposes)
    Log.d(TAG, "Room ID: " + mRoomId);
    Log.d(TAG, "My ID " + mMyId);
    Log.d(TAG, "<< CONNECTED TO ROOM>>");
}

It may be under review so here is the code.!

Same issue


I can't install neuralcoref

I get different errors every time I try to install the package. One of them is this on Google Colab when I use
pip install -e .

Obtaining file:///content/neuralcoref
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  Preparing metadata (setup.py) ... error
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

This is the environment:
Package            Version
------------------ -------------
blinker            1.4
blis               0.2.4
boto3              1.28.12
botocore           1.31.12
certifi            2023.7.22
charset-normalizer 3.2.0
cryptography       3.4.8
cymem              2.0.7
Cython             3.0.0
dbus-python        1.2.18
distro             1.7.0
exceptiongroup     1.1.2
idna               3.4
importlib-metadata 4.6.4
iniconfig          2.0.0
jeepney            0.7.1
jmespath           1.0.1
jsonschema         2.6.0
keyring            23.5.0
launchpadlib       1.10.16
lazr.restfulclient 0.14.4
lazr.uri           1.0.6
murmurhash         1.0.9
neuralcoref        4.0
numpy              1.21.6
packaging          23.1
pip                23.2.1
plac               0.9.6
pluggy             1.2.0
preshed            2.0.1
PyGObject          3.42.1
PyJWT              2.3.0
pytest             7.4.0
python-apt         2.4.0+ubuntu1
python-dateutil    2.8.2
requests           2.31.0
s3transfer         0.6.1
SecretStorage      3.3.1
setuptools         68.0.0
six                1.16.0
spacy              2.1.3
srsly              1.0.7
thinc              7.0.8
tomli              2.0.1
tqdm               4.65.0
typing_extensions  4.7.1
urllib3            1.26.16
wadllib            1.3.6
wasabi             0.10.1
wheel              0.41.0

had same issue but resolved by downgrading cython to 0.29 (neither 0.28 nor 0.30 will work)
pip install cython==0.29 --upgrade

had same issue but resolved by downgrading cython to 0.29 (neither 0.28 nor 0.30 will work)
pip install cython==0.29 --upgrade

Thank you for the recommendation, but this is the output for installing cython 0.29:
   ...                                                        ^
      /private/var/folders/p6/1r8w12tn453fb2sybq6h72d40000gn/T/pip-install-_qz2gn4n/cython_bcca0e5411dc48d18b2ead6c30b3e539/Cython/Plex/Scanners.c:8362:16: warning: 'PyUnicode_FromUnicode' is deprecated [-Wdeprecated-declarations]
              return PyUnicode_FromUnicode(NULL, 0);
                     ^
      /Users/mdp/opt/anaconda3/include/python3.9/cpython/unicodeobject.h:551:1: note: 'PyUnicode_FromUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
      ^
      /Users/mdp/opt/anaconda3/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      16 warnings and 1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cython
  Running setup.py clean for cython

pip install cython==0.29 --upgrade

Hi, what python version did you use?

had same issue but resolved by downgrading cython to 0.29 (neither 0.28 nor 0.30 will work)
pip install cython==0.29 --upgrade

Hi, @chunjy92  what python version did you use?

had same issue but resolved by downgrading cython to 0.29 (neither 0.28 nor 0.30 will work)
pip install cython==0.29 --upgrade

Hi, @chunjy92 what python version did you use?

Python 3.7.3

same ques

any upgrade here?

any upgrade here?

I can install by using cython==0.29 and python==3.8. Can't install for python>=3.9.

had same issue but resolved by downgrading cython to 0.29 (neither 0.28 nor 0.30 will work)
pip install cython==0.29 --upgrade

Thank you for the recommendation, but this is the output for installing cython 0.29:
   ...                                                        ^
      /private/var/folders/p6/1r8w12tn453fb2sybq6h72d40000gn/T/pip-install-_qz2gn4n/cython_bcca0e5411dc48d18b2ead6c30b3e539/Cython/Plex/Scanners.c:8362:16: warning: 'PyUnicode_FromUnicode' is deprecated [-Wdeprecated-declarations]
              return PyUnicode_FromUnicode(NULL, 0);
                     ^
      /Users/mdp/opt/anaconda3/include/python3.9/cpython/unicodeobject.h:551:1: note: 'PyUnicode_FromUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
      ^
      /Users/mdp/opt/anaconda3/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      16 warnings and 1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cython
  Running setup.py clean for cython
Failed to build cython
ERROR: Could not build wheels for cython, which is required to install pyproject.toml-based projects

same question

yoo any update?

yoo any update?

From my personal feeling of using this package, I think the solution is to downgrade the environment. It works for me with python3.7 and spacy 2.1


UpdatesWith

:speech_balloon: Description
...
:monocle_face: Type of change

[+] New feature (non-breaking change which adds functionality)

:clipboard: Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added unit tests that prove my fix is effective or that my feature works
[ ] Feature or fix that I was working on is in "releasable" state

This implementation is too specific, I don't think it's useful to include it as is + there are no tests for it.
Here are a couple of my suggestions:

Convert this code into example
Move it to separate repo as extension/utility for Telego (I can mention it in Telego's README if it will be useful)
Add this code as utility in telegoutil + make it more generic + add tests (I can do this myself, but not sure when)

Added example of using Ngrok in most generic way, so this is not needed any more.
https://github.com/mymmrac/telego/blob/main/examples/ngrok/main.go

Or in some other way so that the setting secretToken in FastHTTPWebhookServer affects to the SetWebhookParams and vice versa

Hmm good point, I will think about this

@mymmrac Please look https://github.com/mymmrac/telego/commit/82b3921cacd4ce58ab8aa8cf0c9fd04f804ded73#r116974092


Processing on a laptop with polars streaming API (untested on full dataset)

I've only had time (and disk space) to try this on 10 billion rows, but on my M1 Macbook (with 10 cores), I can process the 10 billion rows in 85 seconds.  As far as I can tell, the time is scaling more or less linearly with increasing size, which would put 1 trillion rows at roughly 2.5 hours. This could probably be brought down with more cores. But as far as I can tell, it makes processing the dataset viable on a single laptop.
If anyone is able to give it a try on the full dataset, please do!
import glob
import time
import polars as pl

def aggregate(df: pl.LazyFrame) -> pl.LazyFrame:
    return (
        df.group_by("station")
        .agg(pl.col("measure").min().alias("min"),
             pl.col("measure").max().alias("max"),
             pl.col("measure").mean().alias("mean"))
        .sort("station")
    )

if __name__ == "__main__":
    print("Polars config:", pl.Config.state())
    start = time.time()
    files = glob.glob("data/*.parquet")
    data = pl.scan_parquet(list(files), rechunk=True)
    query = aggregate(data)
    result = query.collect(streaming=True)
    end = time.time()
    print(f"Time: {end - start}")
    print(result)

Did you consider streaming from S3 with something like
source = "s3://bucket/*.parquet"
storage_options = {
    "aws_access_key_id": "<secret>",
    "aws_secret_access_key": "<secret>",
    "aws_region": "us-east-1",
}

data = pl.scan_parquet(source, storage_options=storage_options)

(copy/pasted from documentation: https://docs.pola.rs/py-polars/html/reference/api/polars.scan_parquet.html)
Sure, most of the time will be IO and it mainly depends on the internet connection. At least it works around your disk space issue.


swiper.js css cdn uri is out of date

https://swiperjs.com/get-started/

1b. Use Swiper from CDN
If you don't want to include Swiper files in your project, you may use it from CDN. The following files are available:

<link rel="stylesheet" href="https://unpkg.com/swiper/css/swiper.css">
<link rel="stylesheet" href="https://unpkg.com/swiper/css/swiper.min.css">

<script src="https://unpkg.com/swiper/js/swiper.js"></script>
<script src="https://unpkg.com/swiper/js/swiper.min.js"></script>

Updated in Readme with the newest version.


Machine-dependent testing in NixOS

This is an issue to think about the implementation of machine-dependent testing in NixOS.
The idea of machine-dependent test is to have tests automatically generated for a specific machine setup.
Thanks to NixOS declarative configuration, a machine setup is equivalent to its config.
So solving machine-dependent testing is solving the config <-> tests relationship.
The problem can be divided in two parts, modules and packages.

A. modules
This consist in tying configurations options to tests, examples:

if config.services.xserver.displayManager.sddm.enable == true then enable the ssdm test.
if config.services.mysql.enable == true && config.services.mysql.replication.role != "none"; then enable the mysqlReplication test.

Possible implementations:
1. Module centric
An extra module option that list enabled tests is added.
In the modules implementation, the config part, tests are added to the option if needed.
Sample implementation and module
Pros:

Keep test files clean
Can tie a module to multiple tests

Cons:

Can be broke by tests attribute path changes

2. Test centric
Tests define a Config -> Bool function, that when called with a specific config can determine if the test should be run.
Pros:

Keep module files clean
Can tie a test to multiple modules

Cons:

Can be broke by module options changes

B. Packages
Packages can have a simpler approach:

Packages meta attribute can be used to ties tests and packages
run any of the tests of config.environment.systemPackages packages

Open problems:

How to run tests for used packages that are not in config.environment.systemPackages, like packages called via ${pkgs.foo} in systemd units
How to trigger tests depending on specific package configuration options. (enableFoo arguments)

Discussion moved from #18142
cc @aszlig (feel free to edit the issue description to your liking)

I'm trying to come up with a sensible way to combine both proposed implementations once I've swapped out other stuff currently wandering around in my mind.
As for the open problems, I think those are non-issues right now because we currently don't even have a very good way to configure packages let alone even have tests depending on those specific options. Running tests for packages in systemd units should already be covered by the module-based tests and even if we still desire to do so we can still come up with a way to implement them based on pathsFromGraph or similar stuff.