In MD5Digest, Xcode 9.2 is flagging these two lines as exceeding the size of a UInt32, which is of course totally wrong:
var b = UInt32(0xefcdab89)
var c = UInt32(0x98badcfe)

Well, I found a workaround (untested at this point):
var b = UInt32(0x70000000) + UInt32(0x7fcdab89) // 0xefcdab89
var c = UInt32(0x40000000) + UInt32(0x58badcfe) // 0x98badcfe

Geez ... [Post is really to help out any other poor soul running into this issue...]

@dhoerlSA Thanks for posting this. I've tested it and confirmed it works here for the use-cases I'm using this for. Maybe change this to a PR?

Sure. Will do my best to get it done tomorrow (Sat).

On Feb 23, 2018, at 4:58 PM, Chad Robinson<EMAIL_ADDRESS>wrote:
@dhoerlSA Thanks for posting this. I've tested it and confirmed it works here for the use-cases I'm using this for. Maybe change this to a PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

hi man, you just need change
    var a = UInt32(0x67452301)
    var b = UInt32(0xefcdab89)
    var c = UInt32(0x98badcfe)
    var d = UInt32(0x10325476)

to
    var a: UInt32 = 0x67452301
    var b: UInt32 = 0xefcdab89
    var c: UInt32 = 0x98badcfe
    var d: UInt32 = 0x10325476

all errors should go away.

This workaround works for 64-bit devices, but on 32-bit devices half of the resulting MD5 is filled with zeroes.
On an iPhone X, md5("Hello, world") = bc6e6f16b8a077ef5fbc8d59d0b931b9 ✅
On an iPhone 5, md5("Hello, world") = 00000000b8a077ef00000000bc6e6f16 ❌
Using Xcode 9.4 beta (9Q1004a), iOS 11.4 SDK — same results on simulator or on device.

The problem is in
public var description: String {
    return String(format: "%016lx%016lx",
                  _digest.0.byteSwapped,
                  _digest.1.byteSwapped)
}

because on a 32-bit platform long int is a 32-bit integer. The solution is to use llx formats:
public var description: String {
    return String(format: "%016llx%016llx",
                  _digest.0.byteSwapped,
                  _digest.1.byteSwapped)
}

That should work correctly on 32-bit and 64-bit.


fix/use promise to await for archiver to finalize before applying sha…

…256sum

r? @krishnaIndia
(maidsafe_highfive has picked a reviewer for you, use r? to override)

Draft based on this PR: https://github.com/maidsafe/safe_examples/releases/tag/untagged-437234bec79b2cf8b510


For SUM_STATS_FILE, coord seems to use the full path (with extension), not the prefix

fixed

For python LDpred.py score, inverse remark for --rf that expects a prefix (before _LDPRED...).

Done, thanks!


fix back button on search block to update the search results for #4402

@MihaelaCretu11 you need to sign the Plone Contributor Agreement to merge this pull request.
Learn about the Plone Contributor Agreement: https://plone.org/foundation/contributors-agreement


merge from arlac77/npm-package-template-esm-only

package.json

chore(package): add ^16.0.1 remove ^16.0.0 (devDependencies.semantic-release)

Codecov Report

Merging #1231 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1231   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files           1       1
  Lines          28      28
  Branches        5       5
======================================
  Hits           28      28

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 6e4d330...543d193. Read the comment docs.

:tada: This PR is included in version 3.0.13 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


adding travis support for osx

Please confirm that this PR has done the following:

[ ] Tests Added
[ ] Documentation Added
[ ] Description in RELEASE_NOTES.md Added

Adding to RELEASE_NOTES.md
Please add a single line in the release notes similar to the following:
- (#XX)[http://link-to-pr.com] Added feature which does something

Note this depends on #38

This is good to go, will need to rebase after #38 is merged.


Browser Back Button Does not work right from Forget Password Page

Please follow the issue template below. Failure to do so will result in a delay in answering your question.

Library

[X]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Important: Please fill in your exact version number above, e.g<EMAIL_ADDRESS>Framework
React
Description
For our default msal configuration, we are having this issue , if a user goes to Sign In page and click forgot password and then clicks back button in Forgot Password page, instead of coming back to the App, he lands back in the Sign In page.
This is causing weird issues for us, as the handleRedirectCallback is not registered and user will not go back to Forgot Password if he click on it again.
Error Message
Behaviour Issue in Browsers
Security

[ ] Is this issue security related?

Regression

[ ] Did this behavior work before?
Version:

MSAL Configuration
// Provide configuration values here.
// For Azure B2C issues, please include your policies.

const B2C_POLICIES = Object.freeze({
    names: {
        signUp: process.env.REACT_APP_B2C_SU_POLICY_NAME,
        signIn: process.env.REACT_APP_B2C_SI_POLICY_NAME,
        forgotPassword: process.env.REACT_APP_B2C_PASSWORDRESET_POLICY_NAME
    },
    authorities: {
        signUp: {
            authority: `${process.env.REACT_APP_B2C_BASE_URL}/${process.env.REACT_APP_B2C_SU_POLICY_NAME}`
        },
        signIn: {
            authority: `${process.env.REACT_APP_B2C_BASE_URL}/${process.env.REACT_APP_B2C_SI_POLICY_NAME}`
        },
        forgotPassword: {
            authority: `${process.env.REACT_APP_B2C_BASE_URL}/${process.env.REACT_APP_B2C_PASSWORDRESET_POLICY_NAME}`
        },
    },
});

const MSAL_CONFIG_SIGNIN = Object.freeze({
    auth: {
        clientId: process.env.REACT_APP_B2C_APP_CLIENT_ID,
        authority: B2C_POLICIES.authorities.signIn.authority,
        redirectUri: process.env.REACT_APP_B2C_APP_REDIRECT_URL,
        validateAuthority: false //TODO: What is this??
    },
    cache: {
        cacheLocation: "localStorage",
        storeAuthStateInCookie: false,
    }
});

const callbacks = {
    onLoginSuccess: ()=>{},
    onLoginFailure: ()=>{}
};

let msalApp = new msal.UserAgentApplication(MSAL_CONFIG_SIGNIN);
msalApp.handleRedirectCallback((error, loginResponse) => {
    if (error) {
        onLoginError(error);
        callbacks.onLoginFailure(error);

    } else {
        onLoginSuccess(loginResponse);
        callbacks.onLoginSuccess(getUserInfo());
    }
});

Reproduction steps

User clicks on Sign In ,  and is navigated to Sign In Page.
User clicks Forgot Password and goes to Forgot Password page
User clicks back button in Forgot Password , instead of coming back to App, user lands up in Sign In Page again.
User clicks Forgot Password again, now he is not redirected to Forgot Password because the callback handlers have not been registered.

// Provide relevant code snippets here.
// For Azure B2C issues, please include your policies.

function onLoginError(loginError) {

  if (loginError.errorMessage.indexOf("AADB2C90118") > -1) {
    try {
      // Password reset policy/authority
      logger.info("[auth] Reset password requested");
      msalApp.loginRedirect(B2C_POLICIES.authorities.forgotPassword);
    } catch (error) {
      logger.error(
        `[auth] Error redirecting to the password reset B2C policy ${B2C_POLICIES.authorities.forgotPassword}`,
        { error, loginError }
      );
    }
  } else {
    logger.error(`[auth] Unhandled login error`, { error: loginError });
  }
}

Expected behavior
When clicking back button in Forget Password user should come back to the Webapp(React), just like in Sign In.
When the App loads the callbacks gets registered again, so that when he does Forget Password again from the Sign In Page,
the behaviour is consistent.
Browsers/Environment

[X] Chrome
[ ] Firefox
[ ] Edge
[X] Safari
[ ] IE
[ ] Other (Please add browser name here)

@chattes Let me try to reproduce this and reach out!

@chattes I was not able to reproduce this using the B2C sample. Clicking the back button correctly returned back to the app. Is this still an issue?

Closing due to inactivity. Please open a new issue if you are not able to get this to work on the newest version (1.4.4).


Go Templating

So, this is more of a discussion topic. I am aware there is no easy answer for this.
There is a general pattern of developing Kubernetes operators that generate other objects using Golang templates embedded as strings within a CRD. An example is the 'ExternalSecret' type, which supports pulling values from Azure Keyvault, etc, into K8S Secrets.
The 'ExternalSecret' CRD, for example, allows you to simply put a Golang template into the body of a Spec property, and the operator executes that template against the external secret data, allowing you to format the contents of the external secret.
https://external-secrets.io/v0.4.4/guides-templating/
Since K8s is so go-y, this makes good sense. It fits nicely into the eco system.
However, this presents an issue when using The DotNet operator! We don't have access to Go-lang templates! What to do!

I happen to have a need for this currently in my operator. So my approach right now is going to be to include a Handlebars template, since there is a well-designed and maintained Handlebars.NET package. But this is unfortunate, as my CRDs won't fit into the overall K8s ecosystem as cleanly.
The proper solution would probably be a DotNet native implementation of Go templates.
A less good solution would be invoking the Go lang template engine from within a DotNet operator.


the application is giving me a forbidden feature

Describe the bug

Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-2dkjdh
Steps to reproduce
go to the chat UI click on anything and it will give a forbidden message
Expected behavior
supposed to work normally

Screen Recording / Screenshot

Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

Me too bro. Why?

Hey! Sorry for this issue, we're actively investigating this to find a resolution soon.
We're tracking this issue in https://github.com/stackblitz/bolt.new/issues/77. We will let you know when we have a good solution in place.

Hello
I apologize but why this issue is being seen on the platform I would like
to learn
On Tue, Oct 8, 2024 at 9:22 PM Kirjava @.***> wrote:

Hey! Sorry for this issue, we're actively investigating this to find a
resolution soon.
We're tracking this issue in #77
https://github.com/stackblitz/bolt.new/issues/77. We will let you know
when we have a good solution in place.
—
Reply to this email directly, view it on GitHub
https://github.com/stackblitz/bolt.new/issues/215#issuecomment-2399694536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BE5CXIS2KLU3MITNIISPYWDZ2PE7DAVCNFSM6AAAAABPR7XDFSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJZGY4TINJTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

I would like to know what makes the issue that the bolt chat functions
don’t work it goes straight to forbidden some said is that the geographic
location of my residence.
On Tue, Oct 8, 2024 at 10:22 PM Pedro Tirado <
@.***> wrote:

Hello
I apologize but why this issue is being seen on the platform I would like
to learn
On Tue, Oct 8, 2024 at 9:22 PM Kirjava @.***> wrote:

Hey! Sorry for this issue, we're actively investigating this to find a
resolution soon.
We're tracking this issue in #77
https://github.com/stackblitz/bolt.new/issues/77. We will let you know
when we have a good solution in place.
—
Reply to this email directly, view it on GitHub
https://github.com/stackblitz/bolt.new/issues/215#issuecomment-2399694536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BE5CXIS2KLU3MITNIISPYWDZ2PE7DAVCNFSM6AAAAABPR7XDFSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJZGY4TINJTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

we've just shipped a fix for the forbidden / trouble connecting to server in from certain location errors, please confirm it now works!


Template lang "pug"

allow the use of <template lang="pug"> too
https://github.com/pugjs/pug/issues/2184

Thanks, will fix soon.

Sorry it took me so long...Busy for other stuff.
It's actually a really easy fix. I just released 0.1.2 which should solve your problem.


Topology view with overlapping regexps

Issue type
[ ] Feature request
[X] Bug report
[ ] Documentation
Environment

Python version:  3.5.2
NetBox version:  v2.2-beta1

Description
When I enter a topology description like this:
sw
.

I was expecting to see all devices with "sw" in their name on the top line, and all other devices on the line below.
What I actually see is all devices on the same line.
It's not entirely clear what the intended behaviour is here. What I was hoping is that if a device matches an earlier regex, it should be excluded from matching a later one.
If I change this to:
.
sw

then I also get all the devices on the same line - but in this case, the 'sw' device is on the right-hand end of the line.
If I make a regex which explicitly matches the other hosts by name (i.e. all those without 'sw' in them), it works - but it can be long and hard to maintain.

I was expecting to see all devices with "sw" in their name on the top line, and all other devices on the line below.

Each line is evaluated as an independent regex (or set of regexes separated by semicolons). You should be getting two rows: the first with all devices with "sw" in their name, and the second with all devices.

If I make a regex which explicitly matches the other hosts by name (i.e. all those without 'sw' in them), it works - but it can be long and hard to maintain.

Try:
sw
^((?!sw).)*$

Each line is evaluated as an independent regex (or set of regexes separated by semicolons). You should be getting two rows: the first with all devices with "sw" in their name, and the second with all devices.

That doesn't happen. And
.
.

just puts one instance of each device, all on the same line.
OK, I found the issue.  If you repeat a node (with the same name) in graphviz, then it's not added as another node - it's just a repeat instance of the same node.
This fixes it for me:
--- a/netbox/extras/models.py
+++ b/netbox/extras/models.py
@@ -273,6 +273,7 @@ class TopologyMap(models.Model):
         # Construct the graph
         graph = graphviz.Graph()
         graph.graph_attr['ranksep'] = '1'
+        seen = set()
         for i, device_set in enumerate(self.device_sets):

             subgraph = graphviz.Graph(name='sg{}'.format(i))
@@ -287,7 +288,10 @@ class TopologyMap(models.Model):
             devices = []
             for query in device_set.strip(';').split(';'):  # Split regexes on semicolons
                 devices += Device.objects.filter(name__regex=query).select_related('device_role')
+            # Exclude nodes which have already been added
+            devices = [d for d in devices if d.id not in seen]
             for d in devices:
+                seen.add(d.id)
                 bg_color = '#{}'.format(d.device_role.color)
                 fg_color = '#{}'.format(foreground_color(d.device_role.color))
                 subgraph.node(d.name, style='filled', fillcolor=bg_color, fontcolor=fg_color, fontname='sans')

Or if you prefer stylistically:
--- a/netbox/extras/models.py
+++ b/netbox/extras/models.py
@@ -273,6 +273,7 @@ class TopologyMap(models.Model):
         # Construct the graph
         graph = graphviz.Graph()
         graph.graph_attr['ranksep'] = '1'
+        seen = set()
         for i, device_set in enumerate(self.device_sets):

             subgraph = graphviz.Graph(name='sg{}'.format(i))
@@ -287,6 +288,9 @@ class TopologyMap(models.Model):
             devices = []
             for query in device_set.strip(';').split(';'):  # Split regexes on semicolons
                 devices += Device.objects.filter(name__regex=query).select_related('device_role')
+            # Remove duplicate devices
+            devices = [d for d in devices if d.id not in seen]
+            seen.update([d.id for d in devices])
             for d in devices:
                 bg_color = '#{}'.format(d.device_role.color)
                 fg_color = '#{}'.format(foreground_color(d.device_role.color))


Fix ToObservable operator can throw unhandled exception

Fixes #1677
The issue was that exceptions thrown by GetAsyncEnumerator() were not being propagated to observer.OnError(), resulting in unhandled exceptions. This has been addressed by wrapping the GetAsyncEnumerator() call in a try-catch block
The same issue appears also on DisposeAsync(). This is more complex, because we cannot rely on the observer anymore, because it is already completed at that point.
Currently the exceptioncauses the process to crash directly. In my opinion this is bad since there is nothing that warns the caller about that, and also it does not offer any solution.
Observable.FromAsync already "solves" this problem, so I used the same approach here, creating an overload where is possible to specify if suppress the exception or not. If not, the exception would be routed to TaskScheduler.UnobservedTaskException, rather that be rethrown on the ThreadPool / Synchronization Context directly (causing  with 99% probability the process to crash)

@dotnet-policy-service agree

Hi @idg10,
Apologies for the ping! Could you take a look at the fix when you have a chance? This bug is quite severe as it's causing the process to completely shut down.  We’ve implemented internally a custom alternative as a .ToObservableSafe(), but it’s challenging to enforce this version consistently due to the presence of .ToObservable within System.Linq that seems really authoritative.
Thank you very much for your help!

Sorry for the delay - many of us at endjin have been unwell, and since nobody pays us to maintain Rx (and we only maintain System.Linq.Async because for historical reasons, it lives in the same repo) it tends to drop to the back of the queue under these circumstances.
Looking at this, I think there are 4 obvious options when GetAsyncEnumerator throws:

terminate the process abruptly (not good, but apparently the current behaviour)
throw the exception out of the call to Subscribe
forward the exception to the subscriber's OnError
quietly swallow the exceptions.

Although 2 is arguably logically like the right thing to do (because this is a case of failing even to get started) in practice this would involve sync-over-async, so we can't do that. For AsyncRx, SubscribeAsync could actually do this, but then you'd have a problem in which the two libraries ended up handling the same error quite differently.
So it does seem like 3 is the only reasonable option left if we want to report the exception. I see you've also implemented 4, allowing people to say they'd like exceptions to be swallowed. That's the one part of this I'm not sure about. I'm glad you've not made it the default, but I'm not sure whether we really want this at all. It seems to enable a bad practice.
What was your rationale for allowing ignoreExceptionsAfterUnsubscribe: true?

Thank you for your answer.
I was trying to be consistent with Observable.FromAsync() behavior, but maybe i misunderstood it: https://github.com/dotnet/reactive/blob/7259cabf5456a21462caea8cb81da8e5d5405db2/Rx.NET/Source/src/System.Reactive/Concurrency/TaskObservationOptions.cs#L27C4-L50C28
Maybe we could just handle DisposeAsync exceptions like other exceptions? So invoking observer.OnError if the cancellation token is not canceled yet?

I agree that the check for unsubscription is useless if the exception is thrown synchronously. Thank you!
About that ignoreExceptionsAfterUnsubscribe flag, I think there are 2 paths:

We can remove it completely, swallowing any exception in case the unsubscription already happened (This would be similar to the current implementation)
We can add it

If we choose the latter, in the case the subscription is already disposed:

If the flag is falsemaybe we should rethrow all the exceptions (throw instead return in every catch clause). The Core method should also be a ValueTask so that exceptions will not cause the process to crash, but will be routed to TaskScheduler.UnobservedTaskException
if it is true, we should just return (similarly at what happens now)

Consider also that following that approach, if false is the default, we would be inserting a breaking change (TaskScheduler.UnobservedTaskException will now be called)
Also note with the current implementation, the process crashes also if any exception is thrown by DisposeAsync()


Remove unneeded noParse build rules

Removes reference to old beta bundles and no longer needed ZoneJS work around

LGTM :shipit:


disconnected at startup

Describe your issue

Sometimes when launching chatterino, I'm immediately disconnected and then reconnected after a few seconds.
Screenshots

OS and Chatterino Version

Windows 10, latest nightly

Please describe your issue more adequately.
Do you first connect and then disconnect and then reconnect?
Does it just say disconnected and then reconnected?
For me it can take up to 30s for chatterino to connect to twitch chat on arch linux where it says disconnected first and then connects while on windows it's a lot faster. (Both programs are on os ssd).

sorry, could've picked better wording. when I said I'm "immediately disconnected", I meant that the client starts up already with the state of "disconnected" in chat, then reconnects

@caneleex What commit hash are you on?

@pajlada 5512437f1

5512437f1

Do you generally try to write a message really quickly after starting Chatterino?

5512437f1

Do you generally try to write a message really quickly after starting Chatterino?

no, I don't. I don't think this issue is happening to me anymore, but I'm sure I could reproduce it if I really wanted to by spamming reconnects by closing and then opening chatterino

This seems pretty random - the reason it's more noticeable now is that our minimum time to wait before a reconnect is 15 seconds. I'm working on a PR to reduce this and to ensure we back off our reconnect attempts as expected by Twitch.
PR created over here: #2892


Add missing prototype for FIPS callback

Fixes #2533
The call to FIPS_crypto_set_id_callback() was added in revision a43cfd7bb1fc681d563e, but there is no prototype for it in <openssl/fips.h>.

Ups! Wrong target branch!


Bug/check files

closes #24
Goal: Handles downloads gracefully

[x] Skip downloaded files
[x] Issues with Tls protocol (can't reproduce this bug. can't tell if it's fixed or not)
[x] Check for storage space
[x] Retries
File integrity check. (unsure how to do this)

About the file integrity check, can't you at least verify the size?
The corrupted images were smaller than they should.

Can you please release these fixes, before galleries get deleted :P


[TW#27467] Incomplete documentation about WiFi RX callback timestamp (wifi_pkt_rx_ctrl_t)

Environment

Development Kit: ESP32-DevKitC
Kit version (for WroverKit/PicoKit/DevKitC): v1
Module or chip used: ESP32-WROOM-32
IDF version: v3.1.1-rc2-2-gd1d2ce8c2
Build System: Make
Compiler version: xtensa-esp32-elf-gcc.exe (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0
Operating System: Windows 10
Power Supply: USB

Problem Description
Documentation about the timestamp field in wifi_pkt_rx_ctrl_t is ambiguous and incomplete. The timestamp is supposed to indicate the local time (in microseconds) but documentation does not specify the following aspects:

when the timer that computes that timestamp is started (by mean of which API, for example esp_wifi_start or esp_wifi_set_promiscuous)
when the timer is stopped or reset to 0
if there is any function that let the user to set\reset\read the specified timer
the accuracy of the timer, in particular when is mandatory to capture packets timestamp and convert it into epoch time

Note that point 4 is extremely important. If timer on an ESP behaves differently with respect to the timer on another ESP is impossible to use multiple ESP to sniff packets and determine a common timestamp for them (let's say error less than 100ms).
Expected Behavior

Ability to set\reset\read\write the timer that controls the timestamp field in wifi_pkt_rx_ctrl_t.
Ability to obtain the same timestamp on 2 or more ESP for the same callback (supposing that the timer always starts for both ESP in the same moment or supposing that we are able to set a common reference keeping track of the mis-alignment between ESPs).

Actual Behavior
The timer that controls the timestamp field in wifi_pkt_rx_ctrl_t is not accessible in any way. The only thing the programmer can do is to read it in the callback but there is no explanation about the real meaning of that timestamp (when does it start counting?) and moreover the programmer is forced to capture some kind of packet to read the timestamp.
Other items
The behavior of the timestamp is not clear on both my ESP32. The behavior is unclear both in case of WiFi task scheduled on core0 or core1.

HI @matteof93,

timer is started when WiFi clock is enabled. When esp_wifi_start()/esp_wifi_set_promiscuous() is returned, the timer is started.
timer is stopped when WiFi clock is disabled. When WiFi is stopped or entering modem sleep status, the timer is stopped.
it can't be set/reset/read via API.
the unit is microsecond.


Create recent comments page

Create a stand-alone page for viewing recent comments, possibly with expanded information, that can be linked to from the recent comments widget.

When it expands do you expect a new instance of WGo.js board for every comment expanded? How do you picture it looking?


Make install error

Trying to build new Operator and with the latest version of 0.34.0, I get the following error:
make release
./release.sh
Flux version: 0.34.0
Generating the manifests using the built CLI ...
Exporting gotk-components.yaml ...
make: *** [Makefile:2: release] Error 1
I also tried version 0.33.0 with no success. I went back to version 0.32 and this worked fine.
Looks like there were some changes after version 0.32.0, that is causing this issue.
https://user-images.githubusercontent.com/45883050/190167468-7b64071c-7d91-4064-bc48-50dce4a1e7b3.mp4

Zendesk ticket #2463

Taking a look.

@paulofrazao what is the error you're seeing?

When executing the test.sh script, we get the error below.

Attached is the error log.
746434899.zip

@paulofrazao I'm not sure if we're looking at the same code but the test.sh script doesn't use kind but ekz.

The reason the custom-8g62d pod is failing is this:
2022-10-11T17:07:46.734677245Z stderr F Error: open db-704484487: permission denied
2022-10-11T17:07:46.734850632Z stderr F Usage:
2022-10-11T17:07:46.734863867Z stderr F   opm registry serve [flags]
2022-10-11T17:07:46.734866321Z stderr F
2022-10-11T17:07:46.734868205Z stderr F Flags:
2022-10-11T17:07:46.734869888Z stderr F   -d, --database string          relative path to sqlite db (default "bundles.db")
2022-10-11T17:07:46.734871631Z stderr F       --debug                    enable debug logging
2022-10-11T17:07:46.734873344Z stderr F   -h, --help                     help for serve
2022-10-11T17:07:46.734874937Z stderr F   -p, --port string              port number to serve on (default "50051")
2022-10-11T17:07:46.734876981Z stderr F       --skip-migrate             do  not attempt to migrate to the latest db revision when starting
2022-10-11T17:07:46.734878424Z stderr F   -t, --termination-log string   path to a container termination log file (default "/dev/termination-log")
2022-10-11T17:07:46.734879816Z stderr F       --timeout-seconds string   Timeout in seconds. This flag will be removed later. (default "infinite")
2022-10-11T17:07:46.734881099Z stderr F
2022-10-11T17:07:46.734882532Z stderr F Global Flags:
2022-10-11T17:07:46.734884255Z stderr F       --skip-tls   skip TLS certificate verification for container image registries while pulling bundles or index
2022-10-11T17:07:46.734885517Z stderr F

The script is modified to remove ekz and and add kind.

I have no clue what ekz is and I have no bandwidth to understand and maintain this distribution. If we can't find someone with OpenShift knowledge to maintain this repo, let's accept defeat and delete Flux from OpenShift. I see no value in having a Flux version on OperatorHub which is months behind upstream and is affected by major CVEs.

@paulofrazao have we taken this to any of our RH contacts and gotten their input?

@sjavage given that this repo uses custom tools like Typescript generators and EKZ which is a project owned by @chanwit, I don’t see how RH could help fix this.

EKZ is just a left over.
We have been using KIND in the test since March.

| We have been using KIND in the test since March.
But this say otherwise: https://github.com/weaveworks/flux2-openshift/blob/main/test.sh#L4

Since taking over from Chanwit, I just modify the test.sh file before execution. I will permanently change this once this issue is resolved.

@paulofrazao have we taken this to any of our RH contacts and gotten their input?

@paulofrazao have we taken this to any of our RH contacts and gotten their input?

I haven't take this up with RH as they were assisting with Marketplace setup and not OpertorHub. The process is different, but we still need this addressed first as we want both the Marketplace and OperatorHub to have the same version.

Fixed by #16


Improvement to random port allocation for redis testing

Description
While running the Redis test suite it tries to find a random port for redis-server using the python random module. using this method it is possible to get an already used port and the test will then fail.
to get a free port properly we should bind to port 0 to make the OS pick a random available port from 1024 to 65535.
Changes

switch to use the nettools's get_free_port function.

Checklist

[x] Pre-commit hook is installed to do formatting checks before committing code...etc
[ ] Tests included
[x] Build pass
[ ] Documentation
[x] Code format and docstrings

Codecov Report

Merging #591 (2fa81dc) into development (2eec7af) will increase coverage by 0.14%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           development     #591      +/-   ##
===============================================
+ Coverage        69.67%   69.81%   +0.14%
===============================================
  Files               84       84
  Lines             4283     4283
===============================================
+ Hits              2984     2990       +6
+ Misses            1299     1293       -6

Impacted Files
Coverage Δ

jumpscale/sals/process/__init__.py
65.28% <0.00%> (+1.10%)
:arrow_up:

jumpscale/tools/startupcmd/startupcmd.py
86.79% <0.00%> (+1.25%)
:arrow_up:

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 2eec7af...2fa81dc. Read the comment docs.

@sameh-farouk I think this need to be used elsewhere too in tests, can we check other tests?

@abom updated to include those tests from process sal


How to cooperate with YMF825 hardware?

Is the hardware here the same as opl2sd1? If the same, where is the firmware?

Yes, it will work with the same hardware. I didn't initially publish the firmware, as I wasn't sure how much interest there would be in the YMF825 support, but I'll clean up and add the code I use as an example.


treshhold for consecutive check failure

Is your feature request related to a problem? Please describe.
We get a lot of "false positive" change alarms, because of short DNS resolution failures ([gettaddrinfo ](getaddrinfo: Try again)), configuration reload etc.
While most people would want to be notified if their service is unreachable for even one second, in our case we would prefer only trigger alarms when a service is offline for longer periods of time.
Considered Solution: Threshhold of x consecutive failures
If we could configure a setting with a threshhold of how many checks must fail before a notification gets out this would help us immensely
Describe alternatives you've considered
For some of the false positives (getaddrinfo) this seams to be related to docker and DNS which we are also looking into: https://github.com/moby/moby/issues/32106
We have also inserted a time window via cron where ciao checks are disabled and we are doing our configuration relaods
Additional context
We use Docker and ciao 1.9.4

While most people would want to be notified if their service is unreachable for even one second, in our case we would prefer only trigger alarms when a service is offline for longer periods of time.

The period of time you can adjust via cron.

While most people would want to be notified if their service is unreachable for even one second, in our case we would prefer only trigger alarms when a service is offline for longer periods of time.

The period of time you can adjust via cron.

Sorry if i may have phrased it wrong: This is not a time period issue, but about consecutive check failures.
E.g. I would like to get alarm only after 3 checks have failed (because the first two might be a fluke).

This is not in the scope of this project.

This is not in the scope of this project.

This is not in the scope of this project.

This is not in the scope of this project.

OK. I can understand that. Thanks for replying and for your work on ciao. 🫶


Publish Test Results: Failing to publish test results for JUnit .xml files

Note
Issues in this repo are for tracking bugs, feature requests and questions for the tasks in this repo
For a list:
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
If you have an issue or request for the Azure Pipelines service, use developer community instead:
https://developercommunity.visualstudio.com/spaces/21/index.html )
Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: PublishTestResults
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment

Server - Azure Pipelines or TFS on-premises?
Azure Pipelines

If using TFS on-premises, provide the version:

If using Azure Pipelines, provide the account name, team project name, build definition name/build number: mitek, Steel Framing Systems - DesignSuite, Design (1), #20200226.5 Update azure-pipelines-1.yml for Azure Pipelines

https://mitek.visualstudio.com/Steel Framing Systems - DesignSuite/_build/results?buildId=7797&view=results

Agent - Hosted or Private:

If using Hosted agent, provide agent queue name:

If using private agent, provide the OS of the machine running the agent and the agent version:
Private
Windows Server 2012 R2
Agent Version: 2.165

Issue Description
Publish Test Results task is failing to publish a JUnit XML Result file from Test Complete.  This was working fine in version 2.162.2 but fials in the version now being used 2.164.3.  I have tracked it down to the change made in commit 3b68a25b536927850b1efa61c4d09272e504c994.  It looks like we are not getting a PTR_TEST_RUNSUMMARY.json file in the temp directory and hence the method looking for that file fails, which results in the tests not getting published.

JUnit Results File:
Can873_Results.zip
Task logs
logs_7797.zip
Troubleshooting
Manually reverted to a previous version and it works fine.
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Error logs

Can you please let us know what is the .NET framework version installed on the build agent machine?
If the .NET framework version installed on the machine is 4.6.1 or less than that then can you please try upgrading the .Net framework version to 4.6.2.

My installed .net version was 4.5.1.  I did an upgrade of .net and it does appear that that was the issue.  The task is now working properly.  So, it looks like it was just an issue with the installed .net version.
Thanks,
Dave Schrock
From: suyash691<EMAIL_ADDRESS>Sent: Monday, March 2, 2020 4:25 AM
To: microsoft/azure-pipelines-tasks<EMAIL_ADDRESS>Cc: Dave Schrock<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [microsoft/azure-pipelines-tasks] Publish Test Results: Failing to publish test results for JUnit .xml files (#12421)
Can you please let us know what is the .NET framework version installed on the build agent machine?
If the .NET framework version installed on the machine is 4.6.1 or less than that then can you please try upgrading the .Net framework version to 4.6.2.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_microsoft_azure-2Dpipelines-2Dtasks_issues_12421-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAOVILGT77APA5H6DPWRULKDRFOJPJA5CNFSM4K4HIGB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENO6HNA-23issuecomment-2D593355700&d=DwMCaQ&c=1_YN3SRSn49ZdqKzAWQvug&r=gW9P6gxmIvI2qLeHRLR6Lw&m=T4nFFO841VRmlDJLHynTUnyCimSIN3AU9KAeRzfUSls&s=x2x7QOI3MaxL_nVWwGz-_2Lq5F5FMAqtJ-cqcOyGsrM&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AOVILGTJFIZJTDC2XFDHNALRFOJPJANCNFSM4K4HIGBQ&d=DwMCaQ&c=1_YN3SRSn49ZdqKzAWQvug&r=gW9P6gxmIvI2qLeHRLR6Lw&m=T4nFFO841VRmlDJLHynTUnyCimSIN3AU9KAeRzfUSls&s=qD05O50l_9Fn6BOYA_2s542ZbdxV5m698ndfrhH0oDE&e=.
MiTek Holdings, Inc.. All Rights Reserved ---- This communication (including any attachments) contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s), please note that any distribution, copying, or use of this communication or the information in it is strictly prohibited. If you have received this communication in error, please notify the sender immediately and then destroy any copies of it.


Fix/tool suite update

Updates the version of suite_snvphyl tool suite so it will make sure to install the newer version of smalt that was just merged in.

I am holding off on making this update now since there's other things to fix.


S3 notification configuration cloudformation missing event configuration types

Hello,
S3 supports the following even types (ref: http://ow.ly/KgSku):

s3:ObjectCreated:
s3:ObjectCreated:Put
s3:ObjectCreated:Post
s3:ObjectCreated:Copy
s3:ObjectCreated:CompleteMultipartUpload
s3:ReducedRedundancyLostObject

Visual Studio schema does not recognise anything but s3:ReducedRedundancyLostObject.

Thanks for letting us know. I have updated the schema which you will see the next time you restart Visual Studio.


Service page

This pull request introduces several key enhancements to our web application. The most notable changes include the integration of Tailwind CSS for improved styling and the introduction of a new homepage , also add the services page with all of it .

nice one


Regular editor freezes

Windows 10, Godot 2.0.3, 64 bits
I am regularly getting freezes with the editor.
Unfortunately I've not been able to find a reproduction yet, and I cannot attach the C++ debugger because it says "only external code is executing" (Visual Studio).
There are no errors in the console.
So far, here is what I was doing for a few occurences of the freeze:

Saving a scene, Godot froze at the loading popup
Writing code
Writing code
Saving script after writing code
Clicking into the code editor

I used the editor for 30 minutes, and now it freezes every 2 minutes and I have to kill and restart it. Then after about 4 freezes, it continues to work normally. That's a bit random. There is not much difference in my usage between those periods, I'm writing code for animated GUI elements.

I had this experience once. no error on console and just freeze.
I think it happens when click script editor.

Unfortunately there is not much that can be done if you can't specify or try to isolate exact steps to reproduce or or an example project where this happens

If it can help, I found that holding Ctrl+Z to make it spam undo is likely to cause an editor crash. But maybe that's not the only symptom.

I think this might have been fixed, please give it a check

the undo/redo crashes/freezes were fixed long ago, so I think this can be closed, if it happens again please let me know

Can someone reopen this issue? Hasn't been fixed as of 3.1

@Altair1234 This issue is very old, you should create a new issue instead. Please include your hardware/software configuration as well as any steps that may cause the editor to freeze.


customize ExceptionResolver can't work.

Expected behavior
can resolve the exception.
Actual behavior
does not work.
Steps to reproduce

add customize ExceptionResolver .

@Component
public class GlobalExceptionResolver implements ExceptionResolver<RuntimeException> {
    @Override
    public CompletionStage<Void> handleException(RequestContext context, RuntimeException exception) {
        context.response().status(HttpStatus.FORBIDDEN.code());
        context.response().entity(exception.getMessage());
        return CompletableFuture.completedFuture(null);
    }
}

2.add exception controller
    @GetMapping("get/exception")
    public void exception() {
        throw new RuntimeException("Forbidden");
    }

Env

Restlight version: 1.0.0-SNAPSHOT
JVM version: 1.8
OS:Windows 10

I haven't encountered this problem with the same environment and the same code.

I haven't encountered this problem with the same environment and the same code.


Re-Enabling EdgeToEdge

I found that with enableEdgeToEdge() introduced in #43 the keyboard was covering the message TextField in the Chat UI (see screenshot below).

The same also holds for other TextFields. Eg when tapping on the Search in the ConversationOverview, the Keyboard covers the FAB-Button (for creating new chats). Without the enableEdgeToEdge() this does not happen.
Therefore I temporally removed this line from main.
Next Steps

Confirm whether this is not just an issue on the emulator but also on the physical device.
Resolve the issue. I found that by adding Modifer.imePadding() eg to line 320 of CourseUiScreen.kt does remove the problem. However, I am not sure what the best approach is to fix this consistently. There are probably much more TextFields that cause the same problem and adding the Modifier to each and every Scaffold does not feel right imo

I think we need to use insets to handle any overlapping as described here. I think using Modifier.imePadding() is the correct way even though it feels a bit weird, but the documentation handles it that way. I'll take a deeper look in the next days.


fix(deps): update dependency @dcos/ui-kit to v4.17.0

This PR contains the following updates:

Package
Type
Update
Change

@dcos/ui-kit
dependencies
minor
4.16.0 -> 4.17.0

Release Notes

dcos-labs/ui-kit
v4.17.0
Compare Source
Features

Textarea: allow for tooltipContent (cbf5f58)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

:tada: This PR is included in version 5.2.4 :tada:
The release is available on:

v5.2.4
GitHub release

Your semantic-release bot :package::rocket:


pypi.python.org documentation is out of date.

https://pypi.python.org/pypi/setuptools/3.4#unix-wget
As you can see it is still pointing to bitbucket instead of github.

The link you provided is to Setuptools 3.4. At the time Setuptools 3.4 was released, those links were correct. Looking at the latest documentation, the steps no longer reference bitbucket. I can't think of any good way to update old documentation.


track mirror accessibility/blocking/redirection on the client-side

To complement our server-side tracking of mirror blocking, we should also track events like "user loaded mirror A successfully", "user could not load mirror B", "user redirected from mirror C to D" on the client-side. This could be done through Google Analytics' custom event reporting but we could also roll our own.

@greatfire-martin
Could we use another analytics service? As this result showed, google analytics is almost inaccessible in China:
http://ce.cloud.360.cn/Snapshot?snapshot=620e31d73e8ab462956372f3be869b13&url=https://ssl.google-analytics.com/ga.js

@Behemouth I don't think that 360 testing is correct. I just tested manually and that GA URL does not seem to be blocked. We are tracking lots of services using GA and I haven't noticed any problems. Our own GF system also reports it as unblocked (https://zh.greatfire.org/https/ssl.google-analytics.com/ga.js).

This has been implemented in WeedProxite now.
Config.js add:
{
  "gaTrackingID":"UA-XXXX"
}

The custom events:
    ga('send', 'pageview')  // pageview is enough for current domain load success

   // load fail
    ga('send', 'event', 'mirror', 'fail',"example.cloudfront.net")

   // redirect domain a to domain b
    ga('send', 'event', 'mirror', 'redirect',"a.cloudfront.net > b.cloudfront.net")

So now you need to give me the gaTrackingID, I'll update it in sites config repo.
Ramsey  just do update WeedProxite (on Azure) as usual, then it will work.

Thanks Joe, just submitted a PR for this: Behemouth/sites#2
Once that's merged, I should do the following for each of our existing mirrors, right?:

re-upload config.js
re-run npm install --production git+https://github.com/Behemouth/WeedProxite.git
re-run ./node_modules/.bin/proxite init

@requiredfield Yes. I have merged it.
BTW: I supposed WAM azure.py already have the "Install or Update site" function. Every time it updated, we just need to redo this "update/reinstall" process on each existing Azure server.

I just tried this for siteid 52gi8 and after uploading the new config.js, the npm install command failed with
{
    "Error": "\r\nnpm ERR<EMAIL_ADDRESS>postinstall: `node ./bin/postinstall`\r\nnpm ERR! Exit status 2\r\nnpm ERR! \r\nnpm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.\r\nnpm ERR! This is most likely a problem with the WeedProxite package,\r\nnpm ERR! not with npm itself.\r\nnpm ERR! Tell the author that this fails on your system:\r\nnpm ERR!     node ./bin/postinstall\r\nnpm ERR! You can get their info via:\r\nnpm ERR!     npm owner ls WeedProxite\r\nnpm ERR! There is likely additional logging output above.\r\nnpm ERR! System Windows_NT 6.2.9200\r\nnpm ERR! command \"node\" \"D:\\\\Program Files (x86)\\\\npm\\\\1.4.28\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js\" \"install\" \"--production\" \"git+https://github.com/Behemouth/WeedProxite.git\"\r\nnpm ERR! cwd D:\\home\\site\\wwwroot\r\nnpm ERR! node -v v0.10.32\r\nnpm ERR! npm -v 1.4.28\r\nnpm ERR! code ELIFECYCLE\r\n",
    "ExitCode": 1,
    "Output": "\r\n><EMAIL_ADDRESS>postinstall D:\\home\\site\\wwwroot\\node_modules\\WeedProxite\r\n> node ./bin/postinstall\r\n\r\n"
}

Bug in weedproxite or something on my end?

@requiredfield  Fixed. Once agian strange bug only on Azure windows. :sob:

Thanks for fixing. CDT Azure mirrors have now all been updated. (Still waiting till GFWA includes blocking data to start monitoring and reporting them to Centrice.)
/cc @percyalpha @greatfire-martin


numpy>=1.22 support

Hello!
I'm still not able to install deepsparse with numpy>=1.22 with pip install.
The pipy version does not seem to include the modification.
ERROR: Cannot install deepsparse and numpy>=1.22 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested numpy>=1.22
deepsparse 1.5.2 depends on numpy>=1.16.3
onnx 1.12.0 depends on numpy>=1.16.6
sparsezoo 1.5.2 depends on numpy<=1.21.6 and >=1.0.0

Hi @SmartAudioTools support for the latest numpy versions was added as part of our work towards our 1.6 release which will be cut soon. In the meantime, you can access the latest code with sparsezoo-nightly

Hello @SmartAudioTools
Release 1.6 had gone out; release notes are here.
I am going to ahead and close out this issue. Feel free to re-open if you have additional questions.
Thank you! Regards,
Jeannie / Neural Magic


Align instanceof check with type cast

I added the changes entry to the existing one for you.

Thank you. I will make sure the new PRs have them out of the box.


Create an image for boot from USB stick

I have successfully built the image "rpi-test-image" and booted my "Raspbery Pi 4" from the SD card.
However, you cannot use this image to boot from a USB stick.
In the file "cmdline.txt" (partition "boot") the SD card is fixed for the parameter "root":
root=/dev/mmcblk0p2
How can I create an image to boot from a USB stick?
Jan.

You should play with CMDLINE_ROOTFS. With that you would be able to set anything for that part of the arguments.

Are you using uboot?

Regarding U-Boot and Linux Kernel the following variables are set in my machine configuration:
RPI_USE_U_BOOT = "1"
UBOOT_MACHINE = "rpi_4_config"
KERNEL_BOOTCMD ?= "booti"
RPI_KERNEL_DEVICETREE = "
broadcom/bcm2711-rpi-4-b.dtb
"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub8-gic.bin"
SDIMG_KERNELIMAGE ?= "kernel8.img"
KERNEL_IMAGETYPE_UBOOT ?= "Image"
KERNEL_IMAGETYPE_DIRECT ?= "Image"
I've attached my machine configuration "rpi4-64.conf" as "rpi4-64.txt"
rpi4-64.txt
By the way: for "meta-taspberrypi" there are 2 sources:
https://github.com/agherzan/meta-raspberrypi.git
https://git.yoctoproject.org/meta-raspberrypi
Which GIT repository should I use?

@JMStranz Can you see the usb drive in u-boot console? May find this link useful

https://wiki.analog.com/resources/tools-software/linuxdsp/docs/das-u-boot/loading_file_from_usb_storage_in_uboot

Although not u-boot this is how I boot a live usb image for x64 AMD machine with grub.  You may need to create an initrd put that on the usb drive then instruct u-boot to boot off usb drive's initrd image + device tree.
menuentry 'Initrd Image' {
    linux /bzImage LABEL=root root=/dev/ram0 console=tty1 console=ttyS0,115200n8 rootfstype=ext4
    initrd /initrd
}

Yocto wise to build initrd just need to set these two variables
INITRAMFS_IMAGE ?= "<image recipe name>"
INITRAMFS_IMAGE_BUNDLE ?= "0"

Since I am still using the older branch "dunfell", I need to set the variable "CMDLINE" in my "local.conf" file.
E.g. for booting from a USB stick:
CMDLINE = "dwc_otg.lpm_enable=0 ${SERIAL} root=/dev/sda2 rootfstype=ext4 rootwait"
The possibility to set the variable "CMDLINE_ROOTFS" is only available in one of the newer branches of "meta-raspberrypi".

@JMStranz The yocto project one is a mirror of the Gihub project. So this means that it doesn't matter which one you are using.
So the answer is yes, you are using uboot. Check the scr file: https://github.com/agherzan/meta-raspberrypi/blob/acb2f73e58c5a2e105e416c5e8a609c493193005/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in


queryToCsv with empty query returns incorrectly delimited header row

Using v3.4.4, I used queryToCsv to backup sets of data, but in some cases "no results" are returned.
When exporting using the following settings (using tab as a delimiter):
spreadsheet.queryToCsv(query=myQuery, includeHeaderRow=true, delimiter=chr(9));

The header incorrectly used a period as a delimiter:
COL1.COL2.COL3

... instead of tabs:
COL1	COL2	COL3

Hmm... I see that.
Perhaps it's an issue with FileWrite.  Try this with the tab-delimited CSV results.  (NOTE: I'm using ACF2016.)
filewrite("c:\emptyquery.csv", result, "utf-8");

This converts the tabs to periods. I don't think I've ever seen this before.  (I'll test later in ACF2021 and latest Lucee.)

Getting the same (expected) result in the file using Lucee.

Getting the same result in the file with each of ACF2016, 2018 and 2021:
myQuery = QueryNew( "column1,column2", "VarChar,VarChar", [] );
result = spreadsheet.queryToCsv( query=myQuery, includeHeaderRow=true, delimiter=chr(9) );
WriteDump( result );
Filewrite( ExpandPath( "emptyquery.csv" ), result, "utf-8");


Can't install on RPi 4

I am trying to install your SDK on my RPi and it fails, saying it can't find the distribution. The same command
works fine on my Mac.
python3 --version = 3.7.3 on Rpi,   = 3.8.3 on Mac
Using the following command:      python3 -m pip install wyze-sdk
I also tried:   sudo python3 -m pip install wyze-sdk
and got the same results. The documentation indicates that using "wyze_sdk" for the distribution name would work and it does not.
Any suggestions?

I had to install Python >= 3.8 on my Raspberry Pi before I got the wyze-sdk to work.
$ python3.8 --version
Python 3.8.11
Hope this helps!

Tony

From: RMCob @.>
Sent: Thursday, December 2, 2021 12:42 PM
To: shauntarves/wyze-sdk @.>
Cc: Subscribed @.***>
Subject: [shauntarves/wyze-sdk] Can't install on RPi 4 (Issue #58)
I am trying to install your SDK on my RPi and it fails, saying it can't find the distribution. The same command
works fine on my Mac.
python3 --version = 3.7.3 on Rpi, = 3.8.3 on Mac
Using the following command: python3 -m pip install wyze-sdk
I also tried: sudo python3 -m pip install wyze-sdk
and got the same results. The documentation indicates that using "wyze_sdk" for the distribution name would work and it does not.
Any suggestions?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/shauntarves/wyze-sdk/issues/58, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHJQZ7O5CMCA3N6QWN4D2FLUO6VYXANCNFSM5JHW45SA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

The problem seems to be the requirement for version 3.8.3 of Python. When I downloaded the source code and changed the requirement to be >= 3.7.3, I was able to install from the source.
When I tried "sudo apt-get upgrade python3" it tells me the latest version is 3.7.3.
ps: My system is the totally up to date.
Linux morph-pi 5.10.63-v7l+ #1457 SMP Tue Sep 28 11:26:14 BST 2021 armv7l GNU/Linux

I left the default Python 2.7 and 3.7 installations untouched and installed a new 3.8 dedicated for my home automation setup. I use pytomation and I wrote a custom interface that utilizies Shaun's wyze-sdk (let me know if you want the source.)

From: RMCob @.>
Sent: Thursday, December 2, 2021 3:53 PM
To: shauntarves/wyze-sdk @.>
Cc: Anthony Stabile @.>; Comment @.>
Subject: Re: [shauntarves/wyze-sdk] Can't install on RPi 4 (Issue #58)
The problem seems to be the requirement for version 3.8.3 of Python. When I downloaded the source code and changed the requirement to be >= 3.7.3, I was able to install from the source.
When I tried "sudo apt-get upgrade python3" it tells me the latest version is 3.7.3.
ps: My system is the totally up to date.
Linux morph-pi 5.10.63-v7l+ #1457 SMP Tue Sep 28 11:26:14 BST 2021 armv7l GNU/Linux
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/shauntarves/wyze-sdk/issues/58#issuecomment-984992671, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHJQZ7IGYVPGR25R7NQSUNDUO7MFFANCNFSM5JHW45SA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Thanks for the offer but I have everything that I need working for now. I am the owner of homebridge-wyze-connected-home-op and am working to add Shaun's Vacuum functionality to that plugin in order to expose it to HomeKit.

3.8 is required, in fact, 3.9 is probably best.
On Thu, Dec 2, 2021 at 4:00 PM RMCob @.***> wrote:

Thanks for the offer but I have everything that I need working for now. I
am the owner of homebridge-wyze-connected-home-op and am working to add
Shaun's Vacuum functionality to that plugin in order to expose it to
HomeKit.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/shauntarves/wyze-sdk/issues/58#issuecomment-984996838,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABEDBMFKE5YHELU37DRIWSDUO7M5XANCNFSM5JHW45SA
.
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.


MichaCo.net certificate expiry

The certificate to https://michaco.net/blog/CacheManagerReleaseOneDotOneNewFeaturesAndFuture
in Chrome says Warning! expired because it is IssuedTo: *.azurewebsites.net
but the certificate for https://cachemanager.michaco.net/
in Chrome is OK because it is IssuedTo: cachemanager.michaco.net

The naked domain michaco.net doesn't have a certificate right now. Azure App Service's build in certificates (free version) only works with non naked domain for whatever reason unfortunately. Was going to change all links and the default domain to www.michaco.net, which is already configured.
Thanks for reminding me ^^


Type error in graphics_shader.js

In function createShader the line addLineNumbers(src) should be addLineNumbers(error)

I don't think this is the case. The line is:
          logERROR("Failed to compile " + typeName + " shader:\n\n" + addLineNumbers(src) + "\n\n" + error);

addLineNumbers prepends a line number to each line of shader source (the string held in 'src') and then, lastly, the error returned from WebGL is printed (with no line numbers required).

Ok sorry then, closing now, thank you


Implementing cd('-') to behave like Bash's "cd -"

I added a previousDir field to common.state to allow the cd() function to have this option. I also added unit tests for this behavior.
 This isn't a critical feature, but it doesn't cause too much harm, so I figured I'd implement it.

@nfischer: Just a few small things, otherwise great job!

@ariporad this should be good now

LGTM!


Porting bch-util into bch-js

https://www.npmjs.com/package/bch-util

:tada: This PR is included in version 4.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Document zenazn/goji vs goji/goji

It looks like goji/goji is the successor to this project. I think some documentation clarifying the differences between the projects and which one people should use would be helpful.
The website in this projects description also has an example for the newer version but tells users to go get github.com/zenazn/goji.

Oops—the website should read go get goji.io. I've gone and fixed that
As for the broader question of goji/goji vs zenazn/goji, documenting it is still on my list, but I strongly encourage new projects to use goji/goji.


gostreamdeck: Settings:Set Mv Meter

Options: On, Off & Toggle don’t work.
Instead they change Labels in Multiview display settings to 0, 1
or 2...

Solved in commit 7130e6ea37a63b308905e00a26a56eaa04917d7c


Change to reports

Describe the solution you'd like
Assess currently available reports to determine if any would be improved by an intermediate dialog to specify report details.
Alternatively:
Build form dialog onto Reports navigation page and update enabled status of individual controls based on the report selected (non-related fields should read "N/A" when not in use to avoid confusion

Which fields are available will need to be specified at the table-level for interpretation by Form_fsubNavigationSubReports VBA script

Rather than specify available fields at table-level, specify whether the referenced object is a form (for options selection) or a report

Closed in reports-update branch


error during install

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Hue Maven Parent POM 2.1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ hue-parent ---
[INFO] Installing /home/hadoop/hue/maven/pom.xml to /home/hadoop/.m2/repository/com/cloudera/hue/hue-parent/2.1.0-SNAPSHOT/hue-parent-2.1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.497s
[INFO] Finished at: Tue Oct 30 17:51:46 CST 2012
[INFO] Final Memory: 3M/117M
[INFO] ------------------------------------------------------------------------
make[1]: Entering directory `/home/hadoop/hue/desktop'
make -C core env-install
Traceback (most recent call last):
File "setup.py", line 17, in
from hueversion import VERSION
File "/home/hadoop/hue/desktop/core/hueversion.py", line 1
../../VERSION
^
SyntaxError: invalid syntax

i also get the error from the release-3.11.0 tarball ,

Make sure you use Maven 3

i also get the error from the release-4.2.0

Did you solved this problem? I also get the error. Version of Maven is 3.0.5. Version of Python is 2.7.6.

i get the error from the release-4.1.0

I get the same error with hue 4.7.1, Python 2.7.17 on Ubuntu18.04.
After replacing all hueversion.py files' VERSION as @ainilife mentioned make apps without VERSION error.
X => ../../../VERSION
O => VERSION="4.7.1"
Comment out original VERSION:
find . -name "hueversion.py" -exec sed -i "/VERSION/ s/^/#/" {} +
Add new line VERSION="4.7.1"
find . -name "hueversion.py" -exec sh -c 'echo VERSION="4.7.1" | tee -a {}' ;

I get the same error with hue 4.11.0, Python 3.8, ubuntu:20.04  built by Dockerfile. fix it by:
RUN cd /hue && \
    find . -name "hueversion.py" -exec sed -i "/VERSION/ s/^/#/" {} + && \
    find . -name "hueversion.py" -exec sh -c 'echo -e "\nVERSION=\"4.11.0\"" | tee -a {}' \;


looking to integrate with kapp deployment tool

hey all,
thanks for project first of all, i'm eager to see where yall are headed.
i'm one of the authors of kapp (https://github.com/k14s/kapp; https://get-kapp.io). kapp is a deployment tool that accepts plain yaml/json k8s configuration and drives a deployment by first performing diff, then based on diff results creating, deleting, updating resources.
from what i understand tanka includes both config generation (jsonnet facilities) and deployment tool (that drives kubectl). im curious about your choice on rolling both of these concerns into a single tool vs having two separate standalone tools that are loosely coupled (by that i mean depending on unixy mechanism to transfer content e.g. kapp deploy -a foo -f <(tk show)).

So, the design idea for Tanka is to provide a tool that takes JSON compatible languages (though we only focus on Jsonnet for now) and provide a nice developer experience (show, diff, apply workflow, confidence in working, good error messages, command line completion, tk status - an overview and many more).
Tanka tries to become a full solution for configuration Kubernetes – in a single command. Much like the go command got you covered when it comes to working with go. While this is not strictly the UNIX philosophy (you could have a compiler, a linker, a lint and vet tool, a doc tool, etc), it has proven to be incredibly easy for users to use. because they have one command that gets them covered.
I see kapp is having a similar approach, though being focused on only providing a developer experience, which is still a very cool thing. Due to the overlapping functionality, what would it bring both projects to integrate?

thanks for circling back quickly.

Tanka tries to become a full solution for configuration Kubernetes – in a single command. Much like the go command got you covered when it comes to working with go.

one of the reasons ive ended building multiple smaller tools that interoperate well together was because i noticed that many users customize their workflow heavily. for configuration some use jsonnet, others, ytt, etc. same goes for secret management. hence i think by making tools single-purpose and well polished it's less of a barrier to integrate (especially within existing workflows). that's just my take on that though.

it has proven to be incredibly easy for users to use. because they have one command that gets them covered.

i do agree that basic workflow is easier for users when it's all "bundled in". as they progress in my experience more knobs are necessary for integration.

Due to the overlapping functionality, what would it bring both projects to integrate?

im not certain. i'm interested in swapping few ideas in deployment or configuration areas. (not sure if yall have a community call to join).
one possibility i see from my side is within kapp-controller project (example CRD: https://github.com/k14s/kapp-controller/blob/master/examples/simple-app-git/1.yml). i was planning to implement jsonnet template step (in addition to existing ytt step). tanka show command may be of help here as it provides nice jsonnet experience.
from tanka side, i believe tk show | kapp deploy -a app1 -f- --yes should already work. if tk is embracing single tool workflow, is there a possibility of making deployment part "pluggable" so that kapp deploy can be executed by tk?

Integrating
So, Tanka is basically "Batteries included but swappable". Low level operations (such as show or even eval) are available for use in other tools. As you have pointed out, this could be easily piped to kapp.
This also gives users all the flexibility they might need, they can hand wire all tools they need. Do you think it would still be necessary if Tanka was calling kapp instead? I have the feeling that this overcomplicates it, because we need to come up with a new way of configuring it, etc. Bash pipes are powerful and should probably just be used here.
Community call
Well, until yesterday the project was not announced and did not quite have a community outside of Grafana Labs, thus no call yet.
For sure we can set one up once in a while. Until then, the less formal way of communication is Slack: https://grafana.slack.com, join the #tanka channel.

#214 (exporting) can be used as a manifest generator for input to kapp.


feat: UI override registry

SUMMARY

When serving Superset, there are many cases where it may be desirable to customize specific UI elements. This PR introduces a UiOverrideRegistry for that purpose.
The new TypedRegistry is better suited for this than the existing Registry class, because different keys can have different types of values, and all the keys offered by Superset are enumerated here.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

🏷  preset:2022.15


The benchmark called "Benchmark" fails when executed because nested defs aren't enabled.

I tried running the benchmark "Benchmark" via the following commands:
$ go get go.starlark.net/starlark
$ go test -bench="Benchmark$" go.starlark.net/starlark

and got the following output
--- FAIL: Benchmark
    eval_test.go:445: /home/mknyszek/go/src/go.starlark.net/starlark/testdata/benchmark.star:9:3: this Starlark dialect does not support nested def
FAIL
exit status 1
FAIL    go.starlark.net/starlark        0.185s

Perhaps I missed a flag or something somewhere, so I apologize in advance for the noise if so.
On a side note, I'm personally interested in seeing some end-to-end benchmarks of more complex and realistic Starlark scripts. :)

Thanks, I've mailed #153 to fix this.

On a side note, I'm personally interested in seeing some end-to-end benchmarks of more complex and realistic Starlark scripts. :)

Well, "be the change you wish to see in the world". ;-)
I have my own benchmarks of Starlark-Go but they're embedded in a large application that unfortunately I can't share.  In a single thread it's slower than CPython, but if you have many Starlark threads and a multiprocessor, it scales much better.

Well, "be the change you wish to see in the world". ;-)
Fair enough. :)

Thank you for the quick fix!


Bug 2235423: Random bugs error in relocate/failover dialog: "No DRPolicy found"

Manual cherrypick of https://github.com/red-hat-storage/odf-console/pull/1028

/cherry-pick release-4.14-compatibility

/refresh bugzilla

/bugzilla refresh

/cherry-pick release-4.14-compatibility

/approve
/lgtm


Updated readme with more explanations/test

@codenamejason when you have time to review the text it would be amazing!


Example Usage

Issue
I'm trying to integrate d3-force-cluster-3d with d3-force-3d in a library I'm building. I hooked up the library and have it rendering but clustering is not working.
I think my problem is its not entirely clear what the centers method should return. I attempted  https://github.com/reaviz/reagraph/blob/clusters/src/layout/forceDirected.ts#L62-L80 but it doesn't seem to be correct. I was wondering if you had an idea what I could be doing wrong or a better example I could lean on.
If you want, you can clone this branch https://github.com/reaviz/reagraph/tree/clusters and do yarn install + yarn start and goto Clustering storybook story that opens.

@amcdnl that accessor method should return the central coordinates of the cluster the node is associated to. Or you can choose a node in each cluster that represents the cluster center and just return that node object for the associated nodes.
I noticed that your force diagrams are in 2D. For that, ther regular d3-force-cluster module should suffice. Any specific reason why you prefer to use the 3d variant?

should return the central coordinates of the cluster the node is associated to

OK - Thats helpful. If thats the case, shouldn't the code I have somewhat work?
return {
            z: 0,
            x:
              Math.cos((idx / clusterCount) * 2 * Math.PI) * 150 +
              fakeWidth / 2,
            y:
              Math.sin((idx / clusterCount) * 2 * Math.PI) * 150 +
              fakeHeight / 2
          };

Is there a library I could use to help calculate this?

Any specific reason why you prefer to use the 3d variant?

The library also supports 3D, I was just going to use this for both 2d and 3d.

Is there a library you would recommend to calculate this?

Nothing comes to mind. A common pattern as I mentioned above is to simply use one of the nodes in the cluster as the cluster center. Assuming there are other forces active in the system, this way the cluster centers also keep moving and adjust to each other.

The library also supports 3D, I was just going to use this for both 2d and 3d. I assumed that would work if I just removed the Z dimension.

Ok. Yeah that should work fine. As long as the main force engine is configured with the matching number of dimensions, via numDimensions.


⚠ Bofrost.fr has degraded performance

In 04c1e5e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1140 ms

Resolved: Bofrost.fr performance has improved in 864870a after 7 minutes.


On Linux, replace local Google Docs/Sheets files with files containing their url bookmarks.

Are there any plans to make drive behave like the Windows counterpart regarding the Google Documents/Sheets? To have bookmarks pointing to Google Documents/Sheets instead of empty files that we have now?
Even those empty files that we have now are an advantage compared to what alternatives of drive on Linux (e.g., grive) present. I am hopeful that drive will evolve into a full-featured Linux client for Google Drive.

Thank you for the faith, I hope we can gain traction and get it right :) Actually someone had requested this feature and I had it in mind. The only problem is that OSX and Linux plus other *NIX based systems don't seem to have a uniform way to create files that are openable via click so I then put it on my back burner, I could be wrong. If you might have some tips towards accomplishing this, please feel free to share them. The empty files are for there consistency's sake and are non pushable upstream.

I have added four bookmark files to the shared folder testdir (link
above).  They were produced by dragging bookmark from bookmark editor to
file manager (Dolphin of KDE). The Chrome and Firefox browsers seem to keep
bookmarks in html format. Those are quite bulky, although it must be easy
to trim them down. The KDE browsers produce simple *.desktop files, that
work either with, or without the extension. In all cases the bookmark files
are correctly recognized by KDE file manager and open in the default
browser (in my case – Firefox).
So I think it would not be difficult to implement my suggestion. First
someone has to try the same I did on Gnome, XFCE, Unity environments. I
hope all of them recognize the *.desktop standard, and I would be surprised
if any of those failed to support the Firefox/Chrome standard. And then
choose the better supported one.
On the command line side it might be more complicated. But something like
drive printlink
command could be implemented to extract the link from the desktop/html
file. And even
drive edit file_linking_to_google_document
could be implemented, provided we either have an option during the
authentication phase, making the user specify the default browser command,
or using xdg-open standard, internally calling xdg-open on the link in the
desktop/html file (xdg-open works in Ubuntu, although I heard it is not
universally supported throughout Linux distributions).
See here for discussion on best ways to open web links on the command line:
http://stackoverflow.com/questions/5116473/linux-command-to-open-url-in-default-browser/9293402#9293402

Sorry for the late reply, I had gone out for quite a bit. Nice, thank you very much for the research. So yes, as you can see none of them are uniform. Everything being commandline based, the simplest way I can think of is for the user to specify the link export format in the config files that drive uses. This format if present will be used to create such files that are exportable on click. So during a pull, if the config is present and link exporting is specified, instead of an empty file, the appropriate fields will be written to that file, and it still should be non upstream pushable.
For example:

Note this is an imaginary non-standard config:

$ cd ~/gaccount
$ cat << ! > .gd/link_config.json
> {
>     "create_thumbnail": "true",
>     "default_viewer":     "default.browser",
>     "viewer_per_mimeType": {
>            "png": "....",
>             ...
>     }
>  ...
> }
> !

Let me know what you think.

I think that would work. I do not think the users will love the idea of
having to edit the configuration file, but that would be a start.
You do not think it is possible, that all distributions – more or less –
recognize the same *.desktop file standard? See here for more about it:
http://standards.freedesktop.org/desktop-entry-spec/latest/index.html#introduction
It is said there that both KDE and Gnome adhere to it. It is the same for
Unity – see https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles
. I see the same is true of XFCE desktop, and since it is merging with
Razor QT, – which is following KDE in certain respects, I expect it to
stick to that  standard in the future.
Therefore, I would expect that making the links of  *.desktop format would
suit most if not all users.
I have no idea about the Mac OS, though. But doesn't MacOS have an official
Google Drive client?

That is great news! However, I was thinking of creating the clickable file within the formerly zero-byte file. This is because we would be introducing clutter into the user's drive if for each file create an alternate *.desktop file, of which I want to minimize as much. However, this is open to dicussion as well as adaptation as development proceeds.
With time it should evolve into defaults that some iterations later and hopefully by the time it gets to LINUX users who have never liked editing, the bases will be covered and they'll probably need to edit them only when they want to change the behaviour. However with the new suggestions and documents, this might not be necessary at all.
Yes in deed, MacOS has one, but some folks like myself prefer command line tools. Linux will get priority since the users seem to be the majority, covering MacOS shouldn't be that difficult.
Otherwise thank you again, this is a good start. I'll get started later this evening.

I would like to add in that on most "modern" linux OSs the *.desktop files seem to be the standard, and I'm pretty sure you can omit the .desktop extension and as long as it's correctly formatted, it will still launch the specified URL/URI/location/whatever

Thank you @Walkman100 for that information, in deed that is what I was hoping for.

How are we looking for this to be implemented?

Hello @ikwyl6, my apologies for the procastination. What happened is that I spent an hour and half trying to read up on how to get the formats in, but got stumped and the next day came from which this left my radar. If someone would be willing to work with me on the formatting for these files, that would be great.

Procrastination is ok, especially when you do not own anyone anything :)
Anyway, the bare minimum content for the *.desktop file with a link would be:
===================
[Desktop Entry]
Icon=text-html
Name=Document name is here
Type=Link
URL=http://www.website.com/
The only three REALLY REALLY required elements would be [Desktop Entry] header, the "Type" element, and the URL element.
"Name" parameter can be either the file name, or the document name on the Drive - that one could be different from the file name I guess, with special characters etc. In some cases (perhaps not in a file manager window itself - though I will test that tonight) the "Name" might be displayed instead of the file name. "Name" can perhaps be omitted altogether, in case drive does not deal nicely with special characters in document file names.
"Icon" element could point to the generic web link icon (as it does in the example above), or we can create some nice icon(s) specific for google docs. But for the start the generic web link icons would serve. After the basic functionality is in place, we can play with this.
The file should be encoded in UTF-8.
I am afraid I can offer no help in implementing the functionality, - except by way of testing.
By the way, Google Slides should also be granted the functionality discussed here, besides Docs and Sheets, right?

Thank you @dgvirtual for this information. Actually I think I had gotten a format similar to what you have but mine didn't work.
That is right, Drawings, Sheets and other formats supported by Google Docs should be too granted the functionality. I am looking forward to getting this in. I'll be about 15 hours because of a class project that is due tonight but after that I should get this in real quick. Please watch your inbox for a call to help in testing. Thank you again.

Hey folks, please take a look at PR https://github.com/odeke-em/drive/pull/105

Sorry, I am not experienced in git, so could someone tell me how to install drive WITH this patch? The regular way would be
go get -u github.com/odeke-em/drive/cmd/drive

but it does not install this patch...

While I wait for the opportunity to test the patch: I noticed that xdg-open command does not really open the google document upon invoking it in a browser (it opens the file as a text file instead). So,
xdg-open GoogleDocument.desktop

does not work. You have to extract the url from the file manually, which is tedious, and this works, but is even worse:
xdg-open $(grep "^URL=" GoogleDocument.desktop |awk -F= '{ print $2}')

Could perhaps a command like
drive show GoogleDocument.desktop

be implemented, which would internally invoke xdg-open on the url in *.desktop file, and thus open Google Docs/Sheets/Slides in browser? Alternatively, such command could open any file as it is stored in the cloud in a browser...

Am doing this via mobile so pardon the typing. To check out the patch:
$ cd $GOPATH/src/github.com/odeke-em/drive
$ git fetch --all && git checkout linux-file-bookmarking
$ go get github.com/odeke-em/drive/cmd/drive

Re-run the last step every time you update the source code.
For the drive show, baby steps for now. Once the first request is in, then we can think about this. Also would you mind moving all patch testing comments to the PR #105?

Fixed by https://github.com/odeke-em/drive/pull/105 that addresses the functionality requested.

Since the functionality is very basic and we have not solved the icon problem yet, I have made some very crude icons and the below commands would help put them in place for your file manager to show them on the files representing and pointing to the Google Apps documents. I have made Presentation, document, Spreadsheet and Form document icons, that look somewhat similar to official google icons for these documents.
First of all, you have to install the updated drive program.
Then run the commands, that do these things:

Fetch and put in place my developer-art icons :)
Force-pull all the google documents to your local hard drive, omitting all the other files from the operation;
Change the files somewhat, correcting the Icon= parameter, so they start displaying the proper icons.

Enjoy!
## first - cd to your main Drive directory
## modify to fit your directory
cd ~/Drive

## download some developer-art icons :)
wget https://googledrive.com/host/0B7N4UaoQWBXiU2NsZGh5NFRacEE -O application-vnd.google-apps.document.png
wget https://googledrive.com/host/0B7N4UaoQWBXiQTFJUUtST1FwLU0 -O application-vnd.google-apps.form.png
wget https://googledrive.com/host/0B7N4UaoQWBXiZXJWYTE5eFZGWkU -O application-vnd.google-apps.presentation.png
wget https://googledrive.com/host/0B7N4UaoQWBXiLWRjSHF2endoZ2c -O application-vnd.google-apps.spreadsheet.png

## move icons to the appropriate place (works for Debian/Ubuntu, check that your distribution has icons in that place
mv application-vnd.google-apps.*.png ~/.local/share/icons/

## now, on Drive, force-pull all the Google Apps document files to get *.desktop file contents into them;
## files are searched recursively and recognized by their size, which is less than ONE byte
OIFS="$IFS" ; IFS=$'\n'; for i in `find ./ -size -1c -type f` ;  do drive pull -no-prompt=true --force $i ; done;  IFS="$OIFS"

## replace Icon values in the newly pulled files; files are searched recursively and recognized by their size, which is less than 500 bytes
OIFS="$IFS" ; IFS=$'\n'; for i in `find ./ -size -500c -type f`;  do sed -i "s/application\/vnd/application-vnd/g" $i ; done;  IFS="$OIFS"

Oh wow, that is some dedication, thank you! However,  I think moving the icon deficiency to its own issue would be better since I don't think it is a matter that I have expertise on -- licensing. I just want to make sure we aren't violating Google's terms of service and also that the users of drive can be able to use the icons that we may go with, witb protection. I am currently waiting for an answer back from Google Open Source programs + Drive team offices in regards to them providing us with icons to use. Also in case they do not get back to us, if drive were to distribute icons for Linux, we must make sure that the images you have made are good for distribution ie would everyone be allowed to use your original work. What do you think?

Everyone is allowed to use my original work, that is fine with me. It is
true those icons mimic to a large extent the original Google Apps icons.
Although both the colours and content is different a little. If need be, I
could make them more different still.
However, I am not sure if it is proper to distribute icons in just one size
(128px) and I do not yet know how to install them properly with the
program. That remains to be done in the future.
2015-03-19 15:49 GMT+02:00 Emmanuel Odeke<EMAIL_ADDRESS>
Oh wow, that is some dedication, thank you! However, I think moving the
icon deficiency to its own issue would be better since I don't think it is
a matter that I have expertise on -- licensing. I just want to make sure we
aren't violating Google's terms of service and also that the users of drive
can be able to use the icons that we may go with, witb protection. I am
currently waiting for an answer back from Google Open Source programs +
Drive team offices in regards to them providing us with icons to use. Also
in case they do not get back to us, if drive were to distribute icons for
Linux, we must make sure that the images you have made are good for
distribution ie would everyone be allowed to use your original work. What
do you think?
—
Reply to this email directly or view it on GitHub
https://github.com/odeke-em/drive/issues/74#issuecomment-83588704.

You would need to just look at their license. I'm sure it's close or a variant of GPL 2 or 3. There are "Coles notes" websites that explain the unmodified GPL to you (in case you don't want to read it all).
Or a quick question in the freenode GPL IRC channel. I'm sure there is a FAQ.
If I have time I will research later this week/wkend. On mobile now.

@ikwyl6 whose license, Google's or an individual's?
@dgvirtual that sounds great. Concerning icon distribution, if you are in the legal clear concerning these icons, you could make a git repo or even CDN drop, then provide different sizes as well as share with the icon's users the steps that you described previously. Thank you btw for bringing up the issue of *.desktop files for Linux, as well as for the direction and discussion in helping to solve it!

Having a quick look here (http://setup.googleapps.com/Home/user-resources/google-icons-and-logos):
Important: These icons and logos are for use only in your organization's internal communications
about Google Apps. By downloading Google Apps icons and logos, you are agreeing to the
Guidelines for Using Google Brand Features.

The "Guidelines for Using Google Brand Features" are here: http://goo.gl/pIFLxm
From the "Things you can do", i think you can use the icons. But the last 4-5 bullet points seem to pertain to this situation about the modification of the icons by @dgvirtual. The way I read it anyways. Hopefully Google gets back to you.

However, notice that they are talking about an organization but drive is an open source project. And yes, I too see that a whole bunch of the "don't" clauses seem to point to the previous suggestions, but I could be wrong.

Ok, I think I do need to make the icons more dissimilar to those Google
Apps use - remove the bent corner first of all, change it into a paper clip
or something similar, maybe add some other graphic element (like the holes
made to fit the paper documents to binders). I will do that during the next
few days. I will only keep similar main colour of each, otherwise there is
no point doing separate icons, we could as well point the Icon parameter to
some icons in a set already on Linux distributions.

So I have updated the icons: hopefully they are both different enough and reminiscient enough to the original google icons at the same time. I would hardly take time to set up a repository of my own, as I do not hold them to be of high artistic value. But in case @odeke-em is willing to add them to the source of drive (temporarily, as I am sure more advanced replacements will come shortly), I would be honoured. The source *.xcf icons are to be found in the same directory of Google Drive, right here: https://drive.google.com/open?id=0B7N4UaoQWBXiUS1CcE9EYmw0STQ&authuser=0

Nice! Thank you @dgvirtual for the hardwork. I would be excited to add them into the source, but unfortunately branding and copyrighting are topics that I do not understand well hence I will have to just get the Google Open Source office to take a look at them before I can add them into drive :( However with the repo from you, I can put a reference to your work as well as kindly ask the distributors to package it along. This way you can make as many updates to the icons as needed without having to recompile or make releases to drive. Our friendly platform package manager @shaggytwodope what do you think?
I appreciate this otherwise!

@dgvirtual I haven't heard back from Google Open Source programs despite a couple of efforts trying to push for a response. If they get back, maybe we shall see the way forward.
However, in the meantime, I kindly wanted to ask if you could make a pull request to add the icons into drive as you had previously requested.  Probably put them in a directory relative to root called assets/icons. I'd like to see you added on the contributor graphs as well get the commit logged from you to recognize your contribution.
Thank you very much again, for the advocacy and pushing through to get this feature in. I shall be up in about 7 hours and will be getting things ready for the next release.

@odeke-em Any icons or resources in general added to the project and are shipped and packaged with it just need to mention the license/documentation if possible. (assuming it's cool to ship to begin with).
But in the end any content that has permission is cool as far as I know.
As far as actually packaging/updating idk lol. The debian/ubuntu package in the ppa is basically a one time snapshot.. so not sure how updating the icons would work otherwise.

So I did make a pull request: took me some time to remember the little I knew (and used six year ago) of Git :) Hope I did make everything right.

Thank you @shaggytwodope for the suggestions, we'll need to get in touch to figure out how to get the users to install them.
Thank you @dgvirtual, good stuff. I've merged the PR with commit https://github.com/odeke-em/drive/commit/f8789c1ffd586f1dec1a0053dbf107b98be57e29

Btw @dgvirtual would you mind sharing with everyone how to get their icons installed possibly by writing an entry on the wiki? Thank you.

@odeke-em
Two things of note Ithink need to be mentioned:
missing .dekstop extension, so it's basically treated like a plain text file currently.
not executable, needs to be set to execute ofc.
In regards to the icons themselves tho what we can do is just place the icons in an agreed path and hard link the icon path such as
Icon=/usr/share/pixmaps/application-vnd.google-apps.spreadsheet.png
This way, and Someone PLEASE correct me... the icons stay in place and aren't effected by people changing themes about.
As far as installing them goes tho, it's trivial to just copy the .png files on over and place in the dir mentioned above in debian/arch packages.
maybe a simple extra direction for the people doing this manually like sudo cp *.png /usr/share/pixmaps (or whatever) the agreed path is.
There may be some kinda spec to just use the file name without specific path. OR maybe even set a fallback icon (which would also be ideal if possible)
related links to check out:
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
And of some personal note, while I like and support the idea of using a custom "drive" set of icons. It may be much simpler in the end to simply use some system file type icons based on the spec mentioned above in the links. (Don't hate me, just an opinion lol)
I'll look into it more tomorrow evening, it's late and I'm tired lol. I've released the latest release without icons for now. But I will update later once we can fix/address some of this.

@shaggytwodope sorry for the late reply. Good catch yes in deed currently without the extension the files are being treated as text files, I had been previously informed that the extension didn't matter but I guess it does at least while we haven't yet found a way to.
I hear ye, and don't worry I understand how tiring weekends can get hehe.
Please let me know what you find. I'll probably be pushing up a change over the week after doing some more little research with the links you've provided, but for now school essays and assignments are calling on me.

In my particular case, I have copied the icons I have made to ~/.local/share/icons
For testing purposes, I have made three Google documents and pulled them from the Cloud:
Test Doc
Test Draw
Test Sheet

Then I have made copies of those files with extension *.desktop
Test Doc.desktop
Test Draw.desktop
Test Sheet.desktop

Then I took a regular *.desktop file as produced by Dolphin file manager, with the regular referenced icon, made also extensionless version:
Test regular link
Test regular link.desktop

Then I copied the Google document link file "Test Doc" and hardcoded the link to icon into it (full path, relative path did not work), changed the
Icon=application-vnd.google-apps.document

into
Icon=/home/dg/.local/share/icons/application-vnd.google-apps.document.png
(again, both extensionless version and a version with extension):
Test Doc hardcoded
Test Doc hardcoded.desktop

All these files can be found here: https://googledrive.com/host/0B7N4UaoQWBXiM1lod0ZRWFlfUlU
Then I tested how the files are displayed in four file managers: Dolphin, Nautilus, Thunar, PCmanFM (the screenshots of the tests are to be found in the same directory - see link above).
Dolphin and PCmanFM displayed all files as links, with icons. The expected behaviour :)
Nautilus displayed only files with extension as links, all with appropriate icons. The overlay icon for link (painted on the corner of the main icon) is missing on "Test Doc hardcoded.desktop" file, but it is still treated as a link upon click. The extensionless files are recognized as text. No recognition magic there.
Thunar displayed only files with extension as links, omitting (even in the hardcoded case) the icons. It seems that the file type overrides completely the internal Icon= directive in the file.
Both Thunar and Nautilus on clicking the links complain that the file is not executable, but both offer a possibility to open the appropriate link or mark it executable.
PCmanFM and Nautilus show the Name= parameter value instead of the file name in the *.desktop files.
You have to bear in mind that I did not test it with the full desktop environments (Nautilus=Unity/Gnome, Thunar=XFCE, PCmanFM=?) – I just installed the file managers with the minimum dependencies, my regular desktop environment is Ubuntu. Could it be that the magic file content recognition is turned on upon more dependencies coming in?
Someone has to test these files on Gnome, Unity, XFCE and other desktop environments and post results here for better understanding.
If any conclusions can be made, one would be that hardcoding icon paths gives no effect, and it is possible that adding *.desktop extension to the Google Doc files would make them somewhat user-friendlier.
Another interesting thing is, that the file command recognizes both files with and without extensions as simple text files (while image files are recognized as image files – with or without extension).
dg@bala:~/Debesys/Drive/testdir/desktop$ file Test\ Doc
Test Doc: ASCII text
dg@bala:~/Debesys/Drive/testdir/desktop$ file Test\ Doc.desktop
Test Doc.desktop: ASCII text

So it may be that the difference between plain text and plain text desktop file is not part of common Linux magic file type recognition, but depends on particular file managers or desktop environments.

Nice this is a good investigation. I can't elaborate much as I am up late. However, would you mind sharing this knowledge on the wiki so that folks will be to navigate through their setups. I too could use this information pretty soon :)

Update: I got a heads up from the Google Open Source Programs Office that the icons @dgvirtual made are good to go :)

Great, they must have appreciated my wonderful art :)

@odeke-em So from a bit of searching, it seems the two best ways to go about this is either hardcoded paths, or placing the icons in the existing theme hicolor, this seems to be the common practice for most programs. I'll make a mockup install later this week when time allows.

Good stuff @shaggytwodope, I hear ye on being busy. Otherwise, would y'all mind if we moved the discussion to issue #145?

I have discovered xdg-mime, unlike file command, reports the file type of *.desktop files correctly, and I have updated the comment above.

have you seen how InSync solves this?
I think it would be cleaner to not create a zero byte file and instead of a .desktop file create a .gdoc or .gddoc


fix: pin dependencies to exact versions prior to bun migration

Is the pinning just for the time of the migration?
Actually pinning tends to imply duplicated dependencies on user's side and thus higher bundle size. For instance if one user pulls @emotion/unitless on his own either directly or indirectly there is a huge chance that it might pull 0.8.1 and not 0.8.0 for various reasons (including security). Why would you not allow 0.8.1? (mostly asking to know the reasons behind that change, I'm not challenging the poetntial need for it)

@dubzzz it's meant to be accompanied by https://github.com/styled-components/styled-components/pull/4243
I'll ship it soon, found a corresponding bug in npm that I was hoping would be fixed soon.

awesome ❤

@quantizor

I'll ship it soon, found a corresponding bug in npm that I was hoping would be fixed soon.
This solution doesn't work for deduplication in yarn 3.2.0.