First pass at Substr impl

needs toplevel docs still and idk if ci will pass fully
fixes #6

Codecov Report

Merging #12 into main will increase coverage by 0.81%.
The diff coverage is 97.26%.

@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
+ Coverage   95.53%   96.34%   +0.81%
==========================================
  Files           4        6       +2
  Lines         403      767     +364
==========================================
+ Hits          385      739     +354
- Misses         18       28      +10

Impacted Files
Coverage Δ

src/substr.rs
93.98% <93.98%> (ø)

src/arc_str.rs
93.03% <94.59%> (+0.27%)
:arrow_up:

src/impl_serde.rs
81.25% <100.00%> (+6.25%)
:arrow_up:

tests/substr.rs
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

also should do Substr::as_static since it's tedious to do substr.parent().as_static().map(|p|&p[substr.range()]) and we can skip that bounds check too.

r? @hdamron17 - this is RcStr but maintained and with less unsafe. Does it do everything you need?

 That said, i try to justify it with the fact that it also tests under:

miri
asan
msan
tsan
loom

and on

linux x86, x86_64, arm32, aarch64, mips64 (look it's the only big endian I could make cross run in CI)
windows msvc and gnu (eventually 32-bit of these maybe but I'm not really worried)
macos

and has nearly full test coverage.

Also since you mention an Rc string: note that our use of atomic increments and decrements is required for stuff like const literals to work:
const THING: ArcStr = arcstr::literal!("foobar");

But really if you have perf issues on ARM or something a) that's really surprising and b) let me know, I've done a lot of optimization work on that platform. (On x86 the atomics should be basically the same speed as Rc)

it also tests under [lots of sanitizers]

Right, that's what I meant :) The other crate has a couple basic tests of the functionality but I don't think they even run miri: https://github.com/panicbit/shared_str/blob/master/src/shared_str.rs#L123

if you have perf issues on ARM or something a) that's really surprising and b) let me know,

saltwater is not in a sufficient state of functionality to worry about performance 😆 but if I run into issues I'll let you know.

Okay, I see a few missing APIs from shared_str (well, sort of missing. we have equivalents, just awkwardly) and will try to add them later today after breakfast or whatever.

The only ones saltwater really uses are impl Deref<Target = str> and slice_with. I see you have the Deref impl, so all we'd need is slice_with I think :)

Yeah slice_with is basically ArcStr::try_substr_from but i should put that functionality on Substr too and it's easy enough to mirror the API. Not sure I like the name tbh, since it was extremely unclear to me what the hell it did

Yeah this looks like it covers everything we need for Saltwater (which like @jyn514 said is just substrings of Rc<str> with basic functionality like PartialEq).

Not sure I like the name tbh, since it was extremely unclear to me what the hell it did

Yeah I agree substr_from is much more clear.

Yeah I agree substr_from is much more clear.
Yeah, the API now is

// panic if not a substr
fn substr_from(&self, s: &str) -> Substr;
fn substr_using(&self, f: impl FnOnce(&str) -> &str) -> Substr;

// return none if not a substr
fn try_substr_from(&self, s: &str) -> Option<Substr>;
fn try_substr_using(&self, f: impl FnOnce(&str) -> &str) -> Option<Substr>;

On both ArcStr and Substr. No equivalent to the unchecked, that said the code as is does a few redundant tests although they should be correctly branch predicted. Didn't seem worth the extra unsafe, but if you see a perf. bottleneck in any of this LMK and there are low-hangling fruit.

i still need to adjust module docs and readme because they all talk about my dreams of adding a second type into this crate, but as if they were far away goals that will be impossible to meet.

Actually maybe from_substr is more consistent with how std names things? Then you'd have try_from_substr which reads a little nicer

hmmm, sure. what about the other, still substr_using?

I'd prefer using_substr for consistency, but I don't feel strongly about it.

that feels wrong. i see why you say it using_substr feels more consistent, but on its own, without comparing to from_substr, it's extremely unintuitive as to what it does or what the argument it gives you is.
it implies that it's some kind of substring, either in terms of Substr static type, or in terms of not being the whole str.
e.g. it feels like the object of the verb "using" is "substr" there where as in reality the object of that verb is the fnonce, which is the thing that we are using to produce a substr.
this actually helps me articulate my slight hesitation for from_substr and try_from_substr: in ArcStr::from_substr(&self, &str) the result is a Substr, and which feels weird...

Ahh, that makes sense - this substr is an output and not an input. Ok yeah the original names seem fine then.

i dont have the doc updates in me rn, i'm going to merge this and get them in tomorrow or something then do the 0.2.2.
i'd prefer to let it stew in my mind and maybe use in some of my code a bit via git dep. that would point out APIs which are obviously missing, as well as help catch any bugs that the testing managed to somehow dodge...
anyway a day or so ain't that bad, and really i suspect that even if you wanted to switch super urgently or w/e, it would take a bit anyway and could be done in a branch with a git dep.
anyway, will file followup for doc update and release cut after merging this.


Upgrade frontend dependencies (Part 3)

This is the final bulk upgrade. What's not up to date:
Package                      Current Wanted Latest     Package Type    URL
casperjs                     1.1.4   exotic exotic     devDependencies casperjs/casperjs
emoji-datasource-google      4.0.4   4.0.4  4.1.0      dependencies    https://github.com/iamcal/emoji-data
emoji-datasource-google-blob 3.0.0   exotic exotic     dependencies<EMAIL_ADDRESS>
emoji-datasource-twitter     4.0.4   4.0.4  4.1.0      dependencies    https://github.com/iamcal/emoji-data
mini-css-extract-plugin      0.6.0   0.6.0  0.7.0      dependencies    https://github.com/webpack-contrib/mini-css-extract-plugin
sortablejs                   1.9.0   1.9.0  1.10.0-rc1 dependencies    https://github.com/SortableJS/Sortable#readme
ts-node                      7.0.1   7.0.1  8.2.0      dependencies    https://github.com/TypeStrong/ts-node
webpack-bundle-tracker       0.3.0   0.3.0  0.4.2-beta dependencies    https://github.com/owais/webpack-bundle-tracker#readme
webpack-dev-server           3.5.1   3.5.1  3.6.0      devDependencies https://github.com/webpack/webpack-dev-server#readme

Emoji sources: I need more context into this.
mini-css-extract-plugin: Already updated to 0.6.0. 0.7.0 have some issues with our config.
ts-node: 0.8 have performance problems, we should probably wait till it supports typescript's --incremental option.
The KaTeX upgrade fixes #12472 but node tests now throws a warning No character metrics for ' ' in style 'Main-Bold'. This is a regression upstream (KaTeX#1994).

This is great, thanks @tommyip!  Can you push a version that pulls off the commits that don't work yet?  I'd like to merge something with CI passing.
For emoji, just open an issue with the emoji label for it, and mention @HarshitOnGitHub; I imagine he'll get to it when he has time again.  I don't think that upgrade is urgent.

Test passed. I pulled out the flatpickr and i18next commits which were causing casper to fail.

Awesome, lost track of this but just merged it, thanks @tommyip!  I followed https://github.com/KaTeX/katex-fonts/issues/62 since it seems to be the outstanding issue for the KaTeX warning output.
Huge thanks for doing this upgrade!  Let me know if you need any help getting any of the remaining things moving.


feat: Google docstrings Returns section can be parsed with or without multiple items

BTW, make format is failing on my machine:
❯ make format
bash: line 1: duty: command not found
make: *** [format] Error 127

The ci quality job fails just like on the main branch and make check on my machine.

Yes, that's expected until I release a new version of mkdocstrings-python that supports latest Griffe :slightly_smiling_face:

BTW, make format is failing on my machine:

Have you installed dependencies with make setup? Make you don't have an unrelated venv activated.

Thanks for the PR! I will try to review it soon.


chore: update dependencies related to security warning

Signed-off-by: Michael Bishop<EMAIL_ADDRESS>

I wasn’t sure what version to use, there’s N outstanding PR in theme for 2.6.4
That warning you are seeing is an issue with our theme not using Sass. I believe that’s been fixed in Jekyll 4 (suppressing that warning) but GitHub isn’t on 4 yet.

Got it. Good to merge, then.


Fix the Tests

And there we go!
It's about my favorite thing: Fix the Tests.
@daveismyname BTW, Dave. You really think that you need those Tests who manage to double the work of your programmers, just for fun?

@daveismyname I will continue tomorrow. It is 3AM there.
Meantime the Framework's build fail because you changed something in a example...
That's the Tests fun! :smirk:

on the other hand it alerts us to silly mistakes! I will correct.

I obviously don't get what's going on, I chanced smvc to nova in constants then you changed the testing_mysql.sql to use nova instead, the script drops the table if exists then creates the table.
Yes in the tests is failing as the table does not exist. What am I missing?

I will look into it today.
And I'm pretty sure tests help. I already saw lucky correct himself because a test failed and he saw that he made a mistake :trollface:

It was the SQLite database and there was a bug in one of the demo files that caused the tests to fail, so the tests were right, found a bug, and the table in the SQLite db wasn't changed.
I just merged a pull that fixes this.


onMessageRecieved not working when app is killed. Any solution?

Step 1: Describe your environment

Android device:  Meizu M1 Note
Android OS version: 5.1
Google Play Services version: com.google.gms:google-services:4.2.0
Firebase/Play Services SDK version:

    implementation 'com.google.firebase:firebase-core:16.0.7'
//    implementation 'com.google.firebase:firebase-iid:17.1.0'
    implementation 'com.google.firebase:firebase-messaging:17.4.0'
    implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
    implementation 'com.google.firebase:firebase-functions:16.1.3'
    implementation 'com.google.firebase:firebase-auth:16.1.0'
    implementation 'com.google.firebase:firebase-database:16.0.6'
    implementation 'com.google.firebase:firebase-crash:16.2.1'
    implementation 'com.google.firebase:firebase-storage:16.0.5'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'com.google.gms:google-services:4.2.0'

Step 2: Describe the problem:
Almost all phones are fine. But in some phone (Meizu M1 note):
onMessageRecieved not working when app is killed in some devices. It works perfect in foreground and in background. But when app is killed I don t receive notification in system tray, or call onMessageRecieved .
I send only DATA (to, data) notification. What I do wrong?
I read #4 , #89 , #86 , #368 , #365 , #337 , #205 , #96  , #20 , #4, #151 , #816 did not find the answer.
I get a strange error in logcat  W/GCM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=net.korul.hbbft (has extras) }
I made this receiver - but it did not help
<receiver
            android:name=".MyBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <category android:name="net.korul.hbbft" />
            </intent-filter>
        </receiver>

AndroidManifest contains:
        <service android:name=".services.MyFirebaseMessagingService"
                 android:permission="true"
                 ndroid:stopWithTask="false">
            <intent-filter>
                <action android:name="com.google.firebase. MESSAGING_EVENT"/>
            </intent-filter>
        </service>

MyFirebaseMessagingService - is standart from snippset
Steps to reproduce:

Minimize and swipe out your application
Send FCM notification
You can see the below log but notification doesn't trigge

Observed Results:
W/GCM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=net.korul.hbbft (has extras) }
Expected Results:
Should get the notification
Relevant Code:
I read all the branches dedicated to this issue, do not refer to them! The problem is, she is over 2 years old! Need a solution!
I also tried to send a push message with the firebase console, and it does not come - the exact same error

@KORuL thank you for reading all of those other issues.  It may very well be that Meizu has device-specific behavior changes which break FCM.  Does this happen for you on other manufacturer's devices like Samsung or Google?
@kroikie do you think there is anything different going on here versus the other issues?

This does not happen with Google and Samsung devices.
But how can I deal with those who do not come pusy? Do I have to hang in the form of service and put the battery? Or are there other ways? How to implement your own, for example, messenger if you don’t get it?

Hello,
Exactly the same behaviour on my Huawei P20 Pro + Android 9. Just I have to wait ~12 hours and app gets optimized automatically. No notifications are received after this.

I get the same problem on a Tecno Spark:

Model: K7
Android 7.0

Even worse is how, the app is in the "Recent Apps" list, but still doesn't get any push messages when it gets into Doze. Please note I'm using FCM High Priority Messages and I'm sending a data type of message.
I tried out other push notification services on the same device and I noticed one of the services, does restart it's notification listening service even when a user kills the App:
 W/ActivityManager: Scheduling restart of crashed service me.pushy.example/me.pushy.sdk.services.PushySocketService in 1000ms D/ActivityManager: AMS: *** Restart service me.pushy.example/me.pushy.sdk.services.PushySocketService D/ActivityManager: AMS: Service me.pushy.example/me.pushy.sdk.services.PushySocketService is called by self.
Q) Is it possible to have such an implementation on FCM, regardless of the device?

@EdwardQuixote just FYI the "pushy" service does not use FCM it uses its own MQTT-based push notification service so it has totally different properties.

@samtstern Thank you, I will look at this library! It’s a pity that @google @samtstern doesn’t want to do anything with an obvious BAG, which has been preventing us from developing good applications for more than 2 years!

@samtstern Yes it uses MQTT. I just thought maybe Google could give us something like it even if FCM uses different protocols.

@EdwardQuixote that's a reasonable thing to ask, I was just saying that there's no need for us to do something like "restart the service" since FCM messages are received by Google Play services and not your app itself.  When you use something like Pushy then each app is going to keep its own connection open.  So that's where the different behavior comes from. If every app on your phone had an MQTT connection open in the background your battery would be very unhappy :-)

@samtstern Why, then, Google will not fix this bug? Accepts push with google service and redirects the receiver in the application. It's good if all the push messages are handled by one service in the system, and only it keeps one connection for all. And yes, if each application opens the connection it will be bad. But what to do in this situation? Push is required when the application is closed!
I don’t like the answer of Google, from the category - we are fine on a pixel and samsung, so leave us alone! This is not an answer! Does not work on many phones!

It's bizarre. It works correctly android eight on a real device, and Android nine on a simulator, however, doesn't work on an actual device with android six unless it works on background. When the app killed by the user, doesn't receive messages.

Got the same error on Nokia TA-1000 OS 9.0 with
com.google.gms:google-services:4.2.0
com.google.firebase:firebase-messaging:17.4.0
W/GCM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg="app-pkg-name" (has extras) }

I get the same problem with:
Xiomi Mi 9

i believe this has nothing to do with FCM, it is a service at the end of the day and you need to look on how to maintain a service from being killed by the OS and you will find a lot by googling on this.

I was able to solve the problem. In our app we are displaying a splash screen (SplashActivity.java) before the app starts.
So when a push notification comes in and I tapped it it opened the app but loaded SplashActivity and not MainActivity. SplashActivity does nothing else than opening MainActivity with an Intent. The problem there was that it didn't forward the Extras from the Bundle and therefore there never was any payload in MainActivity. Forwarding the payload from SplashActivity to MainActivity solved the problem for me.
Here how it looks like:

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);

        // Forward the Payload of Push Notifications to the MainActivity here.
        if (getIntent().getExtras() != null) {
            intent.putExtras(getIntent().getExtras());
        }
        startActivity(intent);
        finish();
    }
}

I was able to solve the problem. In our app we are displaying a splash screen (SplashActivity.java) before the app starts.
So when a push notification comes in and I tapped it it opened the app but loaded SplashActivity and not MainActivity. SplashActivity does nothing else than opening MainActivity with an Intent. The problem there was that it didn't forward the Extras from the Bundle and therefore there never was any payload in MainActivity. Forwarding the payload from SplashActivity to MainActivity solved the problem for me.
Here how it looks like:

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);

        // Forward the Payload of Push Notifications to the MainActivity here.
        if (getIntent().getExtras() != null) {
            intent.putExtras(getIntent().getExtras());
        }
        startActivity(intent);
        finish();
    }
}

Not the problem

I heard that for some there is a solution with adding an application to autostart, but this requires actions from the user, maybe there is some kind of flag in the manifest?

FYI. About granting auto start permission, there is a library trying to make it for all the non-stock android phones.

Meizu M5
Android 5.1
The same problem doesn't get the message when app killed, on the emulator 5.1 all work fine

Does anyone found the solution?
I've Android device and I receive the push message only if ap is in the background but not killed.
Android 8.0.0

Is there any solution found?  issue happens in samsung galaxy mobiles too

I have the same issue. Somewhat.

Latest Firebase libraries
Happens on emulator for Android 10 (API 29 with Google APIs)
Also happens on Google Pixel 2 with Android 10
App in background = all is fine
App removed from recent apps by swiping = no push notifications
Background restriction status: not restricted
Standby bucket: active

Logcat (app kill):
2020-04-09 21:21:00.263 2036-2058/? I/ActivityManager: Killing 898:<package>/u0a135 (adj 905): remove task
…
2020-04-09 21:21:01.088 2036-6481/? I/ActivityManager: Force stopping <package> appid=10135 user=0: from pid 1129

Logcat (message delivery):
W/GCM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=<package> (has extras) }

adb shell dumpsys package <package> | grep stopped:
User 0: ceDataInode=-4294836147 installed=true hidden=false suspended=false stopped=true notLaunched=false enabled=0 instant=false virtual=false

But:
After some testing it looks like that stopped=true is only the case when I've started the app with Android Studio. If I start the app manually or using adb shell am start -n and then kill it (swipe from recents) then the state is stopped=false and push notifications work just fine!

when I am publishing message in firebase, the notification message displaying in Andriod Studio logcat. But the same notification is displayed in the emulator. I am using Andriod 9.0.
Can someone please help me with this?
I have build the messaging app in Andriod Studio.

I also can't receive notification in System Notification Bar when App is killed by swiping remove Unless the app is set to run in the background and can start automatically in the system settings （default is auto managed by System).
mobile phone : Huawei honor 20
System: Magic UI  3.1.0 (based on Android 10)

Same issue on Samsung Galaxy A5 with Android 8.0.0.
I use Data Message with custom data payload.
Method onMessageReceived (from FirebaseMessagingService) is not called if the app was removed from recent app. Looks like the app was killed in this case, so FirebaseMessagingService also was stopped.
implementation 'com.google.firebase:firebase-messaging:20.2.0'

ahhh... found this on SO - https://stackoverflow.com/questions/48642423/firebase-push-notification-issue-in-android-when-app-is-closed-killed
I tested with release build and it works for me.

There is nothing actionable in this thread related to the Android quickstart; this isn't the correct place to troubleshoot message delivery issues.


add support for additional hostnames

After merging previous attempt, I checked again and could not get it to work.
Not sure what had changed but reverted PR.
Second attempt ....

Hi @tyler36
funny enough i was working on this, too. I think i have a solution that works with multiple Domains, please see https://github.com/drud/ddev-browsersync/pull/40


Google cloud provision worker node faced error

Hi, I would like to report the issue regarding provision worker.
This is the logs after I run kubeone apply --manifest kubeone.yaml -t tf.json
INFO[18:45:42 +08] Determine hostname...
INFO[18:45:46 +08] Determine operating system...
INFO[18:45:47 +08] Running host probes...
The following actions will be taken:
Run with --verbose flag for more information.
	+ initialize control plane node "example-control-plane-1" (<IP_ADDRESS>) using 1.18.6
	+ join control plane node "example-control-plane-2" (<IP_ADDRESS>) using 1.18.6
	+ join control plane node "example-control-plane-3" (<IP_ADDRESS>) using 1.18.6
	+ ensure machinedeployment "example-pool1" with 1 replica(s) exists

Do you want to proceed (yes/no): yes

INFO[18:47:14 +08] Determine hostname...
INFO[18:47:14 +08] Determine operating system...
INFO[18:47:15 +08] Running host probes...
INFO[18:47:16 +08] Installing prerequisites...
INFO[18:47:16 +08] Creating environment file...                  node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Creating environment file...                  node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Creating environment file...                  node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Configuring proxy...                          node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Installing kubeadm...                         node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Configuring proxy...                          node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Installing kubeadm...                         node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Configuring proxy...                          node=<IP_ADDRESS> os=ubuntu
INFO[18:47:16 +08] Installing kubeadm...                         node=<IP_ADDRESS> os=ubuntu
INFO[18:48:53 +08] Generating kubeadm config file...
INFO[18:48:58 +08] Uploading config files...                     node=<IP_ADDRESS>
INFO[18:48:58 +08] Uploading config files...                     node=<IP_ADDRESS>
INFO[18:48:58 +08] Uploading config files...                     node=<IP_ADDRESS>
INFO[18:49:06 +08] Configuring certs and etcd on control plane node...
INFO[18:49:06 +08] Ensuring Certificates...                      node=<IP_ADDRESS>
INFO[18:49:08 +08] Downloading PKI...
INFO[18:49:11 +08] Creating local backup...                      node=<IP_ADDRESS>
INFO[18:49:11 +08] Uploading PKI...
INFO[18:49:25 +08] Configuring certs and etcd on consecutive control plane node...
INFO[18:49:25 +08] Ensuring Certificates...                      node=<IP_ADDRESS>
INFO[18:49:25 +08] Ensuring Certificates...                      node=<IP_ADDRESS>
INFO[18:49:27 +08] Initializing Kubernetes on leader...
INFO[18:49:27 +08] Running kubeadm...                            node=<IP_ADDRESS>
INFO[18:50:11 +08] Building Kubernetes clientset...
INFO[18:50:12 +08] Check if cluster needs any repairs...
INFO[18:50:15 +08] Joining controlplane node...
INFO[18:50:15 +08] Waiting 15s to ensure main control plane components are up...  node=<IP_ADDRESS>
INFO[18:50:30 +08] Joining control plane node                    node=<IP_ADDRESS>
INFO[18:51:15 +08] Waiting 15s to ensure main control plane components are up...  node=<IP_ADDRESS>
INFO[18:51:30 +08] Joining control plane node                    node=<IP_ADDRESS>
INFO[18:52:03 +08] Restarting unhealthy API servers if needed...
INFO[18:52:05 +08] Patching static pods...
INFO[18:52:05 +08] Patching static pods...
INFO[18:52:05 +08] Patching static pods...
INFO[18:52:08 +08] Downloading kubeconfig...
INFO[18:52:09 +08] Downloading PKI...
INFO[18:52:11 +08] Creating local backup...                      node=<IP_ADDRESS>
INFO[18:52:11 +08] Ensure node local DNS cache...
INFO[18:52:14 +08] Activating additional features...
INFO[18:52:22 +08] Creating credentials secret...
INFO[18:52:26 +08] Installing machine-controller...
INFO[18:52:34 +08] Waiting for machine-controller to come up...
INFO[18:53:35 +08] Creating worker machines...
WARN[18:53:37 +08] Task failed, error was: failed to deploy Machines: failed to ensure MachineDeployment: failed to create *v1alpha1.MachineDeployment: admission webhook "machinedeployments.machine-controller.kubermatic.io" denied the request: validation failed: An error of type = InvalidConfiguration, with message = Failed to parse MachineSpec: cannot prepare JWT: failed unmarshalling service account: invalid character '/' looking for beginning of value occurred
WARN[18:53:42 +08] Retrying task...
INFO[18:53:42 +08] Creating worker machines...
WARN[18:53:42 +08] Task failed, error was: failed to deploy Machines: failed to ensure MachineDeployment: failed to create *v1alpha1.MachineDeployment: admission webhook "machinedeployments.machine-controller.kubermatic.io" denied the request: validation failed: An error of type = InvalidConfiguration, with message = Failed to parse MachineSpec: cannot prepare JWT: failed unmarshalling service account: invalid character '/' looking for beginning of value occurred
WARN[18:53:52 +08] Retrying task...
INFO[18:53:52 +08] Creating worker machines...
WARN[18:53:52 +08] Task failed, error was: failed to deploy Machines: failed to ensure MachineDeployment: failed to create *v1alpha1.MachineDeployment: admission webhook "machinedeployments.machine-controller.kubermatic.io" denied the request: validation failed: An error of type = InvalidConfiguration, with message = Failed to parse MachineSpec: cannot prepare JWT: failed unmarshalling service account: invalid character '/' looking for beginning of value occurred

After that, I use kubectl get nodes and I got success result for master but not for worker. Please help!
NAME                     STATUS   ROLES    AGE   VERSION
pawfoo-control-plane-1   Ready    master   15m   v1.18.6
pawfoo-control-plane-2   Ready    master   14m   v1.18.6
pawfoo-control-plane-3   Ready    master   13m   v1.18.6

The error message tell me failed on MachineSpec: cannot prepare JWT: because failed on parsing the service account . I have checked the tf.json do not include service account value too.
I would really appreciate any information on how to solve this issue.
Deployed by KubeOne: 1.3.0


Intercepted requests won't return with some status codes

In Puppeteer 1.16.0 and 1.15.0, trying to make a fake response with the interceptor will not behave properly with some status codes (e.g. 422)
Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.16.0
Platform / OS version: Linux
URLs (if applicable):
Node.js version: 10.15.3

What steps will reproduce the problem?
Having the following webpage being served at http://localhost:3000/requests.html:
<html>

<body>
    <button class="btn" onclick="doRequest()">click me</button>
    <script>
        function doRequest() {
            fetch("/api").then((res) => {
                console.log("AFTER REQUEST", res.status)
            }).catch((err)=>{
                console.log("ERR",err)
            })
        }
    </script>
</body>
</html>

And the following code with puppeteer:
const puppeteer=require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setRequestInterception(true);
  page.on("console", (log)=>{
    console.log(log.text());
  });

  page.on('request', interceptedRequest => {
      console.log(interceptedRequest.url());
      if(interceptedRequest.url().endsWith('/api')){
          interceptedRequest.respond({
              status: 422,
              body: "FAKE"
          })
      } else interceptedRequest.continue();
    });
  await page.goto('http://localhost:3000/requests.html');
  await page.waitFor(".btn");
  await page.click(".btn")
  setTimeout(()=>{
      browser.close();

  },300);
})();

What is the expected result?
The following log should appear
http://localhost:3000/requests.html
http://localhost:3000/api
Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)
AFTER REQUEST 422

(behaves as expected with Puppeteer 1.14.0)
What happens instead?
The request is never completed:
http://localhost:3000/requests.html
http://localhost:3000/api

If changing the status code to 400 the request behaves as expected:
http://localhost:3000/requests.html
http://localhost:3000/api
Failed to load resource: the server responded with a status of 400 (Bad Request)
AFTER REQUEST 400

This appear to be happening with status codes from 421 to 451
The same behavior seems to be happening with non-valid status codes (e.g. 309). All this cases are working as expected on 1.14.0

@angrykoala sorry for this regression. This happens because we don't have default status codes for non-standard HTTP status codes.
When #4554 lands, you'll be able specify both status and statusText, and things will work as expected.
interceptedRequest.respond({
  status: 422,
  statusText: 'fake',
  body: "FAKE"
})

In which Puppeteer version is this expected to be released?

@angrykoala 1.18 - it'll be on June, 21st


Update to 0.12

The update the dfx 0.12 based on this  https://github.com/dfinity/sdk/blob/master/docs/migration/dfx-0.12.0-migration-guide.md
Implies the dfx port is now by default on port 4943 but I can't find a way to set the port.
Ping http://localhost:8000/. should go to 4943 now.

If you use the latest ic-repl, the default port is already 4943. If you want to specify other replica URL, you can use ic-repl -r http://localhost:8080 or ic-repl -r ic to point to the main net.

my god, I feel stupid, I looked for this change a lot but didn't see it, thank you very much


update dumpster script

Issue:
Describe what the issue is you are addressing
Update the script to use ExchangeOnlineManagement V3
Add new function
Modify the code for ValidatePublicFolderIssue function
Fix some code mistakes
Reason:
Describe what the reason is for making the change
Update the script to use ExchangeOnlineManagement V3
Add new function
Modify the code for ValidatePublicFolderIssue function
Fix some code mistakes
Fix:
Short description of the fix
Validation:
Provide if applicable

@hazemembaby the build pipeline failed due to spelling errors. Please run .\SpellCheck.ps1 in the .build directory prior to trying to submit a PR. I noticed a lot of random changes as well, make sure you are using the most recent changes of the repo and are not going backwards.

Yes I've refurbished the script code but it's still doing the same function, before adding the PR I've forked the repository then cloned it on my side, in regard to spell check script am trying to run it but it's giving me below error even if I've installed the msi for Node.js any idea?

You might need to open a new PowerShell session to get node to work, or maybe even reboot the computer as it has been awhile.

You might need to open a new PowerShell session to get node to work, or maybe even reboot the computer as it has been awhile.

Thanks for the advice finally it worked but it shared around 6 words require a FIX which I had done pending commit while the others are Unknown word which I can't change as it'll affect the scrip[t as these are variables or function names is that mandatory to change these Unknown words?

You might need to open a new PowerShell session to get node to work, or maybe even reboot the computer as it has been awhile.

Thanks for the advice finally it worked but it shared around 6 words require a FIX which I had done pending commit while the others are Unknown word which I can't change as it'll affect the scrip[t as these are variables or function names is that mandatory to change these Unknown words?

Correct you need to fix those. The variables can be multiple words together, but they need to be using either camelCase or PascalCase.
Example:
Affecteduser -> AffectedUser logerror -> LogError or logError

I've fixed all unknown words & did a commit with changes.

@hazemembaby you need to push the changes still.

Changes pushed.

Hello @dpaulson45 Is there any change pending on myside now?


Implementing (protobuf messaging) Pricing Service to query for pricin…

…g info plus protobuf metadata

Hello Daniel,
please review my PR containing pricing functionality (pricing discovery + persistence + querying) and processing of first cloud service provider - AWS.
Thanks,
ŁSz


[FEATURE REQ]Composite Key azure cosmos java

@Data
@Container(containerName = "tag")
@ToString
@EqualsAndHashCode
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@NoArgsConstructor
@AllArgsConstructor
public class Tag {
@Id
private String tagName;
@Id
private String domainName;
@PartitionKey
private String countryDcOrgUnit;
}
I need to create container with name tag having tagName and domainName as unique combination.... but after running this i am getting error .. only one field with @Id annotation!
how to crate container with composite key as primary key

@deepak9764  thanks for creating this issue, I am investigating it.

@deepak9764  - I think you can use the feature of Nested Partition Key Path in azure-spring-data-cosmos to solve the unique key problem in spring - https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-spring-data-cosmos/README.md#nested-partition-key-support
Please read here for more details on Unique key -> https://docs.microsoft.com/en-us/azure/cosmos-db/unique-keys
https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-define-unique-keys?tabs=dotnetv2

Please read here for more details on Unique key -> https://docs.microsoft.com/en-us/azure/cosmos-db/unique-keys
i want to create unique path as mentioned in above path DocumentCollection container = new DocumentCollection();
container.setId("container");
// create array of strings and populate them with the unique key paths
Collection uniqueKey1Paths = new ArrayList();
uniqueKey1Paths.add("/firstName");
uniqueKey1Paths.add("/lastName");
uniqueKey1Paths.add("/emailAddress");
Collection uniqueKey2Paths = new ArrayList();
uniqueKey2Paths.add("/address/zipCode");
// create UniqueKey objects and set their paths
UniqueKey uniqueKey1 = new UniqueKey();
UniqueKey uniqueKey2 = new UniqueKey();
uniqueKey1.setPaths(uniqueKey1Paths);
uniqueKey2.setPaths(uniqueKey2Paths);
// create a new UniqueKeyPolicy object and set its unique keys
UniqueKeyPolicy uniqueKeyPolicy = new UniqueKeyPolicy();
Collection uniqueKeys = new ArrayList();
uniqueKeys.add(uniqueKey1);
uniqueKeys.add(uniqueKey2);
uniqueKeyPolicy.setUniqueKeys(uniqueKeys);
// set the unique key policy
container.setUniqueKeyPolicy(uniqueKeyPolicy);
using annotation

I want to create unique key path for tagName and domainName using annotation
@Data
@Container(containerName = "emptyTag")
@ToString
@EqualsAndHashCode
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@NoArgsConstructor
@AllArgsConstructor
public class Tag {
@Id
@GeneratedValue
private String id;
private String tagName;
private String domainName;
@PartitionKey
private String countryDcOrgUnit;
}

@deepak9764  - that's what this example shows - https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-spring-data-cosmos/README.md#nested-partition-key-support
If you see here, this line is doing the trick -> partitionKeyPath
@Container(containerName = "nested-partition-key", partitionKeyPath = "/nestedEntitySample/nestedPartitionKey")
public class NestedPartitionKeyEntitySample {

    private NestedEntitySample nestedEntitySample;
}
public class NestedEntitySample {
    private String nestedPartitionKey;
}

@deepak9764 Please let us know if this resolves your issue.

This feature  is for partitionKey! I already have partitionKey
It doesn’t resolve my problem.
On Tue, 15 Feb 2022 at 12:53 AM, SaurabhSharma-MSFT <
@.***> wrote:

@deepak9764 https://github.com/deepak9764 Please let us know if this
resolves your issue.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-java/issues/26926#issuecomment-1039464777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACIBLBROVJM6Y6BRP6KKSHTU3FJCLANCNFSM5N3FMTPA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@deepak9764  - to clarify -> you have 2 questions in your original post:
I need to create container with name tag having tagName and domainName as unique combination.... but after running this i am getting error .. only one field with @id annotation!

how to crate container with composite key as primary key

To create unique key, above is the solution, are you referring to just the container name question?

@deepak9764 Did you get a chance to look at @kushagraThapar's suggestion.

Ok thanks :)


Create / edit tricks

Create administration panel to create and edit tricks
Estimated time: 5h

Created branch: "admin_tricks"

Done in 6 hours


Fix/agent list sometimes not loading for drag-and-drop

Problem
Closes #274
Solution
Instead of automatically rendering a NoTypeMappingText component ("Unabled to load UI controls") every time an error message is received from the viewer (e.g., when a geometry file can't be found), only render it if a list of agents (type mappings) doesn't exist in the data.
The CheckBoxTree component does its own check to see if the array for populating the agent list is empty and displays the NoTypeMappingText component if empty.
Type of change
Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)

Steps to Verify:

npm start on the main branch, throttle your browser to "Fast 3G" and try to reproduce the bug described in the issue. You should see the bug.
Pull this branch
Make sure your browser is still throttled and try to reproduce the bug. The agent list should show up now and the "Unable to load UI controls" message shouldn't ever flash in the left panel.

I think this fix might actually be robust enough to keep permanently and not just as a quick-and-dirty fix until we send up different levels of errors from the viewer, but I'm not positive 🤔


Ensure shipping values are added to the order XML

Apologies if this is messy even if it is small - it's my first pull request.
The original code did not record the shipping values in the order XML. It would record the shipping values if the "customerIsShipping" param was supplied but in this case it would use the customer params instead.
I've added:

Another clause to allow for the shipping values to be recorded;
Wrapped both clauses in another clause to ensure that it is only carried out for CustomerDataType.Shipping

Yes, just realised this is incorrect.


basic-html-and-html5.json: Clarified radio buttons

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[ ] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #XXXX

Description

I clarified the description of when radio buttons are useful :-).

@erictleung I will; thanks!


IO on Windows

The IOstream handle for the VLSV file requires some special attention. In the current implementation, once the meta data is read, the file stays open until one explictly says close(meta.fid). On the Windows platform, it is not allowed to delete the file before the IO is closed. However, this is allowed in Unix, so be careful.

I guess this may be related to how garbage collector of Julia works on different operating systems. On Unix operating systems GC happens to work properly for IO stream, while on Windows it doesn't.
However, from programmer's perspective, being safe about not causing any memory leak cannot be wrong.
See the discussions in IO and Garbage Collector.


Implement ExternalInit Proposal

https://messaginglayersecurity.rocks/mls-protocol/draft-ietf-mls-protocol.html#section-11.1.6
An ExternalInit proposal is used by new members that want to join a group by using an external commit. This proposal can only be used in that context.
struct {
  opaque kem_output<0..2^16-1>;
} ExternalInit;

A member of the group applies an ExternalInit message by initializing the next epoch using an init secret computed as described in Section 8.1. The kem_output field contains the required KEM output.

I already made some progress (#488), but stopped to wait for the validation work. I could take up the work again now, but at this point, it might be worth waiting for the tree rewrite.


small typo on source code comment

Should be implement
https://github.com/codeschool-projects/CodeBreakerProject/blob/master/src/assets/main.js#L9

Corrected


CRINGEEEEEE!!


Update data-factory-create-data-factories-programmatically.md

Added missing word to # 12

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@joelhulen : Thanks for your contribution to the Azure documentation! The author, @spelluru, has been notified to review your proposed change.

@joelhulen - Thanks for fixing the error. We really appreciate it.
#sign-off


Autoloading issues

Hello again!
I'm having some issues with the autoloading. Primarily when deploying the code.
I like to put my related tests inside my domains (a command for generating tests would be great by the way), but that generates problems with the autoloading. The tests are only autoloaded when composer includes dev dependencies. But since theddd:cache command touches all files in the domain directory, this generates problems because the base test case is not autoloaded and thus I get this error: Class "Tests\TestCase" not found when running ddd:cache.
I created a repo where I demonstrate this problem here: https://github.com/pelmered/laravel-test-ddd
Just clone, run composer install --no-dev and then run ddd:cache to reproduce the problem.
I have also had problems with some other things, for example the migrations from babenkoivan/elastic-migrations. That package creates migrations with the same file format as the default Laravel migrations, but they also include a class name so they are not PSR autoload compliant. Here is how they look. When autoloading or  running ddd:cache these files are included several times and therefore gives this kind of error: Cannot declare class CreateUsersIndex, because the name is already in use. I created a PR there to use anonymous classes, just like Laravels migrations, here.
As you can see, this is a general problem that probably needs to be addressed in this package in some way.
What do you think is the best way forward? Let me know if I can be of assistance.
Other than this, I'm happy to report that it worked very well in our application and that the transition was very smooth to start using the autoload provided in this package.

Hello again!
I'm having some issues with the autoloading. Primarily when deploying the code.
I like to put my related tests inside my domains (a command for generating tests would be great by the way), but that generates problems with the autoloading. The tests are only autoloaded when composer includes dev dependencies. But since theddd:cache command touches all files in the domain directory, this generates problems because the base test case is not autoloaded and thus I get this error: Class "Tests\TestCase" not found when running ddd:cache.
I created a repo where I demonstrate this problem here: https://github.com/pelmered/laravel-test-ddd Just clone, run composer install --no-dev and then run ddd:cache to reproduce the problem.

Ah, so is it a matter where ddd autoloading should be ignoring the test directory if there is one? And therefore be able to configure a designated domain test folder to ignore. Or more generally, maybe a configurable ddd.autoload.ignore.

I have also had problems with some other things, for example the migrations from babenkoivan/elastic-migrations. That package creates migrations with the same file format as the default Laravel migrations, but they also include a class name so they are not PSR autoload compliant. Here is how they look. When autoloading or running ddd:cache these files are included several times and therefore gives this kind of error: Cannot declare class CreateUsersIndex, because the name is already in use. I created a PR there to use anonymous classes, just like Laravels migrations, here.
As you can see, this is a general problem that probably needs to be addressed in this package in some way. What do you think is the best way forward? Let me know if I can be of assistance.

I see, I remember this kind of behaviour back when Laravel wasn't using anonymous classes yet for migrations. That being said, are you generating migrations inside the domain layer then, hence why it gets picked up by ddd:cache?

Other than this, I'm happy to report that it worked very well in our application and that the transition was very smooth to start using the autoload provided in this package.

Ah, so is it a matter where ddd autoloading should be ignoring the test directory if there is one? And therefore be able to configure a designated domain test folder to ignore. Or more generally, maybe a configurable ddd.autoload.ignore.

Yes, some kind of general solution like an configurable ignore would be great. An array with paths inside each Domain(relative to domain root) that should be ignored would work. Something like this:
'ignore' => [
    'Tests',
    'Database/ElasticMigrations',
    'Any/Other/Folder/To/Ignore',
],

I did not see any support for this in Lody, but it should be possible to do this with a custom finder filter.

I see, I remember this kind of behaviour back when Laravel wasn't using anonymous classes yet for migrations. That being said, are you generating migrations inside the domain layer then, hence why it gets picked up by ddd:cache?

Yes, I like to put migrations, factories and seeders inside the domain they belong to. The ignore could be used to solve this as well 👍

I wonder if ddd:migration and ddd:test should be added at some point. In your case, you're generating domain migrations by way of the elastic-migrations package, I take it?
Being able to bundle in tests and migrations would make the domain fully portable and copy-paste-able from one app to another at that point.

I wonder if ddd:migration and ddd:test should be added at some point.

That would be great.
Even better of you could also add the flags for generating factories, migrations, tests, policies etc. to the ddd:model command. Like the default make:model command has. That was a function I missed yesterday when I made my first model using this package.

In your case, you're only generating domain migrations by way of the elastic-migrations package, I take it?

Yes, that package provides an elastic:make:migration command that I use.

Being able to bundle in tests and migrations would make the domain fully portable and copy-paste-able from one app to another at that point.

I'm working on a product company with a single Laravel project so that is not my primary reason, but if you are working with multiple projects I could imagine that would be would be very handy.

Yeah, the portable-domain scenario is well suited for those who build multiple apps for various clients (such as me).
I will work on these updates over the weekend.

Yeah, the portable-domain scenario is well suited for those who build multiple apps for various clients (such as me).
I will work on these updates over the weekend.

Great, thanks a lot!
I was able to filter out the tests using this code:
        return Lody::classesFromFinder(
            Finder::create()
                  ->files()
                  ->in($paths)
                  ->filter(function ($file) {
                      if (Str::startsWith(strstr($file->getRelativePathname(), '/'), '/Tests/')) {
                          return false;
                      }
                  }))
            ->isNotAbstract()
            ->isInstanceOf(Command::class)
            ->toArray();

So, something like that would work.
Another idea that I think would be great is support for something like this to provide your own filter callback like this in your service provider:
DDD::filterPathUsing(function ($file) {
    // Your custom callback
});

Then you could implement your own logic for this and not just and array of simple startsWith strings.

I created a repo where I demonstrate this problem here: https://github.com/pelmered/laravel-test-ddd
Just clone, run composer install --no-dev and then run ddd:cache to reproduce the problem.

I cloned the repo and ran composer install --no-dev, which yielded the following:

Everything works if I do a composer install without --no-dev, but then ddd:cache works and doesn't produce any error. What am I missing?

...however, I was able to simulate and reproduce it within the package tests, so I'll be able to move forward without the reproduction repo.


A proper favicon

Tips here: https://adamj.eu/tech/2022/01/18/how-to-add-a-favicon-to-your-django-site/ - I think a PNG served at /favicon.ico is the best option, since safari doesn't support SVG yet.
Relevant code: https://github.com/simonw/datasette/blob/cb29119db9115b1f40de2fb45263ed77e3bfbb3e/datasette/app.py#L182-L183
I can reuse the icon for https://datasette.io/desktop

I'd like this to be customizable. I'm going to load it from the template loading system such that a custom favicon for a specific instance can be dropped in using a file in templates/.

I don't think abusing the template loader mechanism for this will work: Jinja provides an API for loading text templates, but I don't think it can be sensibly abused to open binary image files instead. Loaded code is here: https://github.com/pallets/jinja/blob/main/src/jinja2/loaders.py

For the moment then I will hard-code a new favicon and leave it to ASGI plugins if people want to define their own.

Also people can use a custom base template and link to a custom favicon if they want to.

This one is 101KB and 1536*1536 which is a bit big! https://github.com/simonw/datasette-app/blob/main/build/icon.png

https://adamj.eu/tech/2022/01/18/how-to-add-a-favicon-to-your-django-site/ suggests 64x64, I'm going with 128x128 just in case anyone invents a retina-retina screen.

Here's the 128x128 one - 11kb, I resized it using Preview:

Now running it through Squoosh using OxiPNG effort=3 colours=24 - brought it down to 1.36KB.

I'm going to drop it in datasette/static/favicon.png and rewrite the async def favicon() function to return it, with caching headers.

Here's what it looks like in Firefox, Chrome and Safari:

I'm not crazy about the look - I think this version of the grid may have too many lines for this particular display size.
I'm going to try reducing the number of lines in Figma to see if I like that better.

My attempt with one less grid line looked awful!

File here:

I'm going with the first attempt for the moment.

The new /favicon.ico view: https://github.com/simonw/datasette/blob/0467723ee57c2cbc0f02daa47cef632dd4651df0/datasette/app.py#L182-L192

New favicon now live on https://latest.datasette.io/ - see also https://latest.datasette.io/favicon.ico

Oops, I pushed the one I liked least out of the two options! Fixing now.

 I decided to do a 32x32 pixel version in Pixelmator, using this trick to access a pixel brush: https://osxdaily.com/2016/11/17/enable-pixel-brush-pixelmator-mac/

Frustrating how the white boxes are all exactly four pixels high and ALMOST all four pixels wide, but one of them has to be three pixels wide to fit the space.

Here's a comparison between my hand-edited version and the one I have now:

The new 32x32 image:

Resized it down to 208 bytes with https://squoosh.app

Wrote up a TIL: https://til.simonwillison.net/pixelmator/pixel-editing-favicon


Avoid loading image into memory too much when creating multiple renditions

This puts the image on disk, and then lets each thread read their own version from there. This prevents needing to pass a copy around between threads, and only requires loading the file in as willow requires, rather than in advanced ourselves.

Discussed it is worth getting some memory profiling data on this

After profiling, I'm not convinced this makes a noticeable difference. Download the image and saving it to the filesystem adds extra delay, and since Willow opens the image directly anyway, we don't save any memory. In fact, using the same buffer could save us small amounts of memory. Profiling with memray resulted in identical memory usage (down to 10th of MB).


Get historical data

I'd like to get historical data for BTCUSD, ETHUSD etc
Whats the best way to get historical data(about 1y, 2yr) for the following pairs?

There is a function for that. Check  getProductHistoricRates. For example
publicClient.getProductHistoricRates('BTC-USD', {
  granularity: 3600,
  start : '2017-09-19T18:22:05.068932Z',
  end: '2017-10-01T12:47:25.253Z' }, callback);

Thanks


Add asserts when making glyphs in skia scaler cache

https://linear.app/replay/issue/RUN-488/add-asserts-when-making-glyphs-in-skia-scaler-cache

Merging without review, this seems to have gone under the radar and it's just adding some asserts.


GitHub shows "Cookies must be enabled to use GitHub." after Log in

Sing in in GitHub always shows 404 page in WebApps

If I restart the sandbox then it shows "Cookies must be enabled to use GitHub."

Help 😞

Yea I see this problem and I don't know how to fix it. GitHub used work fine but not any more.


Ability to customize Select List when using QueryByIdAsync()

This is really just a consolidation of issues #171 #174 #179.
We need the ability to customize what goes into the SELECT list for the SOQL query for ForceClient.QueryByIdAsync().

Created pull request which should resolve this - https://github.com/developerforce/Force.com-Toolkit-for-NET/pull/210

Merged https://github.com/developerforce/Force.com-Toolkit-for-NET/pull/210. Thanks.


Added platform specific command calls.

Works fine on Windows. Haven't checked on OS X or Linux. Default return is the OS X command.
Added test, but can't find a way to mock the call to os.platform for it to return something else no matter the platform....

That was not meant to be put on this repo (mostly for myself for now). I'll submit and issue and a PR when I think it's worth checking/merging


[AutoPR] cognitiveservices/data-plane/AnomalyDetector

Created to accumulate context: cognitiveservices/data-plane/AnomalyDetector

(message created by the CI based on PR content)


Grunt support and new beta build

I just merged my push request on beta has 1.0.18-beta.
Detailed features:

UMD support for easyrtc
build via gunt+ requirejs (uglify later)
lint (css/html/js) via grunt+csslint+jshint htmlhint
basic unit test env for api via grunt+karma+jasmine
generated doc via grunt+jsdoc
deprecated message on previous build scripts

@EricDavies Can you test the new beta branch on your side to start to see if there is issue or breaking changes.

@hthetiot, I will test.

@EricDavies Closing because I think we used it both of us.
Let re-open only of regression append.


TS errors thrown since vue version 3.2.46

When using the latest vue-tsc release with vue in version 3.2.46 or 3.2.47 typescript errors are thrown.
It seems to concern for example methods in templates:
component.vue 8:21 - error TS2349: This expression is not callable.
  Type 'never' has no call signatures.

8         @touchmove="drag($event)"

Thanks for the report, but please provide a minimal reproduction, so that I can check it.


Parsing completely invalid input results in OOM failure

Description
Attempting to parse completely invalid input results in OOM crash as parser eats all my memory
Steps to reproduce
Trying to parse nonsense input:
    let parser = Parser::new("dtzt7777777777t7777777777z7");
    let ast = parser.parse();
    assert!(!ast.errors().is_empty());

Expected result
This should fail as follows:
    let parser = Parser::new("dtzt7777777777t7777777777z7");
    let ast = parser.parse();
    assert!(!ast.errors().is_empty());

Actual result
loops indefinitely until system runs out of memory.
Environment

Operating system and version: ubuntu 20.04
Shell (bash/zsh/powershell): bash
apollo-rs crate: github source main branch, commit: 14bb84337a8bacd5cd27d7d7df429936f104b63b
Crate version: source

Triage
I did some digging and I think the fix is something like this:
diff --git a/crates/apollo-parser/src/parser/grammar/document.rs b/crates/apollo-parser/src/parser/grammar/document.rs
index 6f32238..3623fd7 100644
--- a/crates/apollo-parser/src/parser/grammar/document.rs
+++ b/crates/apollo-parser/src/parser/grammar/document.rs
@@ -29,6 +29,9 @@ pub(crate) fn document(p: &mut Parser) {
             }
             _ => break,
         }
+        if !p.errors.is_empty() {
+            break;
+        }
     }

     doc.finish_node();

The problem is caused by the fact that the document() fn keeps getting the same node and doesn't react to the fact that the select_definition() fn has reported an error. It might also be a good idea to check that p.errors.is_empty() before starting to loop.

Ah! Good catch @garypen, thanks!
What was happening is that our parser's error creation did not consume the current token that had the error, leading to there always being a token to parse. I've fixed this in #105.
We cannot run p.errors.is_empty, as a design goal for the parser is to be error resilient, i.e. continue parsing even if errors are encountered. We return the AST alongside an error vector if there are any errors.


Windows.Storage.BulkAccess.FileInformationFactory.GetVirtualized* functions do not work with WinUI3

Describe the bug
The following functions
FileInformationFactory.GetVirtualizedItems
FileInformationFactory.GetVirtualizedFilesVector
FileInformationFactory.GetVirtualizedFoldersVector
do not work in WinUI3 (Desktop)
Steps to reproduce the bug
Trying to bind the returned result to a WinUI 3 control results in an exception. See attached simple app source code to repro the issue
Bug Repro.zip
Expected behavior
The API's should work as they do under UWP
Screenshots

No response
NuGet package version
WinUI 3 - Windows App SDK 1.2.0
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

This is probably because these methods return objects implementing interfaces in UWP XAML and not WinUI 3. You could workaround it by creating a wrapper that implements the WinUI 3 interfaces.

@Jaiganeshkumaran Thanks. Can you point me to some source code to achieve this ? This does not look trivial to me since I need it in C++

Narrowed down the issue further. FileInformationFactory is not the issue. Hence closing this.
See https://github.com/microsoft/microsoft-ui-xaml/issues/7927

Reopening as this is still an issue. I was confused as there are multiple issues here especially when using C++/WinRT.  The API provided by MS does not work with WinUI 3 controls.


Kill chrome driver before running a test

Running a test with the local chrome driver will fail when the previous test is interrupted.
To make the test process more stable, first kill the chrome driver before running the test.

Solved in commit 0f13b38a360107459bd57d155634675e73a12528 in slightly different way.
Each instance of the driver will get an unique process name, this way it's possible to start multiple instances of the Chrome Driver.


Make publisher.track() and publisher.add() return instantly

At the moment, if connections to ably are slow, they block publisher.track() and publisher.add() until various timeouts have happened, preventing control from returning to the caller.
To fix this, we should add the trackable to the publisher immediately and return control to the caller - allowing the ably connection startup to happen in the background.
Would involve something like:

Moving the publisher manipulation steps in ConnectionReadyWorker to AddTrackableWorker
Call the success callback in AddTrackableWorker once the trackable has been created

Note this code has now been moved into Ably.kt, but remains the same principle.


Improve Flexvolume Deployment

Feature Description

One-line feature description (can be used as a release note): Provides a way to deploy Flexvolume drivers using DaemonSet, and allows drivers to be discovered automatically on the fly, rather than only at kubelet or controller manager initialization.
Primary contact (assignee): @verult
Responsible SIGs: @kubernetes/sig-storage-feature-requests
Design proposal link (community repo): https://github.com/kubernetes/community/pull/833
Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @bassam @chakri-nelluri @kokhang @liggitt @thockin
Approver (likely from SIG/area to which feature belongs): @jsafrane @saad-ali
Feature target (which target equals to which milestone):

Alpha release target (x.y): 1.8

@verult any progress for 1.8?
If yes, please, update the features tracking board with the relevant data.

This feature is now complete. Will update the tracking board. Thanks!
Dynamic plugin discovery implementation: https://github.com/kubernetes/kubernetes/pull/50031
Dynamic plugin discovery design doc and recommended Flexvolume deployment method: https://github.com/kubernetes/community/pull/833

@verult any update on missing docs?  PR is due today

Awaiting doc writer approval: https://github.com/kubernetes/kubernetes.github.io/pull/5492

Merged!


Hide more private methods from the docs.

Overview: What does this pull request change?
Made many methods private by prefixing them with _. Especially those annotated with "Used Internally". Where applicable, public methods were moved to go after private methods. (Also wrote docs for _pointify 🤷).
Files affected:

text_mobject.py
tex_mobject.py
code_mobject.py
svg_mobject.py
geometry.py
matrix.py
numbers.py
three_dimensions.py

Also, removed SVGPathMobject from __init__.py to stop it from being imported by default since I couldn't think of a situation where it would be used outside of svg_mobject.py.
The criteria for making a method private was: "Would it make sense for someone to use this?". And in most cases it was pretty clear. In the case of ambiguity I just opted to leave it in.

Motivation and Explanation: Why and how do your changes improve the library?
While working on #2467, I noticed that there were many methods with "Used Internally" in their docstrings. To not clutter that PR, I decided to remove them in a separate one. I then began removing these methods from the rest of the library in the files that I was familiar with. I didn't touch vmobject.py/mobject.py even though they had some low hanging fruit via generate_points, since these would be undergoing big changes through the refactor.
Makes the docs much easier to read and parse.

Links to added or changed documentation pages

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

I really like this, and wish we had done it more. When looking through the docs I commonly find the internal methods for things and not what I'm actually looking for.

Hmm, just realized that I only removed svg_path from the __init__.py, not the docs. I'll fix that soon


Adding bead <j:HorizontalCenteredLayout/> break child vertical position (attached file to reproduce)

Hi,
When adding <j:HorizontalCenteredLayout/> in a Group then vertical position of childs elements is broken like if the y origin position is the half of the child's height and not the top.
issue on SDK  0.9.4 and 0.9.6 tested on Chrome Version 77.0.3865.90 (Build officiel) (64 bits)
Expected result would be that y position of childs don't change when adding HorizontalCenteredLayout
Main.txt
With HorizontalCenteredLayout

Without HorizontalCenteredLayout

Regards

Hi,
you're mixing Basic and Jewel components and that can generate unwanted or unexpected results.
Here the main problem is that Js:View (Basic View) is adding some styles on its own while that doesn't play well with Jewel Group.
Here's a version with all changed to Jewel
<j:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:js="library://ns.apache.org/royale/basic"
               xmlns:j="library://ns.apache.org/royale/jewel" >

    <j:valuesImpl>
        <js:SimpleCSSValuesImpl />
    </j:valuesImpl>

    <j:beads>
        <js:ApplicationDataBinding />
    </j:beads>

    <j:initialView>
        <j:View>
            <j:Group>
                <j:beads>
                    <j:HorizontalCenteredLayout gap="3"/>
                </j:beads>

                <j:Button width="100" height="100" text="B1" emphasis="primary"/>
                <j:Button width="50" height="150" text="B2" emphasis="secondary"/>
                <j:Button width="120" height="70" text="B3" emphasis="emphasized"/>
            </j:Group>
        </j:View>
    </j:initialView>
</j:Application>

The example produce this:


Fix ex4.py

Ex4 depends on Comsol import. This functionality was removed so the example does not work.

Would it be better here to replace the .mphtxt files with meshes in another format that skfem.Mesh.load, i.e. meshio.read, already knows or to teach the latter the format?

I briefly considered the possibility of improving meshio, but I think in
the scope of this issue just creating the same or similar meshes
differently is sufficient.
On Tue, Jul 10, 2018, 2:51 AM Geordie McBain<EMAIL_ADDRESS>wrote:

Would it be better here to replace the .mphtxt files with meshes in
another format that skfem.Mesh.load, i.e. meshio.read, already knows or
to teach the latter the format?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kinnala/scikit-fem/issues/18#issuecomment-403654799,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7Z1LMuqVzlv6ci0CDtArTSVqSL_TEmks5uE-w9gaJpZM4VHX5b
.

I fixed this in 9016545b9022ec7becacdbf895971dbc1daa105f while I was at it.


consider putting widget components in different place than non-widget components

I think this is a good idea.
Since we have treated Vue components and widgets as completely interchangable there will be eventually be a distinction (even if they are still just Vue components). It will also make it clear to understand what is a widget versus something in the "core" that should expose and use generic interfaces.

So first question is whether widgets is parallel to components or a child thereof.
I slightly prefer them being parallel (to keep widgets top-level) but that's also slightly misleading as widgets are still components.

I understand the thinking of trying to be pure about file structure, but I think we should go with that we like best and I am in favor using a top-level widgets directory.

So what we'll do is create widgets/ directory parallel to components/ and move any widgets there. The components/ directory then really just becomes non-widget components.

Actually, I guess there's one other question: do the groupings like morphgnt go above or below?
i.e. is it
morphgnt/
    widgets/
    components/

or
widgets/
    morphgnt/
components
    morphgnt/

?

Good question. I think we end up with both. If it is a widget clearly specific to one text service it should live in the former, but if it is a widget that can easily be used for both then the latter (just under widgets).
The latter approach only would result in mixing the directories and global components together (meh) or the creation of a global directory (also meh).
That's my thinking.

So does that mean:
widgets/
    ...global widgets...
components/
    ...global non-widget component...
morphgnt/
    widgets/
        ...morphgnt-specific widgets...
    components/
        ...morphgnt-specific non-widget components...
cts/
    widgets/
        ...cts-specific widgets...
    components/
        ...cts-specific non-widget components...

?

Yep. The net difference based on current tree ends up being adding widgets directory to each level and moving the widget components over. I hope over time we find the common interfaces and end up having using more global components / widgets every where.


Example use_jwt clarification

Hello,
Thanks for the library !  I am playing with it and I had to follow the without use jwt example and not the simple ones as
.service(
                // we need this scope so we can exclude the login service
                // from being wrapped by the jwt middleware
                web::scope("").service(handlers::login::hello).use_jwt(authority.clone())
            )

returns
error[E0599]: no method named `use_jwt` found for struct `actix_web::Scope` in the current scope
  --> src/main.rs:83:64
   |
83 |                 web::scope("").service(handlers::login::hello).use_jwt(authority.clone())
   |                                                                ^^^^^^^ method not found in `actix_web::Scope`

Similarly,
use actix_jwt_auth_middleware::{AuthResult, Authority, CookieSigner, FromRequest, UseJWTOnScope};

shows
error[E0432]: unresolved import `actix_jwt_auth_middleware::UseJWTOnScope`
  --> src/main.rs:11:83
   |
11 | use actix_jwt_auth_middleware::{AuthResult, Authority, CookieSigner, FromRequest, UseJWTOnScope};
   |                                                                                ^^^^^^^^^^^^^ no `UseJWTOnScope` in the root

I guess this code isn't available in the 0.0.2 ?

Oh yeah, sorry, I wanted to add it to the documentation.
You have to enable the "use_jwt_traits" feature in the crate.
For Example, like this:
actix_jwt_auth_middleware = { version = "0.2.0", features = ["use_jwt_traits"] }

I will add it to the docs, thank you for taking the time to open an issue.


Better way to import boms

I found this in the documentation:
https://docs.gradle.org/current/userguide/managing_transitive_dependencies.html#sec:bom_import
In a subproject i have
dependencies {
    annotationProcessor("org.projectlombok:lombok")
    compileOnly("org.projectlombok:lombok")

    implementation('org.springframework.boot:spring-boot-starter')
    implementation('org.springframework.boot:spring-boot-starter-web')
    implementation('org.springframework.boot:spring-boot-starter-actuator')
    implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
    implementation('org.springframework.boot:spring-boot-starter-aop')
    implementation('org.springframework.retry:spring-retry')
...
}

So i tried the way given in documentation:
subprojects {
...
    dependencies {
        implementation(platform("org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE"))
        implementation(platform("org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR2"))
    }
}

to get all recommended versions from the boms.
Nice. But did not work, because i was forced to import the bom for 'implementation'.
So 'annotationProcessor' and 'compileOnly' do not find the version for lombok.
That leads to real boiler-plate code:
subprojects {
...
    dependencies {
        annotationProcessor(platform("org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE"))
        compileOnly(platform("org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE"))
        implementation(platform("org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE"))
        implementation(platform("org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR2"))
    }
}

Expected Behavior
Would like to have same behavior as in the io.spring.dependency-management-plugin:
    dependencyManagement {
        imports {
            mavenBom("org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE")
            mavenBom("org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR2")
        }

As you can see: i have to declare the boms only once!
So there should be a way to use boms without tieing to 'implementation', 'annotationProcessor', 'compileOnly'... something like:
subprojects {
...
    dependencies {
        platform("org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE")
        platform("org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR2")
    }
}

I understand the intent but the way Gradle does this is intentional. There's no reason to share the platform with annotationProcessor or yourCustomConfigurationGradleKnowsNothingAbout. Only you, as a consumer, knows if it makes sense to share. Typically the annotation processor classpath is something aimed at the compiler, and it should use very different libraries from the runtime of the application. The fact that a BOM would mix dependencies used by the compiler and dependencies used by the application is an implementation detail that shouldn't leak into Gradle's model. In fact, I would consider this a very bad practice. Imagine that your Lombok processor needs a dependency on foo.1.9 and that your app needs foo:2.1. In theory one shouldn't influence the other.
Now, should you want to do this, Gradle offers you the ability to do it. You can declare a super-configuration with your bom and make the relevant configurations extend from it.


Rename _subOptionsAccessor to reflect actual value

@jdom,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@jdom  Thanks again!


MDMTransitionPresentationController should implement viewWillTransitionToSize

frameOfPresentedViewInContainerView is unfortunately only called during the initial presentation of a view controller, meaning a view controller that's presented over part of the screen won't know to update its layout when the device's orientation changes.
To solve this, we can implement viewWillTransitionToSize and invoke _calculateFrameOfPresentedView with the new dimensions. This will allow the block to return a new size for the new dimensions.
Unfortunately,  some quick sleuthing revealed that the containerView's frame isn't up-to-date when viewWillTransitionToSize is invoked and, because our block implementations tend to look at the containerView's bounds, most of our layout blocks will probably be wrong.

I believe you want to query the frame as you animateAlongsideTransition inside your PresentationController.
-(void)viewWillTransitionToSize:withTransitionCoordinator: {
// Call super ...
[coordinator animateAlongsideTransition: ^() {
// self.contentView.frame should be current now
self.presentedView.frame = [self frameOfPresentedViewInContainerView];
}
}


fix(tiller): show failed YAML

When an install fails and --dry-run is set, return the broken YAML for
the user to debug.
Closes #1499

This change is

⇒  helm install --dry-run --debug ./broken
SERVER: "localhost:44134"
CHART PATH: /Users/mattbutcher/Code/Go/src/k8s.io/helm/_scratch/broken
Error: YAML parse error on broken/templates/deployment.yaml: error converting YAML to JSON: yaml: line 35: did not find expected key

Source: broken/templates/deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: incindiary-tap-broken
labels:
chart: "broken-0.1.0"
spec:
replicas: 1
template:
metadata:
labels:
app: incindiary-tap-broken
spec:
containers:
- name: broken


custom layer pgstac_hash and pgstac_hash_count do not work

pgstac_hash returns "relation "searches" does not exist" maybe because it's should pgstac.searches instead of searches in https://github.com/developmentseed/eoAPI/blob/62a8f7cbaafa029a056faa5585a9fc45fbc88a27/runtime/eoapi/vector/eoapi/vector/sql/functions.sql#L63
pgstac_hash_count  returns "invalid input syntax for type integer: "('-90""  🤷
cc @bitner

🤔 I can't reproduce the pgstac_hash issue locally 🤷


Factor out non-Material parts of MaterialApp into WidgetsApp

Fixes https://github.com/flutter/flutter/issues/1346

LGTM

Maybe call it BasicApp ?  We could have a whole suit of "basic" widgets that don't involve material.

The problem with "BasicApp" is it looks weird when you're making an app with this widget ("my app isn't a basic app!"). I agree that "WidgetsApp" isn't particularly great either though.

I guess App is another possibility.  Dunno.  Whatever you think is best.

I think if we use App, we should use that at the Material layer.
I went with WidgetsApp. I am very open to renaming it further though.

Maybe FlutterApp? Anyway, thanks for the refactoring :)

FlutterApp could work...


Updating Mac OS X documentation

librealsense can now be easily installed via Homebrew. I've updated the documentation to reflect this and cleared up how to install from source.

Name: Steven Cholewiak
I agree to the terms of the Intel® RealSense™ Cross Platform API CLA.

Thank you


fix Add retry when create tablet meet kv conflict in c…

…loud mode
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Metro UI using Vue js

Hello
sir Can i use this framework  in Vue js?
the datepicker and calendar seem not working in vue js but other input is working..
 Calendar Picker
                    <input type="text" data-role="calendarpicker" v-model="calendar">
  Date Picker
                    <input data-role="datepicker" v-model="date">

Hi

What does it mean does not work?
To change the picker value, change the attribute value

Please read https://github.com/olton/Metro-UI-CSS/blob/master/CONTRIBUTING.md#issues-guidelines

Hi sir
this is my html and its id.
Calendar Picker                         <input type="text" data-role="calendarpicker" id="calendar">                     Date Picker                         <input data-role="datepicker" type="text" id="date">
<button class="button primary drop-shadow" @click="btnDate()">Date/Calendar
i was using this javascript a while ago
`var date = document.getElementById("date");
var calendar = document.getElementById("calendar");
new Vue({
el: '#app',
data: {
datepick: '',
calendarpick: '' ,
input: ''
},
methods: {
btnDate: function() {
console.log(date .value);
console.log(calendar .value)
            }
        }
    })

then i change my variable to this. var datepick = $('date').data('datepicker')
var calendarpick = $('calendar').data('calendarpicker')`
and my vue button
console.log(datepick.val());  console.log(calendarpick.val())
Thank you sir for your Time :)

When working with Vue there are problems, now I'm trying to contact the developer Vue, to solve the existing problems.

To work with VueJS You must do the following:

add meta tag of late initialization Metro 4 <meta name="metro4:init" content="false">
Initialize Metro 4 in the Hooked Mounted

    var app = new Vue({
        el: '#app',
        data: {
        },
        mounted: function () {
            Metro.init();
        }
    })

https://codepen.io/olton/pen/zWomRo

Thank you sir its working now sir .. may i mind my last quest sir
why i am seeing this sir? i just dont know how to remove this sir

also in datepicker sir Thank you sir

read above

and sir also in select the select is always closing and in console i had this error

Uncaught TypeError: Cannot read property 'close' of undefined

thank you sir

create pen on codepen.io

in codepen sir there no error..  :(  the select is working and also the other input
https://codepen.io/LeoKi12/pen/dmOLbb

Make sure you are using the latest version of Metro 4. To check it, execute in the browser console:
Metro.about()
You must see Metro 4 Components Library - v4.1.0-625

yes sir i am using the latest version of Matro Ui.

Metro 4 Components Library - v4.1.0-625

Give me the link to the page or create an original page on codepen.io. Without original code, I don't help you.

here i am getting the sample
https://metroui.org.ua/forms.html
here my code pen but its working
https://codepen.io/LeoKi12/pen/dmOLbb
here's my file that not working. and has many duplicate
4. Form.zip

In your code:
var app = new Vue({
            el: '#app',
            data: {
                datepick: '',
                calendarpick: '' ,
                input: ''
            },
            created: function(){
                Metro.init();
                Metro.about();
            },
            methods: {
                btnDate: function() {

                    alert(date.value);
                    alert(calendar.value);

                }
            }
        })

Change created hook to mounted

ahh. i already did sir but still the view of input duplication. i had some error in console of browser

Uncaught TypeError: Cannot read property 'close' of undefined

thank you for your help sir :)

I do not have errors in the console

hmm.. it's weird sir hehe.. im using chrom then i try i on edge and firefox and now it working but in chrome .. still duplication..

i think need to update my chrom hehe ..
Thank you so much sir..  i am so much like of metro ui because it's flat desing ..
Thank you sir ..

Clear your browser cache

oh.. thank you sir.. it's working now.. hehhe


How to update existing installation to get new version of Saltcorn

Particularly I need to update language translation but in common we need description, ideally mechanics to do core update.

I will write something on the wiki about this, but for now you can run npm install -g saltcorn@latest
Unfortunately it seems there is no easy way to add an in process update like WordPress has, I mean a button under administration to update to latest version. But at least I can try and add some warnings about a new version being available

@glutamate I installed saltcorn according instruction in https://wiki.saltcorn.com/view/ShowPage?id=1
The command was npm install -g @saltcorn/cli  , and you recommendation is not worked for me.
My knowledge of npm is very poor. So I'm doesnt find how to update.

Ok, will investigate the upgrade process in a VM. I haven't tested as I deploy and develop from git, not npm.
What OS are you using @AleksandrSokolov ?

this works for me:
first install previous version:
tomn@LAPTOP-3VET16LK:~$ sudo npm install -g<EMAIL_ADDRESS>--unsafe
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
/usr/local/bin/saltcorn -> /usr/local/lib/node_modules/@saltcorn/cli/bin/saltcorn
...
+<EMAIL_ADDRESS>added 107 packages from 100 contributors, removed 10 packages and updated 23 packages in 31.465s
tomn@LAPTOP-3VET16LK:~$ which saltcorn
/usr/local/bin/saltcorn
tomn@LAPTOP-3VET16LK:~$ saltcorn
Command-line interface for Saltcorn, open-source no-code platform

VERSION
  @saltcorn/cli/0.2.0 wsl-x64 node-v12.13.0
...

now upgrade:
tomn@LAPTOP-3VET16LK:~$ sudo npm install -g @saltcorn/cli@latest --unsafe
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
/usr/local/bin/saltcorn -> /usr/local/lib/node_modules/@saltcorn/cli/bin/saltcorn
...
+<EMAIL_ADDRESS>added 10 packages from 9 contributors and updated 6 packages in 20.005s
tomn@LAPTOP-3VET16LK:~$ saltcorn
Command-line interface for Saltcorn, open-source no-code platform

VERSION
  @saltcorn/cli/0.2.1-beta.1 wsl-x64 node-v12.13.0
...

This is on Ubuntu

Hi,
In my case, I am using saltcorn v0.5.0-beta.0.
When I try to upgrade to v0.5.0, I obtain the following error :
npm install -g @saltcorn/cli@latest --unsafe
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp
package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t<EMAIL_ADDRESS>npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

this will be fixed in the next release and is already fixed in the code
On Fri, Jun 11, 2021 at 7:34 AM Chlipouni @.***> wrote:

Hi,
In my case, I am using saltcorn v0.5.0-beta.0.
When I try to upgrade to v0.5.0, I obtain the following error :
npm install -g @@.*** --unsafe
npm WARN deprecated @.: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @.: this library is no longer supported
npm WARN deprecated @.: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp
package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t @./glutamate/greenlock-express.js.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/saltcorn/saltcorn/issues/266#issuecomment-859315005,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAKWHEFPNQPTZDCVHHDUGTTSGU53ANCNFSM4RWSR3UQ
.

Upgraded to the last release with success.
Thanks for the fix

Since upgrading seems to work rather seamlessly now, I think this can be closed?


fix Governance.getProposalStage

Description
Running this command on Baklava is broken right now. Dug in a little and found a this binding issue that seems to have been known about. The PR mentioned in the comment has been merged.
Other changes
N/A
Tested

cli governance:list --node https://forno.celo.org
cli governance:list --node https://alfajores-forno.celo-testnet.org
cli governance:list --node https://baklava-forno.celo-testnet.org

Related issues
N/A
Backwards compatibility
N/A

I thought this was the issue
diff --git a/packages/cli/src/commands/governance/list.ts b/packages/cli/src/commands/governance/list.ts
index 9453d2af8..242abda6b 100644
--- a/packages/cli/src/commands/governance/list.ts
+++ b/packages/cli/src/commands/governance/list.ts
@@ -39,7 +39,7 @@ export default class List extends BaseCommand {
     const dequeue = await governance.getDequeue(true)
     const expiredDequeueMap = await concurrentMap(5, dequeue, governance.isDequeuedProposalExpired)
     const unexpiredDequeue = dequeue.filter((_, idx) => !expiredDequeueMap[idx])
-    const stages = await concurrentMap(5, unexpiredDequeue, governance.getProposalStage)
+    const stages = await concurrentMap(5, unexpiredDequeue, (id) => governance.getProposalStage(id))
     const proposals = zip((proposalID, stage) => ({ proposalID, stage }), unexpiredDequeue, stages)

     console.log(chalk.blue.bold('Dequeued Proposals:'))

@yorhodes that's the same thing right, I'm just deciding to fix the issue at the function level itself rather than at the call site.
My understanding is that non arrow functions allow their this context to be bound differently.
function getProposalStage () {
  // "this" is undefined or bound specifically in concurrentMap
}

const stages = await concurrentMap(5, unexpiredDequeue, governance.getProposalStage)

getProposalStage = () => {
  // "this" refers to its parent class
}

const stages = await concurrentMap(5, unexpiredDequeue, governance.getProposalStage)

Converting the function to an arrow function seems like the more long term fix.

Friendly ping on this @yorhodes. I think it's pretty safe to go in


Update the Sample Project

The sample project could use a little more attention and updates to continue to work with the latest versions of Django.

Sample project works on django 1.8 and mptt 0.7. There could be some improvements, but closing for now.


Wrong documentation at "control-report-filters" page.

Hello, there is an error in the documentation at https://docs.microsoft.com/en-us/javascript/api/overview/powerbi/control-report-filters
I don't know exactly how to report doc errors, so in case I did something wrong, please explain me what's the best way to do so.
The error is that where it is written models.FiltersOperation should be models.FiltersOperations (it is missing the last s).

Thanks for your comment, @FelipeCostaGualberto .
This is exactly how you report doc errors.
We appreciate you taking the time to bring this to our attention.
The error has been fixed and should be live within a few days.


Room Support

Adding support for rooms.
Closes #1. Full credit to @Mobius5150 for this work. I am simply bringing it to the maintained repo.
Tested a number of scenarios with my personal vacuum, seems to work as intended.

Codecov Report

Merging #22 (4c5f587) into main (83c21d7) will decrease coverage by 0.77%.
The diff coverage is 20.00%.

@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
- Coverage   52.84%   52.06%   -0.78%
==========================================
  Files           5        5
  Lines         422      436      +14
==========================================
+ Hits          223      227       +4
- Misses        199      209      +10

Flag
Coverage Δ

unittests
52.06% <20.00%> (-0.78%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

sharkiq/sharkiq.py
39.70% <20.00%> (-0.62%)
:arrow_down:

Continue to review full report at Codecov.

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

Thanks @ElMoselYEE & @Mobius5150!
If either of you has time to also implement this in a PR on the Home Assistant Core side that will expedite things.
It's going to be a week or two before I'll have time to tackle that myself.

I'll try to take a look at what it'll take to get it working in Home Assistant Core, although I've never touched that codebase so might take me a while to get familiar.

Many people including myself really appreciate this feature! Thanks a ton for putting in the effort 🙇♥

@JeffResc are we waiting for codecov to behave before merging this?  If not I think we should go ahead and merge this in.

@funkybunch I think it's safe to ignore Codecov in this case and proceed with merging this. Thank you @ElMoselYEE for your hard work on this PR! My only thought it that we should definitely coordinate these changes being implemented in Home Assistant core, but I'm not sure what that would look like.

Thanks. Incorporating into HA is on my mind but based on my current workload, I can't really predict when I'd be able to set aside enough time to accomplish that.
The only progress I've actually made is I know that the Roborock S7 vacuum has room-level support, and there's an example here of a Reddit user incorporating that functionality into a card. So my plan was to reverse-engineer how that vacuum integration works, how rooms are exposed to HA, and attempt to port that over to use this Shark API.

Let's go ahead and merge these changes and we'll coordinate the dependency feature bump with the next update to HA.


add testing of mdsxray module

In order to accomplish this (and move forward with #30), we need a test MITgcm dataset which will either be distributed directly within the github repo or else downloaded during testing. Either way, it needs to be as complete as possible (in terms of variables output) and simultaneously as small as possible (in terms of domain size).
@pittwolfe, perhaps one of your very coarse-resolution basin models would do the trick. How big are those variables?

The 3D fields are 25 x 100 x 20, so, for single precision, about 200kB each.

On Feb 5, 2016, at 1:53 PM, Ryan Abernathey<EMAIL_ADDRESS>wrote:
In order to accomplish this (and move forward with #30 https://github.com/xgcm/xgcm/issues/30), we need a test MITgcm dataset which will either be distributed directly within the github repo or else downloaded during testing. Either way, it needs to be as complete as possible (in terms of variables output) and simultaneously as small as possible (in terms of domain size).
@pittwolfe https://github.com/pittwolfe, perhaps one of your very coarse-resolution basin models would do the trick. How big are those variables?
—
Reply to this email directly or view it on GitHub https://github.com/xgcm/xgcm/issues/21#issuecomment-180497835.

That's about the same size as the global_oce verification experiments, so no real advantage to using your setup. What we really need is a genuinely tiny box model.

This is addressed by #31. I will open a new issue for more refined tests.


Problem with GoPro 8 video files

Media info is not working with video files from GoPro8 camera, both in H.265 and H.264 format
https://forum.selur.net/thread-3427.html

We need a sample file.

Thanks for replying. How can send the link to the sample file? I'm very new to this forum and I don't see an option to send private message.

You can send the link to our generic email address<EMAIL_ADDRESS>

I've just sent link to the above email address. Thanks

Media info is not working

Be more precise about "not working", I see very well in MediaInfo (GUI or CLI) everything: video, audio, time code, and the (unsupported but listed) GoPro metadata.
Note that we do free support only for MediaInfo related issue, so the MediaInfo output, not the behavior from another tool.

I fully understand that you can't be responsible for behaviour of another tools. I was referred here by author of Hybrid video.  I'm not an video expert at all.
As far as I understand the following command is not saving a log file if the input file comes from GoPro8 (this is only example):
"C:\Program Files\Hybrid\64bit\mediainfo.exe" --Language=en --File_TestContinuousFileNames=0 "--LogFile=C:/Users/Tomek398/AppData/Local/Temp/mediaInfoLog.txt" --Full "J:\GoPro8_Media\2023.09.17 Canonball Ireland 2023\GH010827.MP4"
I tested it with other video files and it fact, it work, but doesn't work (doesn't generate log file) in the case of video files coming from GoPro8
Thanks for checking it.

Please check the test I've just done:
https://youtu.be/BqlBWQoa0ks

Thank you for the method for reproducing the issue as standalone.
I Installed (thus huge!) Hybrid 2<IP_ADDRESS> and tested:
C:\Users\jerom\Downloads>"C:\Program Files\Hybrid\64bit\mediainfo.exe" --version
MediaInfo Command line,
MediaInfoLib - v22.12

C:\Users\jerom\Downloads>"C:\Program Files\Hybrid\64bit\mediainfo.exe" .\GoPro8_0.1.MP4

C:\Users\jerom\Downloads>.\MediaInfo.exe --version
MediaInfo Command line,
MediaInfoLib - v23.10

C:\Users\jerom\Downloads>.\MediaInfo GoPro8_0.1.MP4
General
Complete name                            : GoPro8_0.1.MP4
Format                                   : MPEG-4
[...]

So already fixed, the fix for you is to update MediaInfo, you can try to replace directly the binary in Hybrid directory, no incompatibility expected.