Live testing not working with F#

According to twitter discussions the new ncrunch-like live testing feature in visual Studio 2017 is not working with F#. That would be really a shame if that is the case on RTM.

Best chance at this is probably ionide (example is code lense which is dying on uservoice)... Maybe if we ask @Krzysztof-Cieslak nicely ;)
On the other hand: Does this even support anything but mstest? If it doesn't, it might not be as usable as we think.

https://blogs.msdn.microsoft.com/visualstudio/2016/11/18/live-unit-testing-visual-studio-2017-rc/ says nunit, xunit and mstest.
Since ncrunch works well with F# I assume it's "just" a matter of Microsoft assigning a good developer on that topic. ;-)

Why care about MSFT? There is community based project trying to do it, just needs some better support from community and contributors: https://github.com/parthopdas/tddstud10-vscode

And Core project - https://github.com/parthopdas/tddstud10

@Krzysztof-Cieslak Thanks for pointing to those projects.
@forki Thanks for the link.
Ok so this sounds "doable". Maybe it comes "for free" with the roslyn integration?

cc @morrisjoe for LUT and F#

@matthid nothing is for free - not even if we have roslyn.

@cartermp . Initial target was C#/VB with .NET Framework and 3 test frameworks of nunit, xunit and mstest. Other languages, other frameworks, feature enhancements are in the backlog, which we need to prioritize. Thanks for the feedback on F#.

@morrisjoe I know many devs in the F# community that really use ncrunch a lot. So I assume it's what you want to try next. Also there are many mixed F#/C# solutions out there (where tests are often written in F#) and it would be weird to have that break.

This is external.  @morrisjoe do you have a tracking bug we can link to for the feature request for your team? thanks

Any updates on this?

@dsyme Let's re-open since there is a component to this that we'd have to do.
My understanding is that LUT basically asks the language service to yield back syntax nodes that it can instrument. That would make it a service similar to breakpoint resolution.
@KevinH-MS Happy to chat in the office next week about this, but off hand would you have an estimate of the work it would take to get LUT instrumentation to understand what we'd yield back?

Ping!

Sorry for double posting but, I just want to highlight importance of this for F# adoption.
As you know F# has already excellent testing libraries. But to give you an example from F# adoption point of view, I am leading a team of developers, and writing our tests in F# would be a good entry point to the language for my team. However, doing so we have to give up the live unit testing facility which is also very useful for us. If this feature is implemented nothing will stop us from using F#.

@OnurGumus while I'd love to see MS invest in things like that, I don't really think these teams make that a priority.
You have good alternatives:

https://marketplace.visualstudio.com/items?itemName=LambdaFactory.neptune
https://www.ncrunch.net/

@forki I didn't know about ncrunch. That might actually fit to our needs. Neptune is also nice though we use Visual Studio.

I'm using NCrunch with F#, and it works quite well. Well worth the investment. NCrunch's parallel execution is quite nice, as is the console output. I can drop a printfn where I wanna see a variable's value, and it'll appear in the sidebar.

Video: https://thumbs.gfycat.com/PortlyPeskyAsiaticlesserfreshwaterclam.webp

@dharmaturtle Thanks! I've updated the original post so that if other folks run into this, they can see your post.


Update README.md

Coverage decreased (-57.9%) to 42.105% when pulling b5e3d2eca500a4252da0e4d97e5fe1b91696f822 on iRockyZhou:patch-1 into 3f32b0ef98c781c923b26cef543fdea457da1030 on zedgu:master.


createQueries prevent SolidStart SSR page from loading

Describe the bug
In Safari the page fails to load, and in Chrome, the query never leaves a loading state when all of the following are true:

Solid Query version 5.0.0 or later is installed. (I don't see the issue in 5.0.0-beta.15, which is what makes me think this is a Tanstack issue, not SolidStart)
SSR is enabled using SolidStart
Any component in the page uses createQueries

Your minimal, reproducible example
https://github.com/literalpie/ben-solid-router
Steps to reproduce
Run the app (pnpm run dev) and open it in your browser. The main route will fail to load.
Notice that removing <CreateQueriesComponent /> from the App component allows the app to load.
Expected behavior
The route should load.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
macOS 14.4
Safari 17.4
@tanstack/solid-query 5.28.6
solid-js 1.8.16
@solidjs/start ^1.0.0-rc.0
Tanstack Query adapter
None
TanStack Query version
5.28.6
TypeScript version
No response
Additional context
No response

Yeah unfortunately createQueries primitive does not support SSR currently. But unlike useQueries you can implement a SSR supported structure by simply doing

const makeMultipleQueries = () => {
  return Array.from({ length: 100}).map((_, idx) => {
     return createQuery(() = ({...}))
  })
}

const queries = makeMultipleQueries()

Could this be documented or could we add a warning of some sort?


Rewatches are tracked incorrectly

At the moment, rewatches are not currently tracked properly.
For example, on the 18th of May, 2021, the site says:

Hige wo Soru. Soshite Joshikousei wo Hirou. 1 episode
Horimiya -10 episodes
Tensura Nikki: Tensei shitara Slime Datta Ken 1 episode

What actually happened was I rewatched the first 3 episodes of Horimiya (13 eps), but says I 'unwatched' 10 episodes.

The expected result should have been something like this:

Hige wo Soru. Soshite Joshikousei wo Hirou. 1 episode
Horimiya 3 episodes
Tensura Nikki: Tensei shitara Slime Datta Ken 1 episode

@KanChiMoe Thanks for reporting it, I'll take a look

@KanchiMoe thanks for the patience on this, I haven't had much time rencently.
I just did a change to start computing rewatches as positive activities, so given you have the following history for an Anime:
2021-8-17 Ep 9
2021-8-18 Ep 10
2021-8-18 Ep 8
2021-8-18 Ep 9
2021-8-18 Ep 10
The activities on 2021-8-18 will be 4, 1 watch, and 3 episodes re-watched. Would you mind taking a look? I'll leave the issue opened but if you notice something please let me know!

Mine still says 0 episodes (Kakushigoto Movie) / chapters (Ao no Hako).

I have a similar problem where my rewatched episodes doesn't even register. Here's a link to the screenshot of my MAL episodes log.
Here you can also see that the MAL heatmap doesn't register anything:
https://malheatmap.com/users/NorskNoobing


Added missing "defined" for ifs, which fixes compiler issues

Example compiler error: "_MSC_VER" is not defined [-Werror=undef]

Good catch, thanks!


About a Possible Mistake in the Condition Input of the Control Model Architecture

Hi,
I have been learning the codebase. I noticed that there might be a mistake in the way of giving the condition. In the original ControlNet paper, the input condition is described as in the following image (I am using the control net paper visual since it is more detailed, I know that the architecture is not the same as ControlNet):

Meaning that the condition c is processed by the zero_conv layer and then the input z is added. So, the result of this is the input of the first encoder block of the control net.
In the code, the output of zero_conv is denoted as guided_hint and the condition c is as h_ctr or h_base.

The mistake seems to be here in this code below:

Instead of first adding the input (h_ctr) to the guided_hint,  h_ctr is given to the first encoder block of the control net without addition of guided_hint.
So If I were to visualize the actual code, the architecture would look like this:

Is there any explanation for this?
Thank you!

Is this because of the first layer not being considered as an encoder block?
the first layer of the UNET:

Hi and thanks for the interest.
As you mention, the shown illustration is from the original ControlNet paper. The ControlNet-XS architecture and the initial processing is slightly changed as shown in the papers supplement:

We consider the first layer as a special case closer to preprocessing of the input. Hence, the control signal is added after the very fist "prepocessing" layer.
Cheers

Such a beautiful world we are living in. Thank god for this.
@Sipirius thank you for the explanation, the code is well written and well organized. It is not very hard to understand even though it is really complex 😃.
Have a good sunday!


Log file name is not correct

In the science2grb_offline.sh script, YEAR, MONTH and DAY are not defined:
https://github.com/FusRoman/Fink_GRB/blob/29c81ec2101802f11110b5387807b0d4310a0f19/scheduler/science2grb_offline.sh#L11

fixed in the pull_request #71


RetryPolicyConfig.getDelayMin returning null when only withDelay() is used

Failsafe documentation describes the behavior of RetryPolicyConfig.getDelayMin as:

Returns the min delay between retries.

When the delay is set using the withDelay method the min delay is set to [and returns] null. The behavior is the same for the max delay.
Conventional thinking would imply that a fixed delay would result in the min and max delay becoming the same value.
A small code snippet to reproduce the behavior:
    RetryPolicy<Integer> policy = RetryPolicy.<Integer>builder()
      .withDelay(Duration.ofSeconds(1), Duration.ofSeconds(2)).build();
    policy.getConfig().getDelayMin().getSeconds();  // No issues
    policy.getConfig().getDelayMax().getSeconds();  // No issues
    policy.getConfig().getDelay().getSeconds();     // No issues (although this is zero)

    policy = RetryPolicy.<Integer>builder()
      .withDelay(Duration.ofSeconds(1)).build();
    policy.getConfig().getDelayMin()                // This is null
      .getSeconds();                                // NullPointerException

I think the docs should be updated to specify that min and max only exist if min and max are explicitly set OR (my preference) the use of withDelay should result in delayMax and delayMin being set to the same value.

Thanks for raising this. I pushed an improvement.


Address lookup solutions

Has anyone used EasyRepro with an Address lookup solution? specifically Loqate/PostCodeAnywhere?
If so, have you got it to work? It keeps failing when I tried to set an address.

Closing - off topic


Add CONTRIBUTING.md

It adds a CONTRIBUTING.md file with it's link being referenced in README.md.
Fixes https://github.com/salman-bhai/E-Manager/issues/10

Yes, I saw the changes. :+1:


add envi

Mandatory
Name of the tool: scENVI
Short description: scENVI integrates spatial transcriptomics with scRNA-seq to imbue spatial context onto dissociated single-cell
How does the package use scverse data structures (please describe in a few sentences): All main operations, such as COVET representations, VAE training, inference, etc. are based on adata structures.
The code is publicly available under an OSI-approved license
The package provides versioned releases
The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda)
The package uses automated software tests and runs them via continuous integration (CI)
The package provides API documentation via a website or README
The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions)
I am an author or maintainer of the tool and agree on listing the package on the scverse website

Please check out my comments in #160, most of this applies here as well. Once the main point are addressed, I'll take a more detailled look.


fix(client): Border color change on focus state for input boxes in Account Settings with night mode

10/22/19

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #37375

Please follow guidelines for contributing and get in touch with contributors chat room for help.


Fix scorecard badge URLs in README

/LGTM

@anfredette will this considered to be the fix to https://issues.redhat.com/browse/OCPBUGS-42596 ?

This PR fixes the README badge URLs introduced in PR #334. The main thing that PR 334 did was add a workflow for regular scorecard scans to help us address issues more proactively.  So, it's related to the bug, but I still need to address the specific issues.


GRIST_FORCE_LOGIN breaks public access and iframe embedding

Hey there 👋🏼
The GRIST_FORCE_LOGIN env variable works wonders to disallow anonymous access to our grist instance. However, it has the side effect that documents that are Public access are no longer accessible by "anyone with the link", since even read-only users are redirected to the login page.
As a side effect, embedding a grist doc as an iframe also breaks when GRIST_FORCE_LOGIN is set.
Steps to reproduce :

spin up a Grist instance with GRIST_FORCE_LOGIN=true
create a document, go to the sharing menu and turn Public access to ON and setup public access to read-only
copy and paste the public link to a private browsing window, or try and embed it as an iframe

To me, this is unexpected behaviour as forcing users to log in to use Grist is conceptually different from sharing a read-only document online or embedding a doc via an iframe on another webpage.

There is a (somewhat) related issue that public sharing doesn't work with authentication wrappers implemented at the reverse proxy level https://github.com/gristlabs/grist-omnibus/issues/1

It seems that removing this line fixes the issue: https://github.com/gristlabs/grist-core/blob/ee31764b839a2b05c8cbed27dda91ee1423d1e1c/app/server/lib/FlexServer.ts#L929
However, even if it seems like the docHandler check the access correctly, I am really unsure about the impacts of this removal.
@paulfitz What would be your thoughts about such a removal?

@fflorent that change would indeed make GRIST_FORCE_LOGIN ineffective on document URLs, which would match the expectations of @vviers. A user who is not logged in would not be forced to log in, and if public access to the doc has been granted, they would be given access to it - otherwise receive an error.
I think there would still be a mismatch of expectations for sharing at the workspace and site level. For example, a workspace publicly shared would still require a login.
I have some concern about changing the behavior of this flag, given its current documentation of when set to 'true' disables anonymous access. I could imagine users turning it on, and using "public" sharing to mean anyone who can log in to their SSO.
I wonder if a better solution would be to develop an alternative flag to control behavior on the default personal site. Forcing logins was a simple quick solution to avoid the excessively welcoming behavior we've added there to let people try the app out (focused on our SaaS), but maybe a flag that specifically changed that behavior on that one page would be better. Then access control on non-personal sites, workspaces, and docs can work as normal.

Right, with your remark in mind, we may probably introduce another variable, like GRIST_FORCE_LOGIN_EXCEPTIONS, to let the admin choose what resources might bypass the GRIST_FORCE_LOGIN behavior.
So the admin may set GRIST_FORCE_LOGIN_EXCEPTIONS="document,workspace,site" or part of these values.
What do you think?

So the admin may set GRIST_FORCE_LOGIN_EXCEPTIONS="document,workspace,site" or part of these values.
Is that what you had in mind?

No, I was thinking more along the lines of DO_ALL_THAT_WEIRD_FANCY_STUFF_TO_LET_ANON_USERS_TRY_OUT_GRIST=false (haven't thought of a snappy name for it). So an anon user shows up on home page, Grist says hi, maybe gives a big signup/signon button, but not much else - no specially-added ability to import docs, no specially-added ability to create docs. Maybe GRIST_ANON_PLAYGROUND=false ?
The GRIST_FORCE_LOGIN_EXCEPTIONS approach sounds workable too. The "site" option would be a bit subtle, since you might want one setting for personal sites (especially anon's personal site, which is kind of a weird virtual thing) and another for regular named sites.


modern-cpp-kafka consumer example no longer runs

Repo Steps

Install librdkafka following the example here: https://github.com/morganstanley/modern-cpp-kafka/blob/main/.github/workflows/kafka_api_ci_tests.yml#L132
Run build steps found here: https://github.com/morganstanley/modern-cpp-kafka/blob/main/.github/workflows/kafka_api_ci_tests.yml#L132
See this issue:

modern-cpp-kafka/build/examples$ ./kafka_auto_commit_consumer
./kafka_auto_commit_consumer: symbol lookup error: ./kafka_auto_commit_consumer: undefined symbol: rd_kafka_rebalance_protocol

Also using apt-get install does not work:
$ sudo apt-get install librdkafka-dev
[sudo] password for adam:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  librdkafka++1 librdkafka1
The following NEW packages will be installed:
  librdkafka++1 librdkafka-dev librdkafka1
0 upgraded, 3 newly installed, 0 to remove and 58 not upgraded.
Need to get 0 B/1770 kB of archives.
After this operation, 7654 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Selecting previously unselected package librdkafka1:amd64.
(Reading database ... 237143 files and directories currently installed.)
Preparing to unpack .../librdkafka1_1.9.0-1.cflt~ubu20_amd64.deb ...
Unpacking librdkafka1:amd64 (1.9.0-1.cflt~ubu20) ...
Selecting previously unselected package librdkafka++1:amd64.
Preparing to unpack .../librdkafka++1_1.9.0-1.cflt~ubu20_amd64.deb ...
Unpacking librdkafka++1:amd64 (1.9.0-1.cflt~ubu20) ...
Selecting previously unselected package librdkafka-dev:amd64.
Preparing to unpack .../librdkafka-dev_1.9.0-1.cflt~ubu20_amd64.deb ...
Unpacking librdkafka-dev:amd64 (1.9.0-1.cflt~ubu20) ...
Setting up librdkafka1:amd64 (1.9.0-1.cflt~ubu20) ...
Setting up librdkafka++1:amd64 (1.9.0-1.cflt~ubu20) ...
Setting up librdkafka-dev:amd64 (1.9.0-1.cflt~ubu20) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
$ ls /usr/local/include/librdkafka
rdkafkacpp.h  rdkafka.h  rdkafka_mock.h
$ ls -all /usr/local/lib/librdkafka*
-rwxr-xr-x 1 root root  7334492 Sep 29 11:51 /usr/local/lib/librdkafka++.a
-rwxr-xr-x 1 root root 26235790 Sep 29 11:51 /usr/local/lib/librdkafka.a
lrwxrwxrwx 1 root root       17 Sep 29 11:51 /usr/local/lib/librdkafka++.so -> librdkafka++.so.1
lrwxrwxrwx 1 root root       15 Sep 29 11:51 /usr/local/lib/librdkafka.so -> librdkafka.so.1
-rwxr-xr-x 1 root root  2577064 Sep 29 11:51 /usr/local/lib/librdkafka++.so.1
-rwxr-xr-x 1 root root 14221992 Sep 29 11:51 /usr/local/lib/librdkafka.so.1
-rwxr-xr-x 1 root root 26235790 Sep 29 11:51 /usr/local/lib/librdkafka-static.a
$ echo $LIBRDKAFKA_INCLUDE_DIR
/usr/local/include/
echo $LIBRDKAFKA_LIBRARY_DIR
/usr/local/lib/
modern-cpp-kafka/build/examples$ ./kafka_auto_commit_consumer
./kafka_auto_commit_consumer: symbol lookup error: ./kafka_auto_commit_consumer: undefined symbol: rd_kafka_rebalance_protocol

Found work around nvm

@adammpolak
Could you please share your work around?
I am facing a similar issue
~/cppkafka/build/examples$ ./example_KafkaConsumer_Simple
./example_KafkaConsumer_Simple: symbol lookup error: ./example_KafkaConsumer_Simple: undefined symbol: rd_kafka_rebalance_protocol

So rude of me I should have posted when I got it working.
I believe the issue was that it found an old library that did not have that function, and so it didn't matter that I had another library that DID have that function. You need to check for all libraries and remove them from your paths. Them make sure only to install the way that is given in the link I posted:           git clone https://github.com/edenhill/librdkafka.git
If you go straight apt-get install it won't work


How to detect a command immediately after saying the wake word

Hello, you know how you can ask Siri "Hey Siri what time is it" without first activating it by saying "Hey Siri" and then ask your question.
Any idea how I can implement this feature?
Instead of saying the wake word, waiting for it to get detected, and then saying a command, how do you simply say "{wake word}, {command}" example: "Hey pico, what time is it" and it answers?
Thanks
Here is the code for reference
import os
import speech_recognition as sr
import pyttsx3
import pvporcupine
import pyaudio
import struct
import threading
import time
import winsound
from elevenlabslib import *
from dotenv import load_dotenv

user = "engineer"

# Define a global variable to indicate whether the program should stop
global stop_program
stop_program = False

# Load environment variables from .env file
load_dotenv()

# Initialize text-to-speech engine
engine = pyttsx3.init()

# Initialize speech recognition engine
r = sr.Recognizer()
r.energy_threshold = 170
r.dynamic_energy_threshold = False

# Set mic detection threshold
elUser = ElevenLabsUser(os.environ.get('ELEVENLABS_API_KEY'))
voice = elUser.get_voices_by_name("Rachel")[0]

def listen():
    """
    Function to listen for user command
    """
    with sr.Microphone() as source:
        print("listening...")

        try:
            ListenChirp()
            audio = r.listen(source, timeout=10)
        except sr.WaitTimeoutError:
            print("Timeout: no speech detected for 10 seconds")
            main()
            return

        text = ""
        try:
            # AnswerChirp()
            text = r.recognize_google(audio)
            return text.lower()
        except sr.UnknownValueError:
            print("Unknown Value Error: could not understand audio")

        return ""

def ListenChirp():
    winsound.Beep(600, 200)

def AnswerChirp():
    winsound.Beep(500, 200)

def ConversationFlow():
    """
    Function to handle conversation flow
    """
    while True:
        # Check for specific keywords and respond accordingly
        command = listen()
        words = command.split()
        print(f"User said: {command}")

        if "hello" in command:
            # speak("Hello")
            voice.generate_and_play_audio("Hello", playInBackground=False)

        if "how are you" in command:
            # speak("I am doing good")
            voice.generate_and_play_audio("I am doing good", playInBackground=False)

        if "bye" in command:
            # speak("Goodbye")
            voice.generate_and_play_audio("Goodbye, I am here if you need anything", playInBackground=False)
            break

def main():
    """
    Main function
    """
    porcupine = None
    pa = None
    audioStream = None

    print(f"E.C.H.O version 1.0 - Ready and awaiting your command {user}")

    try:
        picoAPI_Key=os.environ.get('PICO_API_KEY')
        keywordPath=['C:\\Users\\zbeb\\Documents\\GitHub\\Programming\\Python\\Voice Assistant\\Hey-echo_en_windows_v2_2_0.ppn']
        porcupine = pvporcupine.create(access_key=picoAPI_Key, keyword_paths=keywordPath)
        pa = pyaudio.PyAudio()
        audioStream = pa.open(
            rate=porcupine.sample_rate,
            channels=1,
            format=pyaudio.paInt16,
            input=True,
            frames_per_buffer=porcupine.frame_length)

        while True:
            pcm = audioStream.read(porcupine.frame_length)
            pcm = struct.unpack_from("h" * porcupine.frame_length, pcm)

            keyword_index = porcupine.process(pcm)

            if keyword_index >= 0:
                print("Wakeup word detected")
                voice.generate_and_play_audio("Hello engineer, how can I help you", playInBackground=False)
                ConversationFlow()
                print(f"E.C.H.O awaiting your command {user}")

    finally:
        if porcupine is not None:
            porcupine.delete()

        if audioStream is not None:
            audioStream.close()

        if pa is not None:
            pa.terminate()

main()

not sure but ,thats a dealbreaker for me..
"completed" should be enhancement  and discussed in techinical detail....  it was never "Completed",  service provider says to customer "you need to wait"  , when  hes saying something like " i need :this to work as a command /query voice tool in a real world time-critical situation",
any lags, or frustrating , teasing experiences in voice driven ui that is  promising but not quite there, met with apathy is a big red flag, im not sure if i wil even evaluate this.
i had high hopes since its paid and i spent tons on AI already.    maybe i can use trhe Porcupine wiht chaptgpt , if the issue is in Rhino.   Windows Voice  Access is pretty good but... lots of missed opportunity and frustration wiht it.


add prefer es6 class rule with tests

this is based on the rules in the doc https://docs.google.com/spreadsheets/d/12TXV1jKN74sRMQMiFxsKq1W24hWlgZzE-RBQ7M6ZpWE/edit#gid=0
(between what's done and not done, it takes a bit of searching to see what's open to help out on)
from issue #341
the rule link is here

Thanks for the PR! That document isn't actually finalized. cc @jamiebuilds
In that issue i say:

We can pretty much ignore any of the rule that are specific to createClass.

createClass is so old that I don't think it's beneficial to have these rules because it does add overhead.


maps: Simplify using 3-rd party raster tiles (helpers for well known free tiles).

Now it's too bulky: https://www.kaggle.com/alshan/the-gallery-of-basemaps

Done


Fast style transfer error

Hi!
Thanks for making this available!
I get an error on the fast style transfer example saying:
"the value length 874800 is invalid, size of [1,3,33,33] 3267 is expected." and it never starts. This is on Chrome (also Canary) and Firefox, Mac OSX and POP_OS.
In the console it also shows: "Error with Permissions-Policy header: Unrecognized feature: 'interest-cohort'" but this may be unrelated.
Thanks,
Dirk

Sorry this issue was out of track. I just check the latest sample, the issue you mentioned has gone, while another issue occurs on WebGL backend due to https://github.com/webmachinelearning/webnn-polyfill/issues/174. Wasm backend works fine.

@Honry https://github.com/webmachinelearning/webnn-polyfill/issues/174 was fixed. Currently, I run Fast style transfer sample by Wasm and WebGL backend successfully.

Thanks @BruceDai!
@dirkk0, please try the latest sample, it should work now. I'm closing this issue and please let me know if you have further question.


ldm.modules.encoders.modules import BERTTokenizer ModuleNotFoundError

Anyone know how to fix this?
Traceback (most recent call last):   File ".\scripts\merge_embeddings.py", line 1, in <module>     from ldm.modules.encoders.modules import BERTTokenizer ModuleNotFoundError: No module named 'ldm'
Gone as far as wiping out my environment and recreating it from scratch. Even tried reinstalling Anaconda. Intellisense resolves it in VSCode, but python can't at execution when trying to run merge_embeddings.py

It's likely due to a mismatched library in my environment. Will have to do some digging and see if I can figure it out. I'll share details if I find anything useful.

Turns out the solution was to fix the merge_embeddings script.
See PR https://github.com/lstein/stable-diffusion/pull/226


Assembler needs to support unicode escape sequences in strings

MAR supports the following escape sequence in strings: \uXXXX where each X is a hexadecimal digit. This turns into a single hexadecimal number (e.g. \u1234 encodes 0x1234 at that position in the string).

Do you plan to support more escape sequences. the C escape sequences?
for example: https://en.wikipedia.org/wiki/Escape_sequences_in_C

@KevinRamharak Yep! I'm just starting off with the ones MAR supports (and \0) for now.

Great. Ive started a while back on a C compiler for MAR, but never really got anywhere. Im still very interested in learning about compilers and how they work.
Ill be keeping an eye on this project.

@KevinRamharak If you haven't already, I highly recommend the book Crafting Interpreters by Bob Nystrom. It's where I learned a significant amount of my knowledge about this stuff, very well written, and free!

Tnx, ive seen it and skimmed trough it before. I will definitely check it out once i have some more time on my hands.

Closed with c3a8abb4751b97d2fbec9ad7b2d8fd99f5bc3f62.


chore(main): release 0.15.1

:robot: I have created a release beep boop
0.15.1 (2024-07-15)
Bug Fixes

aws login failing gracefully (4651eca)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.15.1
:sunflower:


execution error

python pollster.py
Traceback (most recent call last):
File "pollster.py", line 4, in
import pollster
File "/var/www/python/pollster.py", line 5, in
from pollster.rest import ApiException
ImportError: No module named rest

Hi there,
Please provide a lot more information. What are the contents of pollster.py? What system are you on? What version of the "pollster" package are you using? How did you install it?
Here's what I did on a fresh Fedora 28 installation:
pip3 install --user pollster
python3 -c 'import pollster; print(pollster.rest)'
# output: <module 'pollster.rest' from '/home/adam/.local/lib/python3.6/site-packages/pollster/rest.py'>


test exception

exception is that : com.alibaba.fastjson.JSONException: can't create non-static inner class instance

Codecov Report

Merging #3435 into master will increase coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #3435   +/-   ##
=========================================
  Coverage     80.35%   80.35%
- Complexity     7457     7465    +8
=========================================
  Files           157      157
  Lines         27889    27912   +23
  Branches       6723     6731    +8
=========================================
+ Hits          22411    22430   +19
- Misses         3460     3463    +3
- Partials       2018     2019    +1

Impacted Files
Coverage Δ
Complexity Δ

.../com/alibaba/fastjson/serializer/BeforeFilter.java
94.73% <0.00%> (-5.27%)
5.00% <0.00%> (ø%)

...com/alibaba/fastjson/serializer/SerialContext.java
82.69% <0.00%> (-3.85%)
21.00% <0.00%> (-1.00%)

...stjson/support/jaxrs/FastJsonAutoDiscoverable.java
81.81% <0.00%> (-1.52%)
4.00% <0.00%> (ø%)

...ava/com/alibaba/fastjson/parser/JSONLexerBase.java
69.97% <0.00%> (-0.04%)
812.00% <0.00%> (-1.00%)

...main/java/com/alibaba/fastjson/util/FieldInfo.java
86.62% <0.00%> (ø)
98.00% <0.00%> (-1.00%)

...main/java/com/alibaba/fastjson/util/TypeUtils.java
78.85% <0.00%> (+0.15%)
651.00% <0.00%> (+10.00%)

...ba/fastjson/parser/deserializer/Jdk8DateCodec.java
77.66% <0.00%> (+0.25%)
105.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


WIP: Extract the uaa package to an external library

Co-Authored-By: Caleb Washburn<EMAIL_ADDRESS>

Hey @dennisdenuto sure thing. This PR is based on v0.0.6 of the go-uaa dependency.
In v0.0.7 and v0.0.8 we add back functions that allow for listing a single page and listing all pages: https://github.com/cloudfoundry-community/go-uaa/releases
I can update the PR to make use of the latest release, but note thy the changeset will be significantly larger due to the breaking changes introduced in v0.0.7 and v0.0.8. Alternatively we could address that in a subsequent PR? What is your preference?

@joefitzgerald Thanks for sharing that context. in that case I think it makes sense to merge with v0.0.6 swiftly followed by an upgrade to v0.0.8. The lack of pagination in between should not affect anyone since we have not yet released uaa-cli.

After merging, I am getting failing test cases and my local files are being modified when running make && make install.
$ make && make install
...
Summarizing 4 Failures:

[Fail] ListUsers [It] understands the --zone flag
/Users/drnic/Projects/gopath/src/github.com/cloudfoundry-incubator/uaa-cli/vendor/github.com/onsi/gomega/ghttp/handlers.go:45

[Fail] ListGroups [It] understands the --zone flag
/Users/drnic/Projects/gopath/src/github.com/cloudfoundry-incubator/uaa-cli/vendor/github.com/onsi/gomega/ghttp/handlers.go:45

[Fail] ListUsers [It] executes SCIM queries based on flags
/Users/drnic/Projects/gopath/src/github.com/cloudfoundry-incubator/uaa-cli/vendor/github.com/onsi/gomega/ghttp/handlers.go:45

[Fail] ListGroups [It] executes SCIM queries based on flags
/Users/drnic/Projects/gopath/src/github.com/cloudfoundry-incubator/uaa-cli/vendor/github.com/onsi/gomega/ghttp/handlers.go:45

Ran 188 of 188 Specs in 6.365 seconds
FAIL! -- 184 Passed | 4 Failed | 0 Pending | 0 Skipped --- FAIL: TestCmd (6.37s)
FAIL

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   Gopkg.lock
	modified:   cmd/add_member.go
	modified:   cmd/create_user.go
	modified:   cmd/deactivate_user.go
	modified:   cmd/errors.go
	modified:   cmd/get_password_token.go
	modified:   cmd/get_user.go
	modified:   cmd/refresh_token.go
	modified:   cmd/root.go
	modified:   cmd/set_client_secret.go
	modified:   cmd/target.go

Perhaps can we cut releases of the old stable code before we resume merging + working on this repo again after a long break?


Update license.md with apache template

Using this blog post: https://help.github.com/articles/open-source-licensing/#how-can-i-go-back-through-my-public-repositories-and-give-them-licenses

@CristianGM something to say?

@nucliweb Please, could you check if this is right?

👍


Quectel EC25 modem failed to be enabled with MM 1.22.0 and QMI 1.34.0

Previously, with MM 1.20.6 and QMI 1.32.4 the modem functioned correctly.
At system start, the modem fails to get initialized, and MM reports the following:
root@786715a:~# journalctl --no-pager -u ModemManager
Jul 08 08:06:40 localhost ModemManager[1178]: ModemManager (version 1.22.0) starting in system bus...
Jul 08 08:06:44 786715a ModemManager[1178]: [device<EMAIL_ADDRESS>creating modem with plugin 'quectel' and '6' ports
Jul 08 08:06:44 786715a ModemManager[1178]: [base-manager] modem for device<EMAIL_ADDRESS>successfully created
Jul 08 08:06:44 786715a ModemManager[1178]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:06:44 786715a ModemManager[1178]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:06:44 786715a ModemManager[1178]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:06:44 786715a ModemManager[1178]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:06:44 786715a ModemManager[1178]: [base-manager] couldn't check support for device '/sys/devices/platform/soc@0/33800000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0': not supported by any plugin
Jul 08 08:06:45 786715a ModemManager[1178]: [modem0] unhandled QMI radio interface '9'
Jul 08 08:06:45 786715a ModemManager[1178]: [modem0] unhandled QMI radio interface '9'
Jul 08 08:06:46 786715a ModemManager[1178]: [modem0] state changed (unknown -> disabled)
Jul 08 08:06:46 786715a ModemManager[1178]: [modem0] state changed (disabled -> enabling)
Jul 08 08:06:46 786715a ModemManager[1178]: [modem0] simple connect started...
Jul 08 08:06:46 786715a ModemManager[1178]: [modem0] simple connect state (4/10): wait to get fully enabled
Jul 08 08:06:46 786715a ModemManager[1178]: [modem0] power state updated: on
Jul 08 08:06:50 786715a ModemManager[1178]: [modem0] (quectel) modem reset detected, triggering reprobe
Jul 08 08:06:50 786715a ModemManager[1178]: [modem0] (quectel) modem reset detected, triggering reprobe
Jul 08 08:06:50 786715a ModemManager[1178]: [modem0] (quectel) couldn't check SIM swap: could not acquire SIM object
Jul 08 08:06:53 786715a ModemManager[1178]: [device<EMAIL_ADDRESS>creating modem with plugin 'quectel' and '6' ports
Jul 08 08:06:57 786715a ModemManager[1178]: [modem0] failed waiting for final state: Too much time waiting to get to a final state
Jul 08 08:06:57 786715a ModemManager[1178]: [modem0] failed enabling modem: Operation was cancelled
Jul 08 08:10:03 786715a ModemManager[1178]: [modem1] couldn't start initialization: Transaction timed out
Jul 08 08:10:03 786715a ModemManager[1178]: [modem1] fatal error initializing: Fatal error: modem is unusable

However, upon restarting the MM system service, MM makes some progress in detecting the modem:
Jul 08 08:10:03 786715a ModemManager[1178]: [modem1] fatal error initializing: Fatal error: modem is unusable
Jul 08 08:29:02 786715a ModemManager[1178]: caught signal, shutting down...
Jul 08 08:29:02 786715a ModemManager[1178]: ModemManager is shut down
Jul 08 08:29:02 786715a ModemManager[15542]: ModemManager (version 1.22.0) starting in system bus...
Jul 08 08:29:06 786715a ModemManager[15542]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:29:06 786715a ModemManager[15542]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:29:06 786715a ModemManager[15542]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:29:06 786715a ModemManager[15542]: [base-manager] couldn't check support for device<EMAIL_ADDRESS>not supported by any plugin
Jul 08 08:29:06 786715a ModemManager[15542]: [base-manager] couldn't check support for device '/sys/devices/platform/soc@0/33800000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0': not supported by any plugin
Jul 08 08:30:40 786715a ModemManager[15542]: [device<EMAIL_ADDRESS>creating modem with plugin 'quectel' and '6' ports
Jul 08 08:30:40 786715a ModemManager[15542]: [plugin/quectel] could not grab port cdc-wdm0: Cannot add port 'usbmisc/cdc-wdm0', unhandled port type
Jul 08 08:30:40 786715a ModemManager[15542]: [base-manager] modem for device<EMAIL_ADDRESS>successfully created
Jul 08 08:30:40 786715a ModemManager[15542]: [modem0] state changed (unknown -> disabled)
Jul 08 08:30:40 786715a ModemManager[15542]: [modem0] state changed (disabled -> enabling)
Jul 08 08:30:40 786715a ModemManager[15542]: [modem0] simple connect started...
Jul 08 08:30:40 786715a ModemManager[15542]: [modem0] simple connect state (4/10): wait to get fully enabled
Jul 08 08:30:41 786715a ModemManager[15542]: [modem0] power state updated: on
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] state changed (enabling -> enabled)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] simple connect state (5/10): wait after enabled
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] 3GPP registration state changed (unknown -> registering)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] 3GPP packet service state changed (unknown -> attached)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] 3GPP registration state changed (registering -> roaming)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] state changed (enabled -> registered)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] simple connect state (6/10): register
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] simple connect state (7/10): wait to get packet service state attached
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] simple connect state (8/10): bearer
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] simple connect state (9/10): connect
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] state changed (registered -> connecting)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] state changed (connecting -> connected)
Jul 08 08:30:42 786715a ModemManager[15542]: [modem0] simple connect state (10/10): all done

but as it can be seen above, it errors out at some point: Jul 08 08:30:40 786715a ModemManager[15542]: [plugin/quectel] could not grab port cdc-wdm0: Cannot add port 'usbmisc/cdc-wdm0', unhandled port type
This makes it ignore the wwan0 port:
root@786715a:~# mmcli -m 0
  --------------------------------
  General  |                 path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: 21e80447381cd2cd9538ba5eea33a9356cefec6e
  --------------------------------
  Hardware |         manufacturer: Quectel
           |                model: EC25
           |    firmware revision: EC25AFAR05A06M4G
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte
           |         equipment id:<PHONE_NUMBER>94670
  --------------------------------
  System   |               device<EMAIL_ADDRESS>           |              physdev<EMAIL_ADDRESS>           |              drivers: option, qmi_wwan
           |               plugin: quectel
           |         primary port: ttyUSB2
           |                ports: ttyUSB0 (ignored), ttyUSB1 (gps), ttyUSB2 (at),
           |                       ttyUSB3 (at), wwan0 (ignored)
  --------------------------------
  Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
           |                state: connected
           |          power state: on
           |          access tech: lte
           |       signal quality: 80% (recent)
  --------------------------------
  Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none
           |              current: allowed: 2g, 3g, 4g; preferred: none
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |                 imei:<PHONE_NUMBER>94670
           |          operator id: 310410
           |        operator name: AT&T Hologram
           |         registration: roaming
           | packet service state: attached
  --------------------------------
  3GPP EPS | ue mode of operation: ps-2
  --------------------------------
  SIM      |     primary sim path: /org/freedesktop/ModemManager1/SIM/0
  --------------------------------
  Bearer   |                paths: /org/freedesktop/ModemManager1/Bearer/0

The initial timing out issue seems to have been present in the past, like this post suggest<EMAIL_ADDRESS>

Hi @aleksander0m do you have any insight on the above?

Fixed by https://github.com/balena-os/meta-balena/pull/3478/


Substitution for a where clause on a create fails

Describe the bug
Performing a create operation on a model using a where clause and substitutions fails as attribute values for the where clause do not get attached to the DynamoDB command.
Previously we were using an update and this works as expected, but we needed to change to using a create with exists: null to override the existing record each time.
The cause appears to be in Expression.js.
ExpressionAttributeValues: (namesLen > 0 && valuesLen > 0) ? values : undefined,
Attribute values are only attached to the command if there is at least one name, but when performing a create there are no names - only the values referenced in the where.
To Reproduce
Cut/Paste
Include the code from your debug.ts here and replace the CODE segment. Remember to preserve the three backticks above and below the code block.  See Formatting Code for details.
import {AWS, Client, Entity, Match, Model, Table, print, dump, delay} from './utils/init'
import { OneSchema } from '../src/index.js'

jest.setTimeout(7200 * 1000)

//  Change with your schema
const schema: OneSchema = {
    version: '0.0.1',
    indexes: {
        primary: { hash: 'pk', sort: 'sk' },
        gs1: { hash: 'gs1pk', sort: 'gs1sk', project: 'all' },
    },
    models: {
        User: {
            pk:          { type: String, value: '${_type}#' },
            sk:          { type: String, value: '${_type}#${id}' },

            gs1pk:       { type: String, value: '${_type}#' },
            gs1sk:       { type: String, value: '${_type}#${id}' },

            name:        { type: String },
            email:       { type: String },
            id:          { type: String, generate: 'ulid' },
        }
    }
}

//  Change your table params as required
const table = new Table({
    name: 'DebugTable',
    client: Client,
    schema,
    logger: true,
})

const model = table.getModel("User")

//  This will create a local table
test('Create Table', async() => {
    if (!(await table.exists())) {
        await table.createTable()
        expect(await table.exists()).toBe(true)
    }
})

test('Test', async() => {
    const result = await model.create({
        id: '1',
        name: 'abc',
        email<EMAIL_ADDRESS>    });

    await model.create({
        id: '1',
        name: 'abc',
        email<EMAIL_ADDRESS>    }, {
        exists: null,
        where: `email < @{emailSub}`,
        substitutions: {
            emailSub: 'z',
        },
    });
})

test('Destroy Table', async() => {
    await table.deleteTable('DeleteTableForever')
    expect(await table.exists()).toBe(false)
})

Log output:
     error OneTable exception in "put" on "User" {
        "err": {
            "name": "ValidationException",
            "$fault": "client",
            "$metadata": {
                "httpStatusCode": 400,
                "requestId": "896d695d-63ec-4294-8aab-b762649f5707",
                "attempts": 1,
                "totalRetryDelay": 0
            },
            "__type": "com.amazon.coral.validate#ValidationException",
            "message": "Invalid ConditionExpression: An expression attribute value used in expression is not defined; attribute value: :_0"
        },
        "trace": {
            "model": "User",
            "cmd": {
                "ConditionExpression": "email < :_0",
                "TableName": "DebugTable",
                "Item": {
                    "pk": {
                        "S": "User#"
                    },
                    "sk": {
                        "S": "User#1"
                    },
                    "gs1pk": {
                        "S": "User#"
                    },
                    "gs1sk": {
                        "S": "User#1"
                    },
                    "name": {
                        "S": "abc"
                    },
                    "email": {
                        "S"<EMAIL_ADDRESS>                    },
                    "id": {
                        "S": "1"
                    },
                    "_type": {
                        "S": "User"
                    }
                },
                "ReturnValues": "NONE"
            },
            "op": "put",
            "properties": {
                "pk": "User#",
                "sk": "User#1",
                "gs1pk": "User#",
                "gs1sk": "User#1",
                "name": "abc",
                "email"<EMAIL_ADDRESS>                "id": "1",
                "_type": "User"
            }
        }
    }

Expected behavior
Attribute values which are used in the condition expression are attached to the command, allowing the command to succeed.
Environment (please complete the following information):

OS: Mac OS 12.4
Node Version: 16.13.1
OneTable Version: 2.4.0
TypeScript Version: 4.6.3

Whoops, I see now that you're meant to use {email} < @{emailSub} rather than email < @{emailSub}
Probably better if email < @{emailSub} was supported though or some error thrown?

We need the ${} around tokens like email because DynamoDB requires that attribute names be used where special characters and reserved words are present in the tokens. Sorry.

Sure, but why not attach the attribute values anyway if valuesLen > 0?
It was quite hard to track down where I had gone wrong, as the code was working with an update, since something else had put an entry into the names

But it is more than just attaching the attribute values. You need to tokenize the where expression and remove "email" and replace with a token reference. Without the ${} we could not know what tokens to remove. You could have other fields for which "email" is a substring.

But technically you don't - putting email < @{emailSub} will still result in DynamoDB using email as the attribute name?
Which is what we did on an accident with the update operation, and it was working.
Again if there is an attribute value, why not add it or error out? Rather than silently ignore it

From what you're saying it sounds like using a where should be invalid if it doesn't contain at least one ${} attribute name

That is probably true. You would only use where to create a clause that tests attribute values in some kind of expression.


SPDK: bump release to 23.01 (jan)

Signed-off-by: Boris Glimcher<EMAIL_ADDRESS>

failed on
2023-02-01T02:27:09.1969210Z �[36mopi-spdk-client_1  |�[0m 2023/02/01 02:27:07 could not create CRYPTO device: rpc error: code = Unknown desc = bdev_crypto_create: json response error: No key was found

see doc https://spdk.io/doc/jsonrpc.html#rpc_bdev_crypto_create
spdk error
2023-02-01T02:27:09.2101342Z �[32mspdk_1             |�[0m [2023-02-01 02:27:07.524630] vbdev_crypto_rpc.c: 136:rpc_bdev_crypto_create: *WARNING*: "crypto_pmd" parameters is obsolete and ignored
2023-02-01T02:27:09.2101893Z �[32mspdk_1             |�[0m [2023-02-01 02:27:07.524741] accel_sw.c: 750:sw_accel_crypto_key_init: *ERROR*: Only AES_XTS cipher is supported
2023-02-01T02:27:09.2102397Z �[32mspdk_1             |�[0m [2023-02-01 02:27:07.524816] vbdev_crypto_rpc.c: 163:rpc_bdev_crypto_create: *ERROR*: No key was found

fixed by using new API, need to fix the unittests now...


Add tutorial on how to call C function with numpy arrays.

This PR is a rework of the PR #103 by @macdentalr12 .
Things I would like to discuss:

"If you are using Python arrays instead of numpy arrays, you don't need to check if the data is stored contiguously as this is always the case." I have actually no idea, and couldn't find information on google as everything related to contiguous talks about numpy arrays.

As the documentation grows, more examples will be put in the "examples" directory and I expect also to put tests at some points. It would be better to decide now what structure we want for this directory before it gets too big. Maybe a similar structure to what is in docs/src/ ? So that we know which example is used where? What would the maintainers prefer?

Python's array data types does not use strides (internal memory offsets) and is 1-dimensional, so the array memory is always flat without holes, which makes it contiguous.

Thanks for the clarification about Python's arrays!


Use curl HEAD request to determine github's availability

Description
Changes the Github availability check from ping to curl: In some circumstances, ping may be blocked, but curl works just fine.
Since we use curl later in the script to download the runner, this PR updates the check to use a HEAD request to determine Github's availability.
Additional Information

Original discussion: https://github.com/shapehq/tartelet/pull/56#issuecomment-1905733038

Thank you!


Sort imports with isort

This is just a suggestion - feel free to close it if it doesn't match your preference.
It's currently using the black profile of isort to not cause additional changes if it's decided to go for the black code formatter in the future (as a follow up question, would you be interested in applying that?).

Codecov Report

Merging #28 (c714b3b) into master (bb490dc) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head c714b3b differs from pull request most recent head f6dca20. Consider uploading reports for the commit f6dca20 to get more accurate results

@@           Coverage Diff           @@
##           master      #28   +/-   ##
=======================================
  Coverage   96.78%   96.78%
=======================================
  Files          40       40
  Lines        8982     8987    +5
=======================================
+ Hits         8693     8698    +5
  Misses        289      289

Flag
Coverage Δ

unittests
96.78% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

pyhanko/config.py
100.00% <100.00%> (ø)

pyhanko/pdf_utils/barcodes.py
97.61% <100.00%> (ø)

pyhanko/pdf_utils/config_utils.py
100.00% <100.00%> (ø)

pyhanko/pdf_utils/content.py
100.00% <100.00%> (ø)

pyhanko/pdf_utils/crypt.py
98.22% <100.00%> (ø)

pyhanko/pdf_utils/embed.py
100.00% <100.00%> (ø)

pyhanko/pdf_utils/filters.py
90.22% <100.00%> (ø)

pyhanko/pdf_utils/font/__init__.py
100.00% <100.00%> (ø)

pyhanko/pdf_utils/font/api.py
100.00% <100.00%> (ø)

pyhanko/pdf_utils/font/basic.py
100.00% <100.00%> (ø)

... and 24 more

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 bb490dc...f6dca20. Read the comment docs.

Hi, thanks for the PR! I've made one suggestion directly in the code, here are some more:

Can you add isort to the requirements.txt file, or create a separate requirements file for development requirements (e.g. requirements.dev.txt)?
As indicated in my suggestion in the code, I'd prefer not using makefiles here.
I had a release planned for tonight (0.8.0 just went out), hence why I waited to review your changes until now. You'll probably need to rerun the formatter against the current tip of the master branch.

Thanks!

As for applying a code formatter to the entire codebase: I'm not opposed to that in principle, but I want to tread carefully, since those tend to change tons of lines with trivial edits that (a) make it difficult to merge active feature branches and (b) mess up git blame. I can live with the second problem, especially since it's a one-time thing.
Having said that, I'm a bit reluctant to consider big reformatting PRs right now: I'm working on a big refactor in the background that is tough enough to keep in sync with the main development tree as-is, so this isn't a good time to introduce that kind of changes across the code base. With import reformatting, this isn't as big of a deal.
Let's have that conversation some other time, if you don't mind. Feel free to file an issue so we can revisit the topic in due time :)

Can you add isort to the requirements.txt file, or create a separate requirements file for development requirements (e.g. requirements.dev.txt)?

Using pipenv or poetry should be considered instead of using multiple requirements files. Since we are making meta changes thought I should mention this. My experience with pipenv is not ideal and I would recommend poetry even though I have not used it. Main reasons are:

configuration in pyproject.toml
poetry is better integrated with packaging tools
it is very popular (not a real argument but a good heuristic)

(a) make it difficult to merge active feature branches

Yes it is much wiser not to merge the differences, but rerun the tools on final version (after everything is merged).

(b) mess up git blame

A laconic solution https://black.readthedocs.io/en/stable/guides/introducing_black_to_your_project.html#avoiding-ruining-git-blame

Thanks! I've updated the commit:

Removed the Makefile and inlined the check command into lint.yml.

An alternative could be to add a setup.py command (so formatting would be done by python setup.py format), let me know if you want me to do that.

Rebased onto the master branch.
I've added isort into requirements.txt.

Having said that, I'm a bit reluctant to consider big reformatting PRs right now

Absolutely, makes a lot of sense! I guess that also applies to type checking (adding type annotations and a py.typed marker file, and checking it with mypy/pyright), that it's best to wait for things to settle before doing that?
I'm impressed by the speed of development here, really awesome work!

Thanks to both of you for the input! I'll go ahead and merge this.

Using pipenv or poetry should be considered instead of using multiple requirements files.

I've also been hearing good things about poetry, but I haven't used it myself either. It looks like a good option; I'll look into it. I was having trouble juggling around the different sets of requirements anyway, so I might as well. Thanks for the recommendation!

I guess that also applies to type checking (adding type annotations and a py.typed marker file, and checking it with mypy/pyright), that it's best to wait for things to settle before doing that?

I try to use type annotations as often as possible (mainly because it makes autocompletion results & documentation more useful), but I occasionally forget. Additionally, a significant chunk of the low-level PDF I/O code is inherited from PyPDF2, which was written long before type annotations were a thing. I'm certainly in favour of having more of that, and I guess adding some static analysis into the mix can't hurt. The degree to which the process of adding the missing annotations benefits from automation is something I'd have to consider separately, though. I haven't made up my mind on that aspect of it yet.

Just to provide some context on the "when" of things: there are only two really far-reaching changes on the horizon in my personal roadmap towards version 1.0.0. One is a refactor of the internal APIs in pyHanko and pyhanko-certvalidator to make it easier to use Python's asyncio facilities (e.g. for more efficient revocation info fetching). The grunt work there is mostly done, but I'm not comfortable merging the changes just yet---more testing & profiling is needed (+ documentation). The second thing is a rework of the trust validation system to more accurately represent all sorts of trust models, especially when it comes to validation over long timescales (in its current form, the validator is way too dogmatic in certain areas). Obviously there's loads of smaller TODOs left as well (and that list is likely to grow over time), but those aren't particularly likely to get in our way.
The latter of these two big features is still in the "vague idea" stage (and will take a long time to mature), so I think we can revisit the code formatting & type checking issues as soon as the asyncio stuff is merged. Better to get that over with sooner than later. :)
Thanks again for the input, I really appreciate it!


Footer styling issues

Two issues:

The footer should show up at the bottom of the viewport when the content doesn't go until the bottom but even for pages without much content, you need to scroll to see the footer.

When the viewport is narrow enough that the CC license text takes up 2 lines instead of 1, there is a white gap between the bottom of the page and the footer.

Fixed in https://github.com/creativecommons/creativecommons.github.io-source/commit/543b1b189a8ec52cc661aabf544e5243c4d121cc


mythx report cli layout

MythX CLI version: v<IP_ADDRESS>
Python version: v3.6.8
Operating System: Ubuntu 18.04.3 LTS

Description
As you can see in the picture below, the codeline information and nicely created tables in pythx are gone. If these aren't there, can I work on the pull-request?

What I Did
I used the following command.
mythx report b05ce253-962c-4fee-b2ef-b8a426d9f792

Check out the latest version on master :slightly_smiling_face: I have been working to get things into mythx-cli. I hope to pack a next release 0.2 in the coming week. That will include the tables as default format and a couple of bugfixes. :+1:

Thank you @dmuhs :)
I would like to ask one more question. When the current output type is json, the format given by the server of mythx is given as it is. Isn't it nice to make the json output type like report (line, swc, severity, description)? If it's good, I want to contribute this part to the pull request.
I think pythx and mythx-cli are very helpful tools today. So I want to make a lot of things using these tools.
Below is a screenshot of the output in json form.

I totally agree regarding the report format. There are already quite a few use cases that require the API response as is, so we shouldn't break these integrations. However, having a better report format would greatly simplify some of the formatter code and enable new cool output formats.
Maybe a good way to solve this issue would be to provide an additional helper function in mythx_cli.formatter.util that takes a DetectedIssuesResponse and an AnalysisInputResponse (similar to the other formatters) and outputs a dict according to the better report format. This dict can then be used by the other formatters to do their pretty-printing. A common issue is that we need the issues to be grouped by file and sorted by line number descending. One thing to note here is that in this better report format, we have to preserve the important but yet unused data from the extra field in the issues and meta field in the reports.
@Miller-kk Does that make sense? And do you already have a concrete idea for a better JSON format?

Thank you for the good answer :)
I understand. I don't have a good idea for JSON format yet. However, I thought it was cumbersome to hardcode mythx_cli.formatter.util separately to convert the source map into a line of source code in JSON format. So I think it would be nice to have an additional feature that can extract these simple JSON formats separately.
continue looking at the source code to find out what we can contribute.
Thank you very much 👍

Found some time yesterday and decided to take a step back on this issue. The API already returns decoded locations if source code has been submitted. I have updated the pythx and mythx-models dependencies to pick up this field and make it accessible in the domain models.
So without intervention in the actual CLI code, using the latest version, if you run something like mythx --format=json-pretty analyze my-file.sol you should see the decoded locations in the JSON.
I will take a good hard look at the formatters I have implemented so far and refactor them to use the decoded locations from the new model, and if resolution is not possible, I will resort to something like a bytecode offset (e.g. if the user ran a bytecode-only analysis).

The new format indexed by file is now available to all formatter classes and the rendering routines. The latest release v0.6.20 should fix the data structure concerns. :+1:


Give clearer explanations for Jupyter tutorial

Fixes #52
Be sure to merge in master, release-1.1, and develop.

I'm going to merge this now, opened a separate issue to add changes later: https://github.com/OSC/ood-documentation/issues/57


unable to run any program in examples folder

Hi,
I am new to nodejs even dont know how to run node js files
I have runned an example program of facedetection.js and left with following error
on linx ubuntu
command ----- node faceDetection.js
err-------
module.js:457
throw err;
^
Error: Cannot find module '../build/Release/facerec'
at Function.Module._resolveFilename (module.js:455:15)
at Function.Module._load (module.js:403:25)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at Object. (/home/paru/sdl/face_node/face-recognition.js/lib/fr.js:6:8)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
I am facing the same error for all the programs in example folder
node == v6.6.0
npm == 3.10.3
Can anyone help me out to solve this error or am I supposed to run differently???
Thank you.

Hi, looks like you didnt run npm install in the root folder after cloning the repo, or the installation had errors


Plugin Permission

Hi,
Can you list permission requested by this plugin (pro version), when included it was asking for GPS precise location as well as network location.. this panics our users from using our app
please clarify
thank you

i guess the permission for GPS or network location is for AdMob location based precise Ad purpose.
pro version plugin.xml is here:
https://github.com/floatinghotpot/cordova-admob-pro/blob/master/plugin.xml
can you paste the screen asking for permission?


pixhawk i2c deadlock in v1.8.2 with Pixhack v5

This is very similar to a previous issue: https://github.com/PX4/Firmware/issues/7951
I am running a Pixhack v5 with an external i2c compass(HMC5883)/gps combo.  By repeatedly shorting out SDA to ground I can interrupt an i2c message and cause the entire system to freeze up and deadlock.
To Reproduce
Steps to reproduce the behavior:

Drone on with hmc5883 external compass running
quickly and repeatedly short SDA to ground
System will lock (no serial, rgb LED will freeze

Expected behavior
Not an i2c expert, but I imagine that i2c should be robust enough to handle an interruption on the SDA line mid-message.  It seems this issue was fixed back in 1.6.*
Log Files and Screenshots
logic analyzer screenshot
logic analyzer detail
Additional context
Add any other context about the problem here.

https://github.com/PX4/Firmware/pull/7957

Thanks for reporting - we're looking into it. I expect it will be an OS-level issue we will make sure it's being taken care of.

@dlwalter - Thank you!
I have identified one issue with the i2c driver and will continue to debug this in the AM.

I got this error too.

I think a driver is performing a read or write with the wrong amount data in the buffer. Either the master or slave is expecting more data and not getting it. Then PX4 is not handling the timeout and locking up.

@dlwalter Please test with https://github.com/PX4/Firmware/pull/11508
1.8.2 has a really old version of the F7 I2C driver and should NOT be used going forward. (The list of changes is  https://github.com/PX4/Firmware/pull/11508)

I still managed to lock up the system by shorting the SDA line.  Here is a screenshot:
https://imgur.com/cdtvWq0
detail:
https://imgur.com/DWp0GFM
I can send the Logic file, but it's too big to share here.
I did have a couple tests where I interrupted the SDA line mid-message and it worked fine.
https://i.imgur.com/SNrDELU
detail:
https://imgur.com/S2qjpm2

@dlwalter - please share the output of the 'ver all' command.
In looking at the pictures I do not understand the display: You have data without clock. But you state you are grounding the data.
Could we arrange as skype call to discuss this? My Skype name is:david_s5

nsh> ver all
HW arch: PX4_FMU_V5
HW type: V515
HW version: 0x00000001
HW revision: 0x00000005
FW git-hash: d74d6b0cdbbf8e2029e700472d4692217209211d
FW version: 1.9.0 80 (17367168)
OS: NuttX
OS version: Release 7.28.0 (119275775)
OS git-hash: 1f2f6d8cbe7c85f30fd75ec53c20566e91b14f21
Build datetime: Feb 20 2019 17:04:54
Build uri: localhost
Toolchain: GNU GCC, 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
PX4GUID:<PHONE_NUMBER>003635393731375102001c002e
MCU: STM32F76xxx, rev. Z
I updated the description above.  Top two links (of the failure) SCL is the top line and SDA is the bottom.
The bottom two links SDA is the top line.
I also just had a scenario where the uart console locked up, as well as the RGB LED, but I kept getting i2c messages going.
Skype call or Slack would work for me.

➤ David Sidrane commented:
Wating on OP to retest with master. There may have been some issues with wiering shorting the clock

I'll try again with the current master branch but I'll have to wire up a test harness.  We moved back to the Pixhawk V2 board since the V5 was giving us these issues.

@dlwalter We found and fixed an issue on the F7 I2c. See https://github.com/PX4/Firmware/pull/11871 Please retest and reopen if the issue was not resolved .

That's great, David.  Let me run this on the v5 and test it.

Ran it on my Pixhack v5 with an external QMC5883 and had no issues.  Doesn't lock up anymore.  Nice work!

Thank you @dlwalter!


[Sugguestion] Please add version that still have microsoft account support

Because one drive and BitLocker will be broken.
completed remove support Microsoft account is affecting the usage of its.
Thank you.

Onedrive is not broken, its basically removed.
If you want to use onedrive, you can exclude the parts which disables onedrive in the xml.
Search for "onedrive" in the xml and remove all the lines and you're done.

I did not remove Microsoft Accounts, they are just bypassed/disabled during the setup process. You can go through the setup process and create an Offline/Local account with your name. Once you're signed in, just go to Accounts and click on Sign In, your local account will be converted to a Microsoft Account.

As for OneDrive @Syntax3rror404 is correct, that is one way of doing it.
But you can also just download and install it from Microsoft, it still works.

BUT, before it will launch and sync your files, you will need to edit the following registry key:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\OneDrive

Double Click the “DisableFileSyncNGSC” and change the value to 0.

I trust that this will resolve the issue and I'm closing it with this comment.


"app-debug.apk" does not exist

Version：
Flutter (Channel stable, 3.7.6, on macOS 13.2.1 22D68 darwin-x64, locale zh-Hans-CN)
Android Studio (version 2022.1)
Problem：
In the Project type=Module mode, execute the ‘fluent run’ command, install apk to the Android phone, and report an error:
Launching lib/main.dart on SM G9600 in debug mode...
Running Gradle task 'assembleDebug'...
✓  Built build/host/outputs/apk/debug/app-debug.apk.
"build/host/outputs/apk/app-debug.apk" does not exist.
Error launching application on SM G9600.
The apk output path and installation path are inconsistent, resulting in installation failure
Apk build output directory：build/host/outputs/apk/debug/app-debug.apk
Apk installation directory：build/host/outputs/apk/app-debug.apk

Hello @hc79879. Are you running flutter run in a project generated by flutter create -t module <module_name>? Because this will not work as you need to add that module into a native Android or iOS project and run the native project from Android or Xcode respectively

Hello @exaby73
In the previous version, the Project type is set to "Module mode", and the Flutter project can be run independently. If it is upgraded to 3.7 or above, it cannot be run independently. It can only rely on Android projects or iOS projects.
I try to create a new project. The project type can be set to "Application" to run independently, but it cannot run if it is set to "Module".
There is no such restriction in the old version

@hc79879
The error looks similar to https://github.com/flutter/flutter/issues/116173. The behavior seems to be fixed in master version of the framework, but not in stable yet and hence you might be seeing the error. I suggest you to switch to latest master to see the fix working.
The fix would most likely be available in next stable release. I'll close this as a duplicate of linked issue. You can take a look at underlying issues from that link for further reference, for example: https://github.com/flutter/flutter/issues/116173#issuecomment-1446882329


Implement requesting list of peers from tracker

Tracking issue for implementing the ability to request a list of peers from an HTTP tracker.
In order to be able to implement the Peer Wire protocol, we first need to implement the ability to request the list of peers from an HTTP tracker, (DHT will come once the 1.0 specification is implemented) and to parse the received response.

Specification
Another specification
Presentation slides, p. 16

For sending the HTTP GET requests, I think hyper is a better choice then say curl, since it does not require a C library dependency to be present and allows for strongly-typed custom headers to be constructed fairly easily.
Note: We only need to implement the request sending and parsing of response, not the HTTP tracker itself, since we can use a tracker from an existing meta info file for testing.

Examples:

Example implementation in C#
Python example (section 4)

Nice, watching this with anticip.......ation! I suggest making your "tracker handler" easily testable so that we can inject/mock an HTTP session in unit tests. Know if hyper supports this? (Perhaps through traits that can be mocked).

@synlestidae I am definitely keeping testability in mind, am only getting familiar with hyper's API, but it should be possible.


Sensors naming rules in case if name is not defined

When controller discover sensor for the first time and we are adding that to the graph, graph has null for sensor name. Item in agenda is looking like null-Temperature. Also you can see this null in sensor picker.

After we edit sensor information and leave sensor name field empty we don't have null in sensor name anymore and it is looking like "-Temperature". That is another bug - when sensor doesn't have name, we should show just sensor type. So in agenda it should be something like "Temperature" if we don't have name and "Name-Temperature" if we have it.

@manusovich Can you add screenshot?

Sure. Attached


Release Google.Cloud.Speech.V1 version 3.5.0

Changes in this release:
New features

Support MP3, TranscriptNormalization and SpeakerLabels in STT V1 API (commit f2cb8d6)

Documentation improvements

Fix the resource name format in comment for CreatePhraseSetRequest (commit af90271)

Created release for Google.Cloud.Speech.V1-3.5.0


Bug with suggestions being formatted in render function: breaks up and down arrows

So I ran into an issue using this library when formatting the suggestions prop value in the render function before passing them to the ReactAutosuggest component.
Here is an example of ReactAutosuggest working fine
But I add in this code in the render function
    const newSuggestions = suggestions.map((suggestion)=>{
      return {
        title: suggestion.title,
        languages: suggestion.languages
      }
    });

and pass in newSuggestions instead of suggestions... the down/up arrow functionality breaks.
Here is the example of the broken version
To see this explicitly (make sure you are on the broken version codepen to see this):

Focus on the input field
Type c, and wait for suggestions to appear
Press the down arrow (should go to C#)
Press the down arrow again (will now stay at C#, expected to go to Clojure though)
Keep pressing the down arrow to see the functionality be continually broken (never returns to C++)

Is there some sort of immutability issue going on with react-autosuggest checking the suggestions props? Mapping an array that returns new objects seems to be what is breaking it.
One thing I noticed after it breaks: the renderSuggestion function is getting called more times than it should when I press the down arrow.
If this isn't a simple fix it would be great for the documentation to warn about formatting suggestion props in the render function.

Thanks a lot for taking the time to properly submit the issue!
The behavior looks wrong to me, and it's probably related to highlightFirstSuggestion={true} (if you remove it, everything looks ok).
I'll dig deeper and get back to you.

The problem is here.
We assume that, if suggestions didn't change (which is what normally happens when you press Up or Down), they will be shallowly equal.
In your broken example, when you press Down, the shallow equality check fails (because you generate new objects in render), which causes the first suggestion to be highlighted again.
I can't think of a simple fix here, so maybe for now we'll add a note about this assumption in the docs.

I don't see the highlightFirstSuggestion={true} doing anything, but I came to the conclusion that an equality check was failing since I am pretty sure I moved
    const newSuggestions = suggestions.map((suggestion)=>{
      return {
        title: suggestion.title,
        languages: suggestion.languages
      }
    });

to be a part of the state instead of in the render function, or I just did that logic in a parent component... and it worked.
I think noting this in the docs as a gotcha would help.

I just ran into this bug as well (the down arrow key stopped working after I enabled highlightFirstSuggestion). Do you guys (@moroshko @ekeric13) have a better description of the recommended workaround for this?


Support new targets (CDP/VS Code) instead of new debugging sessions for each process

My understanding is this extension abuses the startDebugging API call to make a new session for each process it finds.
This will work to a degree but, if my experience with other extensions that tried this is to be believed[^1], this will eventually crash VS Code because it can end up spawning loads of debug session (which it's not designed for).
If its possible a better idea would be to treat each process as a new target instead, this would allow the user to have a single debug session but still see the individual processes under the call stack. This is something Chromioum does when you debug it. Here are steps to reproduce.

Create a .vscode/launch.json file
Add the following:

        {
            "name": "Chrome example",
            "type": "chrome",
            "request": "launch"
        }

Launch that config (it should open chrome)
Open multiple tabs in Chrome
You should see something like this:

VS Code has support for multiple targets within a session, this is already working to some degree with threads (which you see when debugging Chromium). I guess we want to bunch processes in there too and have them all come down the same channel.
I don't know if its possible with this plugin or not though sadly.
[^1]: I tried this before and it just crashes VS Code, I assume because of all the new sessions it generates when debugging Chromium

This is something I would have to investigate, since at the moment, I would not know how to create those targets.
I am mainly using this to launch mpiexec and I want it to attach to all processes that are launched by it. I think the highest number of child processes I had so far was about 20, and I did not see any kind of significant slowdown or issues in VS Code, but I was already asking myself the question how far this would scale....


Meta: add "actual behavior" to bug report template

When raising a bug report in this repo, the template includes:

steps to reproduce
expected behavior

There's no section to paste in the actual behavior. (e.g. a traceback.) Please add one.

In my mind the Describe the bug section serves that purpose already don't you think? One thing we are trying to avoid is deterring users from opening a bug because they are overwhelmed by the amount of sections/details we ask for

The "Describe the bug" section is labelled "A clear and concise description of what the bug is."
A 100 line traceback is not concise, so therefore you should not be pasting tracebacks in that section.
An expected behavior specific to the MWE, such as "line 13 does not throw an AssertionError. Line 23 does throw a ValidationError" is not clear, unless you've seen the MWE script.

I would be fine to change the label in the Describe the bug section to "A clear description of the bug, including any potential stack trace" or something similar
@aws/aws-sdk-pandas what do you think?

Clarified in https://github.com/aws/aws-sdk-pandas/commit/cfeb6ae8387ef3c5cdb1465a3931c9fde138b48f


favorite-java fails to start

2024-05-17 06:57:45 exec /start.sh: no such file or directory

same error with the manual


[Android] Provide interface for initializing XWalkView asynchronously

The XWalkView's environment is initialized at the moment first XWalkView
object is instanciated. The initialization is kind of a heavy task which
includes loading native library, staring processes and so on, may cause
the UI thread freezed for a moment.
So this patch provides a interface to initialize the environment in
background and notify the host application once ready. This patch also
does the following things:

Dismisses XWalkLibraryListener and integrates it into XWalkCoreWrapper
Adds new error type for the case that the CPU architecture
mismatches. Removes unused code with same function from XWalkViewInternal
Makes the init method of XWalkViewDelegate can take the argument with
the type Context

BUG=XWALK-3971

@halton @d0ngjun @shawngao5 please help to review!

@axinging @fujunwei

@lincsoon are we target the lite branch instead of master?

The lite branch is using the old implementation of XWalkActivity. Since the implementation of shared mode has just settled down today, I'll transplant new implementation to the lite branch soon. But before that, please review whether the async interface fits your needs.

A sample here:
public class MyXWalkActivity extends Activity implements XWalkInitializer.XWalkInitListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        XWalkInitializer.initAsync(this, this);
    }

    @Override
    public void onXWalkInitFinished() {
        setContentView(R.layout.activity_xwalkview);
        mXWalkView = (XWalkView) findViewById(R.id.xwalkview);
        mXWalkView.load("file:///android_asset/index.html", null);
    }

    @Override
    public void onXWalkInitFailed(XWalkInitResult result) {
        Assert.fail();
    }

@lincsoon What is difference with org.xwalk.core.XWalkActivity.onXWalkReady()? I think this might confuse people.

XWalkAcvitiy and XWalkInitializer are two irrelevant interfaces, they can't be used together.

XWalkActivity is a UI wrapper, XWalkInitializer is a non-UI wrapper.
XWalkActivity takes over everything, including initialization and downloading and so on. XWalkInitializer is only about initialization.
XWalkActivity supports both of embedded mode and shared mode, XWalkInitializer only supports embedded mode.

To use shared mode, XWalkActivity is the only way.
To use LZMA, there are two choices, XWalkActivity and XWalkInitializer.
To use simple embedded mode, the developer can use XWalkActivity and XWalkInitializer, or just use XWalkView directly.

If we could subdivide the interface of XWalkInitializer to several steps of initialization, we can let XWalkActivity use XWalkInitializer. But now XWalkInitializer provides an all-in-one interface and always tries to link the embedded library, this kind of interface doesn't fit the needs of XWalkActivity.

@fujunwei @axinging please help to review

LGTM

I'm ryly on d0ongjun's lgtm, will merge


Allow more control (for less work) over deserialization when using a JsonConverter

I'm planning on opening a PR to allow more control (for less work) when dealing with JsonConverters.
I'm thinking of a minor refactor to add a new bool TryReadJson(..., out value) overload on JsonConverter, which by default would just forward to ReadJson, but I wanted to see if this approach would be something that would be accepted. That way someone could override and return false to have it fall-through to the default deserialization for that type.
Another option might be to add something to the JsonSerializerProxy to allow access to the internal creation ability. This could be more powerful, as you could deal with creation of multiple types inside a single ReadJson call, but I'm not sure it would be worth it -- in the way I describe it would feel hacked on.
These changes would help address this: https://github.com/JamesNK/Newtonsoft.Json/issues/935 as well as many other scenarios where someone might want to just fallback to the default deserialization of a given type.
Thoughts? Should I move forward with something like this for review?

I have spent around 3 days last week trying to deserialize JSON with one specific requirement, and the result of my research (that included going through JSON.NET codebase) was that it doesn't seem currently possible.
One of possible solutions I though of is exactly what you're writing about. In my scenario I only find out whether I need a special handling of object creation after I read the JSON properties of that object. If a specific "flag" is not set in JSON, then this and all objects nested in it should be handled normally. Otherwise, I pull additional data from context and only then can I create the object.

I would love to have functionality like this as well. JSON .NET should either ask my converter if I can deserialize not only the specific type, but also the JSON present or alternatively there should be an easy way to "abort" the special deserialization and fall back to the default deserialization within the converter. E.g. by returning a special value from the ReadJson call.

I rather see that we can return some Option object from the ReadJson to indicate whether we have Some return value or None. And in the later case the JsonSerializer should falls back to the remaining registered Converters. This will also make the CanConvert redundant. I am gonna try this soon and I think this could be possible without enforcing breaking changes if I end up with some useful code I will PR it.


[BUG] MQTT X exited unexpectedly on macOS

I need help
Apple M1 Pro
MACOS 12.4
V1.8.0
I use it every time , it will give me such a prompt message:
(Figure above)

"Mqttx" exited unexpectedly
Click "reopen" to open the application again
...

Thanks!

Hi! This is a known bug and will be fixed in the next version. Thanks for your feedback.

OK! Thanks!

Fixed in the https://github.com/emqx/MQTTX/releases/tag/v1.8.1


Error reading /tmp/emqttd/etc/emqttd.config

hi there:
i use ubuntu 14.04 64bit gcc 4.8.4 Erlang/OPT 17
i download emqttd binary file mqttd-ubuntu64-0.9.2-alpha-20150718.zip from http://emqtt.io/downloads.  and then i do the command as Quick Start say:
Start console
./bin/emqttd console
Start as daemon
./bin/emqttd start
they all gives the same error:
`vagrant@vagrant-ubuntu-trusty-64:/tmp/emqttd$ ./bin/emqttd start
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
Error reading /tmp/emqttd/etc/emqttd.config
{"init terminating in do_boot",{'cannot load',error_handler,get_files}}`
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
i have the privilege to read and write. the ls -al gives the output:
vagrant@vagrant-ubuntu-trusty-64:/tmp/emqttd$ ls -al
`total 92
drwxr-xr-x 11 vagrant vagrant  4096 Jul 24 17:28 .
drwxrwxrwt  5 root    root     4096 Jul 24 17:29 ..
drwxr-xr-x  2 vagrant vagrant  4096 Jul 24 17:28 bin
drwxr-xr-x  2 vagrant vagrant  4096 Jul 24 17:28 data
-rw-r-----  1 vagrant vagrant 49063 Jul 24 17:29 erl_crash.dump
drwxr-xr-x  3 vagrant vagrant  4096 Jul 24 17:28 erts-6.4
drwxr-xr-x  3 vagrant vagrant  4096 Jul 24 17:28 etc
drwxr-xr-x 23 vagrant vagrant  4096 Jul 24 17:28 lib
drwxr-xr-x  2 vagrant vagrant  4096 Jul 24 17:28 log
drwxr-xr-x  2 vagrant vagrant  4096 Jul 24 17:28 plugins
drwxr-xr-x  3 vagrant vagrant  4096 Jul 24 17:28 releases
drwxr-xr-x  3 vagrant vagrant  4096 Jul 24 17:28 var`
thanks.

Hai
Me too having the same issue...
Thanks.

Fixed. Please download: http://emqtt.io/downloads/ubuntu

Thanks...


[UI/UX] Do not display dialogs related to zkSNACKs when using Wasabi for the first time

With #13084 merged it makes no sense to display the following dialogs when using Wasabi for the first time:

[x] Coinjoin Fees | Fixed by #13115
[ ] Coinjoin Strategy
[x] Terms and conditions | Fixed by #13101

How is coinjoin strategy related?

The text on the coinjoin strategy box has been fixed, all tasks should be finished now.

The text on the coinjoin strategy box has been fixed, all tasks should be finished now.

That task is not about the text but about removing the step to select a coinjoin strategy when using Wasabi for the first time.
It makes no sense to select one if no coordinator is set and coinjoin doesn't work by default.
I am closing this issue nonetheless since there is a separate issue for that task #8880.


Fix requestPermissions for iOS8

Fixes this error message in particular:
2015-07-15 12:27:58.313 Iodine Start[77007:2078686]
registerForRemoteNotificationTypes: is not supported in iOS 8.0 and
later.
R: @brentvatne

The behavior before was it would work with iOS 8 but only if you specified support for iOS 8 and above.

http://imgur.com/DGMSsiP

Landing for internal release.


Category Pages Styling

Hi, Matt. The Archive pages seem to have inconsistent CSS for metadata than other pages in the theme. The first screenshot below is from my category page and the second is from your site. Your site is what I would expect. You see my example live here. Looks like the theme's version uses <span class="post-meta"... as a separate tag and your version uses class="post-date u-url inside the <a href> tag.

Fixed with CSS

Thanks for the heads up. Wasn't visible in other places due to a plugin conflict. Everything has been resolved.


Move --non-destructive and --full-refresh into model configs

Feature
Feature description
Presently, --full-refresh and --non-destructive can only be set on the CLI and apply to all models. Instead, these flags should be pushed down as model configs. The --non-destructive and --full-refresh flags can still exist, but they should set individual model configurations under the hood.
Since these configs will be specified with model-level granularity, complex behavior can be coded using variables, macros, etc.
Who will this benefit?
Users with sophisticated dbt deployments who need to trigger complex dbt invocations
Via @elexisvenator in Slack:

I want to run dbt as frequently as possible, which means ideally I only want to run models with data that has changed, or where a model has changed.
I already have the means to know which source tables have changed, and which model files have been modified since last run.

See also: https://github.com/fishtown-analytics/dbt/issues/320

Presently, flags are set at a global level in dbt. In main.py, dbt plucks configuration values out of the parsed CLI arguments and sticks them into the global fields defined in flags.py.
In the jinja layer, materializations use these flags to determine exactly what SQL should be run. There's an example of that over here.
A better approach is to add new configuration options (like non_destructive or full_refresh) for dbt resources, then use the global flags to set these options on the resources during parsing. Finally, the materialization code can be updated to reference an attribute of a model, like model.full_refresh, rather than pulling this value from the flags directly.
As a result of this change, the behavior of the --full-refresh flag will not change, but users can optionally supply a full_refresh configuration option to configure specific models based on the value of a variable, for instance.
This might be out of scope for this issue, but I think we should deprecate (and eventually remove) the --non-destructive flag/concept entirely from dbt. That flag existed as a workaround for Redshift's bound views, which the incidence of late-bound views wholly obviates!


Remove ragel as dependency of harfbuzz

There is this project named "ragel" which I'm not sure what it does and why it's here, but there is no relation between harfbuzz and ragel.

Or does ragel is needed to compile harfbuzz source code? https://github.com/Microsoft/vcpkg/issues/2441#issuecomment-354641947
I'll check this with my vcpkg fork and comment more about it.


[feature] add prefix string to the ID attribute

I have 2 concerns about the element ID's that Archi assigns for model elements:

First is that it does occasionally generate one with leading zeroes. This causes havoc with Excel export/import if you forget to select the "Use Excel leading zeros/spaces workaround".
Second is that the ID's are very cryptic when viewing them in an exported spreadsheet and more so when exporting as individual files using JB's GRAFICO plugin.

It seems to me that both of these issues could be resolved if a suitable text string was added to the front of the ID after it as generated. What would be very helpful would be to use a 3 or 4 character acronym for the element/relation type, followed by a "-" and then the generated ID. This would aid readability, eliminate the chance of leading zero/space characters, and still not compromise the uniqueness of the current ID generation strategy.
Regards,
Peter

point (1) is being addressed for Archi 4.7

What would be very helpful would be to use a 3 or 4 character acronym for the element/relation type, followed by a "-" and then the generated ID.

No, because it is possible to change the concept type in a jArchi script. The prefix would then not be applicable, and the ID should not be changed at this point.


support Obidian property type:Date / Date&Time

it'll be nice if this plugin supports the property type:Date / Date&Time

It should be ? Or maybe I'm missing something.
You have to change the type on the obsidian properties header :

It should be ? Or maybe I'm missing something.
You have to change the type on the obsidian properties header :

i mean create these properties as Date&Time type, so that i can search or order the note by Date&Time(e.g. DataView plugin)

need this feature

You just need to change the property type once in Obsidian and then it should be fine, like in my screenshot

You just need to change the property type once in Obsidian and then it should be fine, like in my screenshot

yeah i just changed the type and it works well, thank u 😁
however, i still think it'll be better to initialize “create time” and "update time" into .obsidian\types.json


feat(library/init/meta/vm): add decidable_eq for vm_obj_kind

This was nice to have when writing a simple vm_monitor.

Any ideas why that build failed? the log seems to just say the build might of stalled?


feat(workflow-dev-e2e): add spotify/docker-gc to e2e

As seen in our GKE clusters, the docker images for the applications spawned by e2e
are never reaped. This causes thousands of images to persist, all identical to each other on a single
node and can trigger etcd issues.
See https://github.com/deis/controller/issues/1082#issuecomment-248079239 for some background context.

@mboersma mentioned to me during manual testing that this is a one-off container. That is, it runs to completion then dies. It looks like the container is unhealthy in a CrashLoopBackoff but in reality it's just running a few times during the e2e job and that's all we really need.
Open to other suggestions to improve upon this, but I think this is good enough to ship so we stop breaking GKE :)

I made a trivial fork of spotify/docker-gc that keeps the container from exiting by running the script every two hours via crond. You can test it using quay.io/mboersma/spotify-gc:0.1.2 if you're curious. Maybe something like that could be included with Deis Workflow itself, although it might be better to start from deis/base.


ci(pre-commit): auto-fix style problems

This is another approach to fix the same problem as https://github.com/copier-org/copier/pull/1641 by just letting the CI reformat and push back changes to the origin branch.

Hi @sisp! Sorry because lately I've really had little time for Copier. Here's the implementation for https://github.com/copier-org/copier/pull/1641#issuecomment-2121670088. As you can see, I changed a bit the contributing guidelines to reflect how to contribute without Nix.
I'm deliberately pushing a commit that needs reformatting to see the tool in action. I'll close here so when reopening the workflows run again.
From all our pre-commit hooks, only ruff is pythonic, while alejandra, prettier, editorconfig-checker and taplo are rust, nodejs and go. Thus I don't think we're really adding value by removing ruff from that list. I think this change is smaller and adds more value, as now contributions can be done simply from Github UI and contributors won't need to worry about ugly code.
I think it's specially useful for docs contributions. Those tend to be quick and disposable. Asking users to set up a full dev env for that is even worse in this case. And of course, the ruff case is covered also as a side effect.

This didn't work out well in https://github.com/copier-org/copier/pull/1651 nor in the merged commit https://github.com/copier-org/copier/commit/798d7aa82068079fd8fc5fb68962f3190d763435. I'll have to think something better like https://autofix.ci


Both screenshots show unsupported (later) version of R in Desktop

Two instructional pics on this page show the unsupported version of R (4.0.0) in the R scripting options menubox.  In reference, see pages /en-us/power-bi/create-reports/desktop-r-visuals and /en-us/power-bi/visuals/service-r-visuals with images of the correct (albeit outdated) version of R 3.4.4.  This is misleading to devs who are familiar with R and may not see the overview pages.

Link to second pic

Correct pic for R version /en-us/power-bi/create-reports/desktop-r-visuals

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

ID: 3d08953c-1912-d458-f1ef-d2d3041f5e41
Version Independent ID: 18d26011-dd33-6f46-a01d-8cca0e31d040
Content: Use an external R IDE with Power BI - Power BI
Content Source: powerbi-docs/connect-data/desktop-r-ide.md
Service: powerbi
Sub-service: powerbi-ai
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @cclarktax. This issue has been assigned to the doc author for review.

Thanks for your comment, we've updated the article. Thanks!