[WIP] feat: improve tag suggestions

Closes
https://github.com/usememos/memos/issues/2111
https://github.com/usememos/memos/issues/2097

[x] use case insensitive filtering for suggestions
[x] but preserve the case when auto-completing
[x] solve closure problem in event handlers
[ ] style highlighted option
[ ] handle up/down keys
[ ] handle enter/tab key press to complete the suggestion

decide:

[ ] to highlight on start?
should the top option be highlighted on start (or only after the first key up/down)
[ ] tab or enter?
should tab or enter (or both) be used to autocomplete
[ ] keep the choice when more letters are added?
how to handle when the top option is highlighted and key up is pressed (stay on top or cycle highlight bottom option)
[ ] cycle?
what to do when after using the key down to select option letters are added to narrow search (both scenarios: when the selected option is no longer visible and when it's visible)

manual tests:

[ ] fullscreen
[ ] mobile
[ ] light/dark mode

Preview of ignore case

IMHO:

[ ]  to highlight on start?
should the top option be highlighted on start (or only after the first key up/down)

The first option should be highlighted when the suggestion list opens.

[ ]  tab or enter?
should tab or enter (or both) be used to autocomplete

Enter or Tab should accept the highlighted option and close the list. Erasing or typing anything other than a space or line break right after the list was closed should reopen the suggestion list.

[ ]  keep the choice when more letters are added?
how to handle when the top option is highlighted and key up is pressed (stay on top or cycle highlight bottom option)
[ ]  cycle?
what to do when after using the key down to select option letters are added to narrow search (both scenarios: when the selected option is no longer visible and when it's visible)

Typing more letters would trigger a narrower search; erasing, a wider one. That means the list would be redrawn and the last highlighted option would be no longer valid, so, the highlighted option would be the first one again.
Pressing Up key on the first option should cycle to bottom, and Down key on the last should cycle to top.

The behavior I described is what you get for auto-complete/intellisense when you press Ctrl + Space on vscode and several code editors after typing object.
A much simpler approach is to simply confirm the first suggested tag using tab (but not enter, that would be disruptive), leaving the list as it is.
Remember that memos also support mobile platforms, so, desktop-oriented implementations shouldn't break that.

Thanks, I agree 100%.
There is a bit of an edge case:

user types #
presses arrow down key to highlight the second option
adds more letters to narrow a search
in a case when the previously highlighted row is still inside a search...
should the selection jump to the top option or stay?

And I think that this will happen when a user changed his mind. After preselecting, came to the realization, that his option is not filtered yet. So jumping to the top could be better.

I found two bugs on main while testing. They are orthogonal to this PR.
https://github.com/usememos/memos/issues/2138
https://github.com/usememos/memos/issues/2139

Pushed a progress of removing editor wrap.
For a moment I'm out of ideas why highlighted part doesn't prevent changing the position of the cursor...
(any suggestions?)

Ready. TagSuggestions div is now a sibling of textarea.
It ended with many useRef added, as expected.


unattended-upgrades template and Debian

Preface
unattended-upgrades has two ways to limit the scope of sources that will be considered for automatic upgrades
Unattended-Upgrade::Allowed-Origins
This is currently implemented in this cookbook, but allows only the specification of one or more "origin:archive" scopes.
Unattended-Upgrade::Origins-Pattern
This is currently not implemented but allows a much more flexible configuration, like:
Unattended-Upgrade::Origins-Pattern {
        "origin=Google\, Inc.,suite=contrib";
        "site=www.example.com,component=main";
 };
```
see:
https://github.com/mvo5/unattended-upgrades
https://github.com/mvo5/unattended-upgrades/blob/debian/jessie/data/50unattended-upgrades.Debian

### Problem

We want to auto-upgrade only security upgrades. Debian, contrary to Ubuntu, does _not_ use a specifc archive name. All security updates are part of the "stable" archive hence `Unattended-Upgrade::Allowed-Origins` has no way to limit the scope to security updates.

### Possible Solution

- update the template + support `Unattended-Upgrade::Origins-Pattern`

Looks like support was added in Debian 7.

Added https://github.com/chef-cookbooks/apt/pull/197 to solve this.


[WIP] chore(sass): Added Support for Less to Sass Conversion

Description
From the updated README.md:
Less to Sass Conversion
During the build process Less files are converted to Sass files in /dist/sass.  Then the Sass files are compiled into /dist/sass/angular-patternfly.css. If you would like to copy the Sass generated css into the main /dist/styles directory, execute:
grunt build --sass

This task will copy /dist/sass/angular-patternfly.css to /dist/styles/angular-patternfly.css.  Then the build process will minimize the css in /dist/styles.
The Less to Sass Conversion step will be accomplished and managed as a part of any Pull Request which includes Less file changes. Although contributors may want to build and test their style changes with Sass before submitting a Pull Request, this step should always be tested and validated by reviewers before a style change is merged and released. If a contributor is having issues with Sass conversion that they cannot resolve, Pull Request reviewers will need to ensure that the Sass conversion step is successfully accomplished, tested, and included in the Pull Request before it is approved and merged.
For more detailed information, please read PatternFly Less to Sass Conversion
Note: When a Less file is added/deleted/renamed it needs to be updated in the main Less import file /styles/angular-patternfly.less and the main Sass import file /styles/build.scss.
New dist/sass directory and files.

@TheRealJon , would like to flatten the dirs in dist/sass, haven't found the way yet.
Fixes: #688
**Thanks to @TheRealJon for leading the way in the less-2-sass conversion process :-)

Do we want a top level _angular-patternfly.scss file to import the rest of the partials?

Do we want a top level _angular-patternfly.scss file to import the rest of the partials?

Do you mean in addition to styles/build.scss?

Don't know why Travis is failing with:

Running "sass:patternfly" (sass) task
>>
Error: File to import not found or unreadable: ../node_modules/patternfly/dist/sass/patternfly/_color-variables.scss.
>>
       Parent style sheet: /home/travis/build/patternfly/angular-patternfly/styles/build.scss
>>
        on line 1 of styles/build.scss
>>
>> @import '../node_modules/patternfly/dist/sass/patternfly/_color-variables.scss
>>
   ^

sass:patternfly runs fine locally.   package-lock.json has patternfly at  v3.31.2 which should have the ../node_modules/patternfly/dist/sass/patternfly/_color-variables.scss file.

Do we want a top level _angular-patternfly.scss file to import the rest of the partials?

Do you mean in addition to styles/build.scss?

Yes. The build.scss file is for dev/test purposes to build css from the sass (since sass ignores partials by default, you can't compile from a file that starts with _). The _angular-patternfly.scss partial would ship in dist so that it could be consumed. That way consumers don't have to import individual partials. Then build.scss could also just @impirt 'angular-patternfly';.

The _angular-patternfly.scss partial would ship in dist so that it could be consumed. That way consumers don't have to import individual partials.

Ok, implemented this.  May need a little help documenting how app devs are supposed to consume _angular-patternfly.scss.  -thanks

Awesome!  Thanks @TheRealJon !!!

Arrrrg...Travis still throwing:
Running "sass:patternfly" (sass) task
>> Error: File to import not found or unreadable: patternfly/color-variables.
>>        Parent style sheet: /home/travis/build/patternfly/angular-patternfly/styles/_angular-patternfly.scss
>>         on line 1 of styles/_angular-patternfly.scss
>> >> @import 'patternfly/color-variables';
>>    ^

Yeah, I just noticed this. I don't know why. The build runs fine on my machine. I'll fiddle around with it and see if I can figure something out.

Thanks @TheRealJon the switch to "patternfly": "^3.31.0" did the trick!!!!

I think this should be a feat. This is worthy of a point release.


Update WalletConnect v2 SDK

https://docs.walletconnect.com/2.0/swift/web3wallet/upgrade-guide
Check Slack

Boon: This is what we already did right? Is this just a version update?

It is basically what you have done. Web3Wallet is a wrapper around sign and auth that simplifies usage.

@oa-s looks like we should make this higher priority


[demo] feat: add "env" to obserbability.jaeger

Addresses #515

Let's hold off on this PR until we have a decision in https://github.com/open-telemetry/opentelemetry-helm-charts/issues/515 to avoid introducing more problems if we decide to switch to the sub-chart

#523 is moving to a sub-chart that will allow you to configure Jaeger to run in many different forms. Let's hold off on this pending that PR.

Closing in favor of https://github.com/open-telemetry/opentelemetry-helm-charts/pull/523.


feat: support to append delete type data file

This PR support to support to append delete type data file

cc @liurenjie1024 @Xuanwo @Fokko @sdd

Sorry, I think I have some misunderstanding here since the action which support to append data file and delete file is RowDelta.🤔 So I guess what we need is right:

MergingSnapshotProducer: https://github.com/apache/iceberg/blob/540d6a6251e31b232fe6ed2413680621454d107a/core/src/main/java/org/apache/iceberg/MergingSnapshotProducer.java#L61
RowDelta: https://github.com/apache/iceberg/blob/540d6a6251e31b232fe6ed2413680621454d107a/api/src/main/java/org/apache/iceberg/RowDelta.java#L32

I noticed that MergingSnapshotProducer work like the MergeAppend, it will merge manifest when commit. Is that necessary for RowDelta?🤔 Can we implement RowDelta works like FastAppend but it can append data file and delete type file first here? I trying a demo using this way and it can query using spark. @Fokko

Thanks @ZENOTME for this pr! Adding support for deletion is a complicated process, which involves conflict detection, commit retries. I would suggest to have sth like you mention built first like ManifestMergerManager, ManifestFilterManager, MergingSnapshot appender first.

I want to make sure whether fast append, merge append, append data file, append delete file is orthogonal. For now, in iceberg-python and iceberg-java:

FastAppend action is for fast append and append data file.
MergeAppend action is for merge append and append data file.
RowDelta action is for merge append and append delete files and data files.

Is it possible to have action like combing fast append and append delete file and data file? In fact, I try this in practice and it can be read by spark. And for this action, I think we don't need the ManifestMergerManager.🤔

Is it possible to have action like combing fast append and append delete file and data file? In fact, I try this in practice and it can be read by spark. And for this action, I think we don't need the ManifestMergerManager.

The reason we can have a fast append action in iceberg is that append only data file always have no conflict with other actions. Remember that iceberg supports concurrent write, so for update/deletion actions, we need to detect conflction. It works in simple case doesn't mean it's right.

Do you mean that for appending only the data file, we can always retry by using the original data file, but for delete data file, the related data may be deleted already, so we should use something like ManifestMergerManager to merge and discard the useless delete file.
I think for now we have conflicting detect using uuid, but we don't have the retry.
https://github.com/apache/iceberg-rust/blob/90115e0167e9bf715aed6344fe1087358de9a9a8/crates/iceberg/src/transaction.rs#L561.


Can I use float rather than int in the graph?

Hello:
I want to use this awesome tool on my chemical reaction path search, but I want to make graphs from molecule coordinates, so the graph in .json file should be [<atom_idx1>, distance of atom1,2 , <atom_idx2>], rather than single_bond = 1, double_bond = 2, trans_bond = 3, the targets is molecule energy, it changes with atom distance.
I don't know much about your algorithm, so I tried to change these int into different float, only chem_tensorflow_async.py works(chem_tensorflow_gcn.py works but results keep same), but I don't know if it really did what I want.
So I want to know can I use float in the graph, is algorithm supported for this function?

Heya,
Thanks for the interest. At the moment, the adjacency information is only used in binary form (i.e., edge present/not present). In principle, the dense implementation can take float values (not sure why this didn't work for you), but they would be treated as a "weight" on the edge; i.e., small values would reduce the influence of that edge, and large values would increase it.
However, it sounds as if you would want to use the edge information more as a feature associated with the edge than just a linear weight on the edge. We do have code to handle this fairly well, but did not release it here for lack of an appropriate public dataset to test this on. If you could share the data, I would be happy to release this extension as well.
Marc

@mmjb
Thanks for your reply, now I'm encoding my molecule coordinates data to graphs, and the weight on the edges is the distance of molecules. My dataset is ~30 molecules on metal surface, each molecule contains about ~100 different coordinates and the energy on that condition. I will share the data and the scripts once I finished it, but I'm not sure these samples are enough for you.
B.C.Wang

@mmjb I've uploaded a dataset with 26355 samples, using a float weight on edge, hope it helps to improve your algorithm. #16


dotnet compile --native should produce .pdbs by default

There are multiple problems that break this.

@schellap Could you please upgrade cli to use corert build snapped after https://github.com/dotnet/corert/pull/772? As part of doing it, you should be able to: delete /DWIN32 from compiler command line and /IGNORE:4099 from the linker command line.
I would like to verify that end-to-end actually works before closing this.

This works now. Opened https://github.com/dotnet/corert/issues/907 on new issue that I have discovered during testing.


Scanning the QR links for malware

Pretty sure QR codes aren't very secure. Maybe add VirusTotal integration for scanning the URLs, or something else?

Sure. from VT Api docs,
Public API constraints and restrictions

The Public API is limited to 500 requests per day and a rate of 2 requests per minute.
The Public API must not be used in commercial products or services.
The Public API must not be used in business workflows that do not contribute new files.
You are not allowed to register multiple accounts to overcome the aforementioned limitations.

I will try to integrate it for now or perhaps look for opensource alternatives to keep it accessible as VirusTotal public API is limited.

Sure. from VT Api docs,
Public API constraints and restrictions

The Public API is limited to 500 requests per day and a rate of 2 requests per minute.
The Public API must not be used in commercial products or services.
The Public API must not be used in business workflows that do not contribute new files.
You are not allowed to register multiple accounts to overcome the aforementioned limitations.

Yeah, VT is pretty restrictive. However I don't think there is any open source alternative that does the same. Also, just wanted to mention that since VP is owned by Google, you probably may want to make such a feature optional if you're implementing it.

I will try to integrate it for now or perhaps look for opensource alternatives to keep it accessible as VirusTotal public API is limited.

Thanks for considering it!

Here are some options similar to VT:-
• Google's Safe Browsing APIs
(https://developers.google.com/safe-browsing)
• Cloudmersive's APIs
(https://cloudmersive.com/)
There are barely any API providers, let alone open source ones.
One open source solution could be to use a malware list host file (eg. https://github.com/StevenBlack/hosts) and iterate through each domain, checking the qr code url against the host file list.


Inaccurate documentation / Svelte

Trying to get access to the drawer object, have the following code in Svelte.
<script lang="ts">
    import { Drawer } from 'flowbite-svelte'
    import { onMount } from 'svelte'
    import CrossBtn from '../../assets/cross-btn.svelte'

    let drawer: Drawer

    onMount(async () => {
        const targetEl = document.getElementById('root-drawer')
        // options with default values
        const options = {}
        drawer = new Drawer(targetEl, options)
    })

    function hideDrawer() {
        drawer.hide()
    }
</script>

But it complains that this is in-fact incorrect, making the drawer unusable.
Complaints from the TS

Documentation says

Safari console log says

Issue closed because it was moved to the Flowbite Svelte repo.


Singup Testing Failed

AssertionError: expected '' to have a property 'userbase'
Because this error occurred during a 'before each' hook we are skipping the remaining tests in the current suite: 'Signup Testing'

Hi Justin
I've ran the npm installation for cypress and userbase
Not sure what else should I do?
Im still new at cypress automation
Thanks
On Fri, 31 Jan 2020, 11:50 PM Justin Berman<EMAIL_ADDRESS>wrote:

Can you provide a bit more information :)
What scripts did you run before you ran into this error?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/encrypted-dev/userbase/issues/99?email_source=notifications&email_token=AEOQMCBQHMJBHN27TLVD2VTRASMKNA5CNFSM4KOG4WH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQDU3Y#issuecomment-580926063,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEOQMCDFA7NB24GV3WIDIF3RASMKNANCNFSM4KOG4WHQ
.

No worries, so you followed all these steps here?
Also, what OS and version of node and npm are you using?

Hi Justin
Sorry for the late reply, I'm using Windows 10,Node version is v10.15.3
and for npm is 6.4..
Regards
On Sat, Feb 1, 2020 at 2:09 PM Justin Berman<EMAIL_ADDRESS>wrote:

No worries, so you followed all these steps here
https://github.com/encrypted-dev/userbase#development?
Also, what OS and version of node and npm are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/encrypted-dev/userbase/issues/99?email_source=notifications&email_token=AEOQMCBVHKYLDFVVQCDDK6LRAVQ7VA5CNFSM4KOG4WH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQ3TIY#issuecomment-581024163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEOQMCEJZ7FUDBX3GXG3CJDRAVQ7VANCNFSM4KOG4WHQ
.

I believe the issue you're running into is related to installation on Windows. Apologies! Will work on getting it fixed.
In the mean time, just to make sure you're aware, you don't need to install anything locally to start using Userbase -- these steps are just there in case you're interested in self-hosting our server and/or running it locally.
If you just want to start using Userbase to try it out, you could just follow the quickstart guide here :)


Wrist yaw goes in HF when moved with the motorgui

Hi all first of all thank you for the model!
I tried to import the model into gazebo and move some of the joints with the motorgui. I noticed that the Wrist yaw goes in HF when as soon as I move it.
Here a video
https://user-images.githubusercontent.com/16744101/208940803-348f81ec-d261-4f26-b60f-54d840448b19.mp4
cc @Nicogene @traversaro

We might have to increase the inertia of the link as done for the single forearm: https://github.com/robotology/icub-models-generator/blob/master/simmechanics/data/components/left_hand_mk3/simmechanics2urdf_configfile.yaml#L42
Another possibility is to use the implicitSpringDamper.

Probably the usual problems induced by the combination of small inertia and the default physics settings of Gazebo Classic ?

Probably the usual problems induced by the combination of small inertia and the default physics settings of Gazebo Classic ?

In theory, I assigned to all the links of the hands 0.01 inertia but maybe I forgot some of them


Is there a way to tag the split and discordant reads in bam files of each called ecDNA ?

Hi,
Just wonder is there an easy way to mark those evidence reads so that they can be viewed through IGV ? Thanks!

Dear @huangyizR,
Honestly, I don't know. But I guess you could do the following:

IGV: If your purpose is only to get a visual representation, in IGV discordants are represented in green, and soft-clipped and hard-clipped reads are represented as shorter, partial hits.

Another option would to use Gviz (https://bioconductor.org/packages/release/bioc/html/Gviz.html) to plot discordant and split reads. I personally like Gviz a lot and have used it for a bunch of papers.
I hope this helps
Best,
Inigo

I am closing this one. Feel free to reopen

I am closing this one. Feel free to reopen


fix spring cloud bugs2

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/VSChina/azure-cli-extensions.git@peizhou/FixSpringCloudBugs#subdirectory=src/$EXT&egg=$EXT"


Fixed Issue for torchrun command for train_cifar10_ddp.py

What does this PR do?
This PR added a --standalone command line argument to torchrun, without with I cannot make the script train_cifar10_ddp.py run locally. This also follows the official document.
Before submitting

[x] Did you make sure title is self-explanatory and the description concisely explains the PR?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you test your PR locally with pytest command?
[ ] Did you run pre-commit hooks with pre-commit run -a command?

Did you have fun?
Make sure you had fun coding 🙃

Thanks for the PR! I'm actually very curious about the error message you got without the --standalone flag?
Also, did you install your environment recently? I had tested train_cifar10_ddp.py with PyTorch 2.0 or 2.1 a few months ago, so if you have a newer version with which you are running into a problem, I'd be happy to give a newer version a try to see whether I can reproduce the error.

I used pytorch 2.4.0.
There were no errors but the process just hung forever.
It could be possible due to my server's setup. Happy to close this PR if this is the case.

Hmm, difficult to say... So locally, you have two GPUs with which you tried?
I myself had tried it on runpod.io with two GPUs, and there - after specifying the correct master address and port - the script worked without the --standalone flag. In my experience, when the process hangs "forever", it was usually because of the wrong master port/adress.

I also need --standalone. I don't think this is a regression, so will merge as it may fix ddp for some systems.


revamp psv output

this uses a fixed buffer for PSV outputs and flushes to file whenever the buffer is full.

This is great, no allocation! :100:


albumart support

This hasn't been released yet, but it's set for MPD 21: https://github.com/MusicPlayerDaemon/MPD/commit/9df8b32f10a1b5a007f492981597abfb3f424e1b

Anything on this?
I also can't seem to find a way to write this by hand, as Network.MPD.Applicative does not export the Command constructor that would be needed for this


[MPG][Diff] default value in Typespec, Swagger and SDK

TypeSpec could use = to define default value for optional properties of a model or parameter, it equals to default of swagger like:

default value of both Typespec and swagger means server will use it instead of client side:

Python SDK from typespec:

Python SDK from swagger:

We can see there is difference between SDK generated from swagger and Typespec. I think the root cause is that m4 provides defaultValue while TCGC not:

It is by design and shall not influence existing SDK users.


Task was destroyed but it is pending

The bug
Occasionally, guidance runs in to an error, Task was destroyed but it is pending! which leaves the requester hanging forever for a response. It doesn't happen frequently but only once in a while. I realize it has to do with asyncio event loop.
Any suggestions on how to handle this scenario?
To Reproduce
Give a full working code snippet that can be pasted into a notebook cell or python file. Make sure to include the LLM load step so we know which model you are using.

import ast
import os
import json
import openai
import guidance

def generate_content_guidance(**kwargs):
    """
    Generates content as requested in the template
    """

    model = ''
    if 'model' in kwargs:
        model = kwargs['model']
    else:
        print('No model specified, using gpt-4')
        model = 'gpt-4'

    guidance.llm = guidance.llms.OpenAI(
        model=model,
        api_type='azure',
        api_key=os.getenv('AZURE_OPENAI_API_KEY'),
        api_base=os.getenv('AZURE_OPENAI_API_INSTANCE_NAME'),
        api_version=os.getenv('AZURE_OPENAI_API_VERSION'),
        deployment_id=os.getenv('AZURE_DEPLOYMENT_ID'),
        caching=False
    )

    # Generate the template
    generate_content_from_template = guidance(kwargs['template'])
    print('kwargs', kwargs, '\n\n')

    args = {}
    try:
        integers = ast.literal_eval(kwargs['integers'])
        print('integers', integers)
        for key, arg in kwargs.items():
            # arg should not be None
            if arg:
                if key in integers:
                    print('if', key, arg)
                    args[key] = int(arg)
                else:
                    if key != 'template':
                        print('else', key, arg)
                    args[key] = arg
    except (KeyError, ValueError) as e:
        return str(e), 400

    try:
        output = generate_content_from_template(**args)
        return output
    except openai.error.InvalidRequestError as e:
        return str(e), 501

def gen_content(data):
    req_params = {key: value for key, value in data.items() if key != 'template'}
    prompt_template = data['template']

    if 'template' not in data:
        raise Exception('Must provide template attribute in request body')

    new_items = generate_content_guidance(
        template=prompt_template,
        **req_params
    )

    out = new_items.variables().copy()

    response = {
        'message': 'Data processed successfully',
        'data': out,
        'status': 200
    }
    return response

def lambda_handler(event, context):
    request_parameters = event['body']
    data_json = json.loads(request_parameters)
    response_data = gen_content(data_json)

    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json',
        },
        'body': json.dumps(response_data)
    }

System info (please complete the following information):

OS (e.g. Ubuntu, Windows 11, Mac OS, etc.): AWS Lambda (x86_64)
Guidance Version (guidance.__version__): 0.0.63

I am getting the same error.

Hopefully this is fixed in the new release. Sorry it took us so long to get to it!


Fix back button when deleting an amount

Overview
When you delete an amount from the budget, the back button on the delete page will redirect to the dashboard.
Work Involved

Change link to go to amounts instead of dashboard

This has been fixed in this PR
https://github.com/DisSupEng/silver-coin/pull/35


Warnings when overriding binds

One of the things which confused me a lot while transitioning my old Sway config to Manjaro Sway was inability to override a keybind, $mod+d or $mod+s, for example. I use W\A\S\D for focusing on windows (sorry, but really got used to this Doom-like style :D ), and doing bindsym $mod+$down focus down in ~/.config/sway/config.d/00-user.conf, for example, raises a warning. Override works, but the warning appears every time I launch\reload sway, which is a bit infuriating. One of the things that can be done is to move the binds from normal mode to dotfiles folder, so users could change binds themselves, but if there are any reasons against that, or if there's a better solution, it will be very useful for me, because this solution is definitely less than ideal.

Yeah, I'd be fine with moving the key bindings into .config.

Instead of having to move all the bindings you can remove the binding with that you didn't like:
unbindsym $mod+$down
Then rebind it to the setup you want.

I honestly did not know of unbindsym. Perhaps that's another hint for our Readme?

Woah, this is interesting, I didn't know it's possible 🤣 . I will try and report it soon.
Well, there's one more thing to consider about binds: I suggest doing bindsym --to-code rather than bindsym, this way binds will work no matter which layout you use. Right now when I use other keyboard layout which doesn't have latin symbols, I can't control Sway

It does work like a charm, thanks @Mathew-D! Before closing this issue I will just post a reference so that anyone who's searching for it could find an example. My current ~/.config/sway/config.d/00-user.conf looks like this:
##These unbinds are requirered because I overwritten up\left\right\right to WASD
#Unbind stacking
unbindsym $mod+s
#unbind menu
unbindsym $mod+d
#unbind tabs
unbindsym $mod+w
#unbind focus parent
unbindsym $mod+a

#bind fot tab mode
bindsym $mod+t layout tabbed

#bind for menu
bindsym Mod1+space exec $menu

#Binds to focus windows with WASD
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+$left focus left


An error occurred while creating the graph;

Hi!
I found and installed that package.
When I set command in console: php artisan generate:erd test.png I have error:
http://prntscr.com/knadx3
what I should to do, for fix that error?
I use windows 10.

Solved  by remove $this->path in exec
I added /C:/Program Files (x86)/Graphviz2.38/bin into global variable PATH in windows 10.
372 line of Graph.php
In my opinion, windows don't understand (x86)  in the path.
How can I change config in laravel, for change $this->path to empty string?
Or how can we fix path /C:/Program Files (x86)/Graphviz2.38/bin for windows 10?


TypeError

This afternoon I successfully finished a port of the combo: i2cdevice-python and rv3028-python for use with a RPi Pico mounted on a Pimoroni 'pico explorer pack' on which also stacked a rv3028 breakout.
The only problem left is the fact that there occurs the following error in i2cdevice/__init__.py file, line 174 (class Device.__init__()).
self.__dict__[register.name] = _RegisterProxy(self, register)
For the moment I put this line 'out of service' by commenting it out. For the normal get/set date and time functions this 'being out of service' of this line looks not to create problems. However: this line was there for a reason, isn't it?
Any advice is welcome!

I can't remember the exact motivation behind this eldritch horror, but I don't believe I use device.register.set_field() anywhere in any library based on i2c-device.
Presumably I wanted device.some_settings_register.set_field(1) to work, but I seem to exclusively use the pattern:
device.set("REGISTER", key=value, key2=value2)

I would be delighted to remove this ghastly abomination and patch any libraries that show otherwise. Sometimes simpler is better, and trying to do weird dictionary lookup catching nonsense liks this is just a result of nobody telling me when to stop.

I'm on board with that! Do you want to remove it, or I can open a PR?

Feel free to open a PR- though I’m going to have to do some careful inspection of our i2c-device based libraries to make sure I’m not wrong 😬


fix(misuse): Add validation to deserialization

Previously, correctness through the existing validation functions was
not enforced during deserialization.
This is now achieved by going through TryFrom implementations or
specific field deserialization functions. Thus, it should no longer be
possible to create invalid instances by deserialization.
This fixes #502.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

201 of 208 (96.63%)  changed or added relevant lines in 3 files are covered.
456 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-3.2%) to 86.72%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

imap-types/src/datetime.rs
35
36
97.22%

imap-types/src/core.rs
133
139
95.68%

Files with Coverage Reduction
New Missed Lines
%

imap-types/src/mailbox.rs
40
69.19%

imap-types/src/datetime.rs
49
72.93%

imap-types/src/core.rs
367
70.6%

Totals

Change from base Build<PHONE_NUMBER>:
-3.2%

Covered Lines:
10167

Relevant Lines:
11724

💛  - Coveralls

@duesee I just read once again through your reply in the issue and noticed that I overlooked your hint to CommandContinuationRequestBasic, which has no validate method but a validation in its new method. I will take a look at that tomorrow.
(Also I will look into the strange non-diff the failing check is complaining about.)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

208 of 225 (92.44%)  changed or added relevant lines in 4 files are covered.
505 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-3.4%) to 86.481%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

imap-types/src/mailbox.rs
31
32
96.88%

imap-types/src/core.rs
123
128
96.09%

imap-types/src/response.rs
21
32
65.63%

Files with Coverage Reduction
New Missed Lines
%

imap-types/src/datetime.rs
29
80.29%

imap-types/src/mailbox.rs
39
69.19%

imap-types/src/response.rs
70
52.84%

imap-types/src/core.rs
367
70.6%

Totals

Change from base Build<PHONE_NUMBER>:
-3.4%

Covered Lines:
10190

Relevant Lines:
11783

💛  - Coveralls

You are using #[serde(try_from = "String")]. As far as I can tell this will create an intermediate copy and do some unnecessary unicode checks. Did you try #[serde(try_from = "&'a [u8]")]? I was not able to compile your branch with my suggestion, but it works in playground.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

208 of 225 (92.44%)  changed or added relevant lines in 4 files are covered.
505 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-3.4%) to 86.481%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

imap-types/src/mailbox.rs
31
32
96.88%

imap-types/src/core.rs
123
128
96.09%

imap-types/src/response.rs
21
32
65.63%

Files with Coverage Reduction
New Missed Lines
%

imap-types/src/datetime.rs
29
80.29%

imap-types/src/mailbox.rs
39
69.19%

imap-types/src/response.rs
70
52.84%

imap-types/src/core.rs
367
70.6%

Totals

Change from base Build<PHONE_NUMBER>:
-3.4%

Covered Lines:
10190

Relevant Lines:
11783

💛  - Coveralls

@jakoschiko Thanks for pointing this out. I will try to address the issues in your comment one by one:

You are using #[serde(try_from = "String")]. [...]

Hopefully, I only added deserialization through  String in cases, where the underlying type is some type of string (e.g. Cow<'a, str>). If you found any occurence where I went through a String on the way to a byte type (e.g. Cow<'a, [u8]>), please let me know. That would definetely be incorrect.

[...] As far as I can tell this will create an intermediate copy [...]

I would agree that deserializing into String will copy the data from the deserializer. After that, moving through TryFrom into Cow should not result into creating an additional copy. Let's check this in the playground.
However, if you are suggesting that previously, data was not copied, this seems not to be the case as deserialization into a Cow always results in a Cow::Owned, thus copying the data. (see https://github.com/serde-rs/serde/issues/1852)
There seem to be ways to mitigate this (e.g. using #[serde(borrow)] or introducing serde_with::BorrowCow). But when I tried this out briefly, I ended up sprinkling borrow all over the place and yet was not able to make things work without copying when used in combination with try_from.
There is probably some way of doing this, but would suggest adding an issue to tackle this optimization at a later point in time. What do you think?

[...] and do some unnecessary unicode checks. [...]

Where would you expect additional unicode checks? On the way to the first Rust string type in the conversion, there will always be a unicode check to ensure Rust's UTF-8 guarantees. However, when converting between string types, there should be no additional checks (e.g. when moving the String into a Cow<'a, str>).

[...] Did you try #[serde(try_from = "&'a [u8]")]? I was not able to compile your branch with my suggestion, but it works in playground.

I tried using &'a str in combination with #[serde(borrow)], but as stated above, unfortunately, I was not able to easily get rid of any copying this way in the actual code.

@duesee I'm a bit lost with the Coveralls failure.
In the report, there seem to be arbitrarily sprinkled coverage misses in empty lines and comments. I first thought that might have something to do with mixing in old coverage information into the report, but even with the changes to the coverage report generation we merged today, this is still the case.
Also, when I look at the coverage reports generated locally, the PR seems to only improve things in the files critizied by the tool and the report generated by grcov makes actual sense.
For the base report of main, everything seems to be fine and comparable to the local report.
Any ideas on this?

Hopefully, I only added deserialization through String in cases, where the underlying type is some type of string (e.g. Cow<'a, str>). If you found any occurence where I went through a String on the way to a byte type (e.g. Cow<'a, [u8]>), please let me know. That would definetely be incorrect.

My bad. I thought that types like Atom were wrapping &[u8], not &str.

However, if you are suggesting that previously, data was not copied, this seems not to be the case as deserialization into a Cow always results in a Cow::Owned, thus copying the data.

The previous serialization was also non-optimal (probably by accident). It should be possible to have an implementation that does not copy the bytes. E.g. the TryFrom implementation for Atom is using Cow::Borrowed:
impl<'a> TryFrom<&'a str> for Atom<'a> {
    type Error = ValidationError;

    fn try_from(value: &'a str) -> Result<Self, Self::Error> {
        Self::validate(value)?;

        Ok(Self(Cow::Borrowed(value)))
    }
}

There is probably some way of doing this, but would suggest adding an issue to tackle this optimization at a later point in time. What do you think?

Sure, if it's non-trivial to fix it, let's do it later.

Where would you expect additional unicode checks? On the way to the first Rust string type in the conversion, there will always be a unicode check to ensure Rust's UTF-8 guarantees.

Again, my bad. I'm a little bit surprised that @duesee decided to use &str instead of &[u8]. I far as I know we don't need to uphold Rust's UTF-8 guarantees here.

I tried using &'a str in combination with #[serde(borrow)], but as stated above, unfortunately, I was not able to easily get rid of any copying this way in the actual code.

This confuses me. Because for the TryFrom implementation I mentioned above I think this should be possible without much effort.

I'm a little bit surprised that @duesee decided to use &str instead of &[u8]. I far as I know we don't need to uphold Rust's UTF-8 guarantees here.

When writing the previous comment, I gave this some more thought and I'm actually also not sure if assuming this is correct. I have created #506 for discussing this further.

I tried using &'a str in combination with #[serde(borrow)], but as stated above, unfortunately, I was not able to easily get rid of any copying this way in the actual code.

This confuses me. Because of the TryFrom implementation I mentioned above I think this should be possible without much effort.

Unfortunately, your playground example simplifies things a bit by not using Cow and therefor not requiring #[serde(borrow)].
However, I'm not sure what I observed a few days ago, but trying it out now in the playground, the combination indeed seems to work.
Anyways, there is still the point of having to add #[serde(borrow)] all the way up the type tree for which I'm not sure of the consequences. So I would rather not throw this improvement into this PR as well and have created #507 to keep track of the topic.

 I had this feeling already that something is flaky... If your local coverage is sane, I would suggest not blocking on this. I'll open an issue to take a closer look.

 I had this feeling already that something is flaky... If your local coverage is sane, I would suggest not blocking on this. I'll open an issue to take a closer look.

#511 should fix that. I am happy to wait for that one to be merged first and see this PR not reducing the coverage after rebasing.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

208 of 208 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 92.678%

Totals

Change from base Build<PHONE_NUMBER>:
0.4%

Covered Lines:
10190

Relevant Lines:
10995

💛  - Coveralls

Awesome work! Thanks! :-)


⚠ File access has degraded performance

In 4bd1405, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 2636 ms

Resolved: File access performance has improved in 4206f5c after 13 minutes.


Things to do before Release V1

~[ ] Create hidden service automatically if TOR is detected~

[x] Connect Alice side through TOR or HTTP Proxy (Privoxy)
[ ] RSA Proof for Blinding
[x] Providing Standard Cycle defintions
[ ] Tumbled Champagne

@nopara73 in v1, I think that I will just use the TorControlClient for configuring automatically the hidden service. Then allow a HTTP proxy to be configured for Alice. (can be directled to privoxy)

Connect Alice side through TOR or HTTP Proxy (Privoxy)

Bot Bob and Alice side must be connected. A client has many Bob identities, not only one.
Tor or Privoxy? Do you mean Tor with own HTTP proxy OR Tor with Privoxy?

Tumbled Champagne

What is this?

@nopara73 in v1, I think that I will just use the TorControlClient for configuring automatically the hidden service. Then allow a HTTP proxy to be configured for Alice. (can be directled to privoxy)

So you couldn't fix the bug or didn't even look at it?
Privoxy was an option we decided against in the beginning, because "we don't want another dependency". Neverthless I continue writing my http protocol implementation and when it's ready, I'll easily be able to fix the chunked encoding bug in DotNetTor.

Tumbled champagne is the champagne of the release.
Allowing Alice side to configure a HTTP proxy is very easy to do and is not coupled with privoxy.

It is not possible to configure proxy for bob and alice.

I am removing any TOR integration for first release. With Privoxy, the user can hide Alice.
Will add TOR + Dang's UI in second version shortly after.

Proposal of the "Kotori" standard cycle generator.
It mix 1 BTC per day at its peak, phases of overlapping cycles are separated by at least 2 blocks, making sure same circuit is not reused, even in absense of Tor control.
_Kotori = new StandardCycle()
{
	FriendlyName = "Kotori",
	Consensus = consensus,
	Denomination = Money.Coins(1.0m),
	Generator = new OverlappedCycleGenerator()
	{
		RegistrationOverlap = 1,
		FirstCycle = new CycleParameters()
		{
			Start = 0,
			//one cycle per day
			RegistrationDuration = GetBlocksCount(consensus, 24 * 60) + 1,
			//make sure tor circuit get renewed
			SafetyPeriodDuration = GetBlocksCount(consensus, 20),
			ClientChannelEstablishmentDuration = GetBlocksCount(consensus, 4 * 60),
			TumblerChannelEstablishmentDuration = GetBlocksCount(consensus, 4 * 60),
			PaymentPhaseDuration = GetBlocksCount(consensus, 4 * 60 + 30),
			TumblerCashoutDuration = GetBlocksCount(consensus, 9 * 60 + 30),
			ClientCashoutDuration = GetBlocksCount(consensus, 5 * 60)
		}
	}
};

Done


Add status-code component and pages (wip)

[ ] Add 404, 50x, common error pages
[ ] Improve design

The status code page/component looks something like this at the moment:

@noteed Do you have any feedback so far for this PR? I added the glitch animation for fun, but would like to get your feedback if you like it.

@andyngo Haha, the animation made giggle :) I'm not sure I would want to use them in practice but that's a nice idea to have around in Sketchbook.
Just make sure your error code and phrasing match ;)


'Every' in examples is misleading

I guess the 'every' word makes sense when sleepto is called in a recurrent context.
However it seems misleading as is:
  # Every 10th of month at 3pm
  sleepto -day 10 -hour 15 /bin/send-report
  # Every 15 minutes
  sleepto -minute 0,15,30,45 say "Hello human"
  # Every day at 1am
  sleepto -hour 1 && ~/dbbackup.sh

How about replacing it with a more accurate description?
  # Next 10th of month at 3pm
  sleepto -day 10 -hour 15 /bin/send-report
  # Next occurence of one quarter of hour
  sleepto -minute 0,15,30,45 say "Hello human"
  # Next day at 1am
  sleepto -hour 1 && ~/dbbackup.sh

Thank you @udhos! Was too focused on my personal use cases when phrasing these comments.
I used your suggestions here: https://github.com/qvl/sleepto/commit/5f6b10762367c9394deeddb527d0332ee2e926ee


GridAnimation3D docstring should mention pyvista docs link

In GitLab by @betsyromero on Mar 8, 2022, 17:47
This description:
    mesh_kwargs : dict
        keyword arguments that are forwarded to the pyvista mesh representing
        "da". If "stitle" is given as one of the arguments, the special keyword "timestamp"
        can be used to render the plotted time as part of the title. See example.

Should link to this page: https://docs.pyvista.org/api/plotting/_autosummary/pyvista.Plotter.add_mesh.html#pyvista.Plotter.add_mesh

In GitLab by @JoerivanEngelen on Jun 10, 2022, 15:09
Thanks for pointing out this missing info, added in https://gitlab.com/deltares/imod/imod-python/-/commit/bb7b5bcd5d5de7c0a404daf4277a82cf6b49fb44


GPS & Field Papers - move to mobile mapping

The beginners section of LearnOSM is so long it is difficult to see all of the menus at present. This spreadsheet shows the current position:  https://docs.google.com/spreadsheets/d/1NlJHTYAYpyyF5o9D8UMAsSzFG7lHY2cIi2mzncx530w/edit#gid=1753852254
We have a section Mobile Mapping which could easily be adapted to include GPS (Garmin) and Field Papers.
Propose to move both subjects in all languages to Mobile mapping, updating the text in files that refer to them to show what has been done.
This is actually a significant update - I will provide a link to a site where you can view this proposed change before we implement it.

Definitively pro as far as field papers is concerned.
I hesitate as far as GPS is concerned. The current guide is a detailed instruction how to use a specific Garmin device and in its present form should be moved to the mobile mapping section. Nevertheless, this is learnOSM and not learnHOTOSM. While a GPS is not needed for remote mapping HOT tasks, it is the basis of my mapping after I went hiking.
So we still need some thoughts on sources for editing in a beginners' chapter. For GPS: tell people to select a reasonable sampling interval, make sure they save tracks with timestamps, tell them about GPSBabel and that recording with limited satellite availability, e.g. in gorges, can lead to substantial positioning errors. But there we should not go into details about how to operate specific devices.
I deliberately speak of sources because I miss some points on using some aerial imagery, not using other aerial imagery and not using most printed maps - the ubiquitous copyright issues should be brought to the attention of beginners.

@michael63-osm
Your observation is correct. But I think it can be forgiven if we can overlook how some guides are sometimes HOT-centric, considering how most of the time the authors are associated with HOT. (We were working with HOT and OSM-Indonesia  - with Emir and Adyit when some of these docs were updated some time back.) Perhaps we can consider these guides as a starting point for revised versions of the guides that are more platform neutral.
And that's one of the beauty of collaboratively working with other people.

Implemented with #431


Issue running several unit test with jsdom in a row

I have an issue when trying to run mocha unit tests with Backbone, jsdom and Require.js.
There is two simple views ViewA and ViewB (similar here), having their test files
ViewATest.js and ViewBTest.js
Running each test separately is fine but when running them together, the second one fails.
RequireJSConf.js
var requirejs = require('requirejs');
requirejs.config({
  baseUrl: 'public/javascripts',
  paths: {
    'backbone': 'lib/backbone/backbone',
    'underscore': 'lib/lodash/index'
  }
});
module.exports = requirejs;

ViewA.js and ViewB.js
define(['backbone'], function(Backbone) {
  'use strict';

  return Backbone.View.extend({

    initialize: function() {
      this.render();
    },

    render: function() {
      this.$('name').val('test');
      return this;
    }
  });
});

ViewATest.js (ViewBTest.js is similar with B replacing A)
'use strict';
var expect = require('chai').expect;
var requirejs = require("../requireJsConf");
var jsdom = require("jsdom");

describe('ViewATest', function() {
  var ViewA, sut;

  var template = '\
      <input name="name" />\
      <input name="description" />'
    ;

  before(function(done){
    jsdom.env('<form id="ViewA">' + template + '</form>',function(err, window) {
        global.window = window;

        requirejs(['app/view/ViewA'], function(viewA) {
          ViewA = viewA;
          sut = new ViewA({
            el: "#ViewA"
          });
          sut.$el.html(template);
          done();
        });
      });
  });

  it('loads the element', function() {
    expect(sut.$el.html()).not.to.be.empty;
  });
});

We are using jsdom 8.3.0, backbone 1.3.2, mocha 2.4.5, requirejs 2.2.0

Here is a sample project for reproducing this bug: https://github.com/plrenaudin/jsdom-mocha-test

Glad you found a solution, and sorry about our lack of response. It is indeed the case that a lot of things are shared between different jsdom windows; see #1453. We may eventually change that, but it would come at a major performance cost, so nobody is eager to do the work.


fix: broken search artworks container test

Description
This PR fixes tests after they broke due to enabling this feature flag

#nochangelog
Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against e9e2ef2191c72f373361afb27890006e0a5304f3


v1 API & add REPL mode (alpha)

merge this PR after https://github.com/vdaas/vald/pull/740 is merged.

valdcli-v1-alpha.tar.gz


Fix end aligned content with no text or left content.

Summary
Correct implementation for end aligned content when both the start aligned items and title is missing.
Fixes #183
Deployment: https://terra-clinical-deployed-pr-182.herokuapp.com/static/#/site/header

Functional review complete.  No issues identified.


[Ruby] Fix memory leak in GRPC::Core::Call#run_batch

The C function that backs this Ruby method can raise a variety of errors. In particular, grpc_run_batch_stack_fill_ops has a lot of places that raise errors. When an error is raised, allocated memory (e.g. run_batch_stack) is not freed and is permanently leaked.
This changes grpc_rb_call_run_batch to have an ensure block to perform cleanup and free all allocated resources.
@yashykt

@jtattermusch @apolcyn is there any chance this will be reviewed or merged soon? Thank you!

@apolcyn  needs to review this.

@apolcyn could I get a review on this?


Task 'testClasses' not found in project

OS:Windows
Branch:master
FAILURE: Build failed with an exception.

What went wrong:
Task 'testClasses' not found in project ':MoviesApp'. Some candidates are: 'jvmTestClasses'.

fixed


Replace Ferrous Systems logo with SVG

Currently the Ferrous Systems logo in the README is a PNG with a white background. This PR replaces it with a SVG that reacts to the user’s dark mode setting.
In dark mode in a browser that supports this:

In dark mode in a browser that doesn’t support this:

In light mode:

I understand if you’d rather not merge this because it’s a modification of the company logo. Thanks!

We actually should revome mentions of sponsors and branding from the repo, due to transition to rust-lang org. I'll do that when I have time (should have some by the time ! hits stable)

Opened https://github.com/rust-analyzer/rust-analyzer/pull/11796 to remove the sponsors


typo: Double word "of"

@nschonni : Thanks for your contribution! The author, @[rimayber, dgoddard, stegag, steveesp, minale, btalb, prachank], has been notified to review your proposed change.

Looks like there is a problem with the author metadata using an array, but I'm not sure the fix for that

Verified editorial correction.


Provisioning error descriptions

Implement a way for an user to see provisioning error descriptions from send by plugins.
e.g. provisioning an instance when the user has no key returns just "failed"

Closed by #62


Safaribooksonline url redirects to Oreily.com : Unsupported URL

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.09.26. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.09.26

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
(venv) E:\CCNA_2018>youtube-dl -u<EMAIL_ADDRESS>-p password-Fv https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-u', 'PRIVATE', '-p', 'PRIVATE', '-Fv', 'https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2018.09.26
[debug] Python version 3.7.0 (CPython) - Windows-10-10.0.17134-SP0
[debug] exe versions: none
[debug] Proxy map: {}
[generic]<PHONE_NUMBER>330-ICN1_01_01_05: Requesting header
[redirect] Following redirect to https://www.oreilly.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05
[generic]<PHONE_NUMBER>330-ICN1_01_01_05: Requesting header
WARNING: Falling back on generic information extractor.
[generic]<PHONE_NUMBER>330-ICN1_01_01_05: Downloading webpage
[generic]<PHONE_NUMBER>330-ICN1_01_01_05: Extracting information
ERROR: Unsupported URL: https://www.oreilly.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05
Traceback (most recent call last):
  File "e:\ccna_2018\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "e:\ccna_2018\venv\lib\site-packages\youtube_dl\extractor\common.py", line 507, in extract
    ie_result = self._real_extract(url)
  File "e:\ccna_2018\venv\lib\site-packages\youtube_dl\extractor\generic.py", line 3298, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.oreilly.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video:  https://www.oreilly.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

Description of your issue, suggested solution and other information
When I try to execute the command to download a video from Safaribooksonline.com, the site redirects to an oreily.com domain, which then causes an exception stating that the site isn't supported. For example, 'https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05' redirects to ' https://www.oreilly.com/learning-paths/learning-path-ccna/9780134840215/9780134664330-ICN1_01_01_05' and causes the error.
NOTE: The credentials to log in to the site can be obtained by signing up with any email ID; no card details required.

Note: If this is by chance a duplicate (even though I couldn't find any similar topic), please provide a link to the solution. Thanks!

I can confirm this being a issue, as some URL's at safaribooks.com now redirect to oreilly.com. This is another example:
https://www.safaribooksonline.com/learning-paths/learning-path-acquiring/9781491998458/

[redirect] Following redirect to https://www.oreilly.com/learning-paths/learning-path-acquiring/9781491998458/
[generic]<PHONE_NUMBER>458: Requesting header
WARNING: Falling back on generic information extractor.
[generic]<PHONE_NUMBER>458: Downloading webpage
[generic]<PHONE_NUMBER>458: Extracting information
ERROR: Unsupported URL: https://www.oreilly.com/learning-paths/learning-path-acquiring/9781491998458/
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\YoutubeDL.py", line 792, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\common.py", line 507, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\generic.py", line 3298, in _real_extract
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.oreilly.com/learning-paths/learning-path-acquiring/9781491998458/

https://www.safaribooksonline.com/learning-paths/learning-path-building/9781491996782/
was redirected to
https://www.oreilly.com/learning-paths/learning-path-building/9781491996782/
then
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.oreilly.com/learning-paths/learning-path-building/9781491996782/

The link for safaribooksonline is no longer used in the URL. There is a new domain called as www.learning.oreiily.com being used now. There may be a need to include a new extractor for this.

https://www.safaribooksonline.com has migrated to www.learning.oreiily.com  and all https://www.safaribooksonline.com links redirect to  www.learning.oreiily.com. The new domain issues the username and password which is not supported on safari domain,.
ERROR: Unsupported URL: https://www.oreilly.com/learning-paths/learning-path-acquiring/9781491998458/

Microsoft Windows [Version 10.0.17763.168]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\Param>cd c:\safarivids
c:\safarivids>youtube-dl
[generic] 10000MNLV201732: Requesting header
[redirect] Following redirect to https://learning.oreilly.com/library/view/learning-clientside-graphql/10000MNLV201732/
[generic] 10000MNLV201732: Requesting header
[generic] 10000MNLV201732: Downloading webpage
[generic] 10000MNLV201732: Extracting information
ERROR: Unsupported URL: https://learning.oreilly.com/library/view/learning-clientside-graphql/10000MNLV201732/
[generic] 10000MNLV201729: Requesting header
[redirect] Following redirect to https://learning.oreilly.com/library/view/react-in-motion/10000MNLV201729/
[generic] 10000MNLV201729: Requesting header
[generic] 10000MNLV201729: Downloading webpage
[generic] 10000MNLV201729: Extracting information
ERROR: Unsupported URL: https://learning.oreilly.com/library/view/react-in-motion/10000MNLV201729/
c:\safarivids>

@blueray453 this no longer seems to be the case? I'm unable to download at all from the new site.

youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840864/
C:\youtube-dl-master\downloaded>youtube-dl -u<EMAIL_ADDRESS>-p XXXX -v --all-subs -i -c -w -o "E:\safaribooksonline%(playlist)s%(playlist_index)s
-%(title)s.%(ext)s" --external-downloader aria2c.exe https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840864/ --convert-subs srt
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-u', 'PRIVATE', '-p', 'PRIVATE', '-v', '--all-subs', '-i', '-c', '-w', '-o', 'E:\safaribooksonline_2020\%(playlist)s\%(playlist_index)s-%(title)s
.%(ext)s', '--external-downloader', 'aria2c.exe', 'https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840864/', '--convert-subs', 'srt']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2019.03.01
[debug] Python version 3.7.2 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: none
[debug] Proxy map: {}
[generic]<PHONE_NUMBER>864: Requesting header
WARNING: Falling back on generic information extractor.
[generic]<PHONE_NUMBER>864: Downloading webpage
[generic]<PHONE_NUMBER>864: Extracting information
ERROR: Unsupported URL: https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840864/
Traceback (most recent call last):
File "c:\python37-32\lib\site-packages\youtube_dl\YoutubeDL.py", line 794, in extract_info
ie_result = ie.extract(url)
File "c:\python37-32\lib\site-packages\youtube_dl\extractor\common.py", line 508, in extract
ie_result = self._real_extract(url)
File "c:\python37-32\lib\site-packages\youtube_dl\extractor\generic.py", line 3320, in _real_extract
raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.safaribooksonline.com/learning-paths/learning-path-ccna/9780134840864/


[Breadcrumbs] Create breadcrumbs region for the breadcrumbs on each page

Create breadcrumbs region, delineate current page aria-current="true"

Possibly related/Duplicate to #206

issue is a duplicate. Closing this


Implement ScrollFire from Materalize.css

http://materializecss.com/scrollfire.html

Scrollfire is implemented and may need to be expanded or the API explained in docs.


IC-1: QB budget output doesn't contain country percentages or regions

This was asked for in the ticket: https://github.com/zimmerman-team/iati.cloud/issues/2100
Country code and narrative details are present but percentage is missing.
This makes it hard for data users to assign budgets to countries
To make this work fully. Region codes, vocabularies, narratives and percentages are also needed.
To Reproduce
Steps to reproduce the behavior: https://test-datastore.iatistandard.org/search/budget?q=reporting_org_ref:(GB-COH-06368740)&wt=xslt&tr=budget-csv.xsl&rows=50
See missing country_percentage column
Expected behavior

Expect country percentage to be present
As a feature I would also like region codes, vocabularies, narratives and percentages to be present

Nr. 1 will be done, Nr. needs 1/2 DAY so in order to proceed we need clearance on that Nr. 2 @amy-silcock

If there's time available for this yes please do proceed for nr.2.

If there's time available for this yes please do proceed for nr.2.

@sylvanr can you check if this is autofixed by the direct indexing branch?

closed by direct-indexing


Implement Cycle Duration Prometheus metric

Fixes #46
Signed-off-by: Steve Sloka<EMAIL_ADDRESS>

I thought passing milliseconds took the logic out of writing the metric, if we wanted to re-use that method for another Discoverer, you just need to pass milliseconds and not a convention of what the previous one did.

I changed to use a Duration instead of milliseconds, it's cleaner, nice suggestion!


[bug] EncryptionUtils is signing the wrong data when given a Buffer

Problem
EncryptionUtils.signData() accepts a data parameter as any type, and tries to convert it to a string if it's an object.
The string is then serialized to a Uint8Array for hashing and signing.
This API is very convenient, as users don't need to worry about the serialization to raw bytes (that much).
Normally, this works without a problem, but some object types would produce the wrong raw data to be signed, since they already represent raw data.
Examples:
let b = new Buffer([1, 2, 3])
// <Buffer 01 02 03>

typeof b === 'object'
// true

let serialized = JSON.stringify(b)
//'{"type":"Buffer","data":[1,2,3]}'

let rawData = Buffer.from(serialized)
// <Buffer 7b 22 74 79 70 65 22 3a 22 42 75 66 66 65 72 22 2c 22 64 61 74 61 22 3a 5b 31 2c 32 2c 33 5d 7d>
// this is not the same as the original 3 byte buffer <Buffer 01 02 03>

Something similar happens when data is a Uint8Array.
Solution
If the same API needs to be kept, some extra checks need to be made on the data before checking for object:
if ( data instanceof Uint8Array) ( // this also covers `Buffer`
  data = utils.hexlify(data) // the hashing method that follows also tries to serialize strings, except when they are hex strings
} else if ( typeof data === 'object') {
  data = JSON.stringify(data)
}

Details
https://github.com/verida/verida-js/blob/01ac4f3f968a8e252d74ee42b45e3397504328ac/packages/encryption-utils/src/index.ts#L110

Thanks @mirceanis -- that's a really great pickup!

Resolved with https://github.com/verida/verida-js/commit/5416ca0e30706f481563969e34589a88ea5e4058


gbans ban native unable to accept server as valid adminid

https://github.com/leighmacdonald/gbans/blob/c2c9b10bdde7fe95144323c7040de3ac0ee0b767/sourcemod/scripting/gbans/ban.sp#L3-L6

ack ty


Unable to get Apollo Graph endpoint working in Node on Now

Hi i am new to now and graphql.
I have a simple apollo client graphql endpoint setup in node.
It runs fine locally when accessing /graphql it shows the graphiql playground but when deployed to now.sh using now command,
the files are just being uploaded and /graphiql endpoint is not showing the UI.
I have start script in the project running index.js and also configured now.json to build all js files but the endpoint seems not to be working.
What am i missing. Please help.
Following is the snapshot of command.

Hi, Lak
Have you solved the issue, after hours of trial, I have found out one workaround for myself, I put all my src code in src so I need to set the routes in src as well otherwise it does not work. But then my API url looks like 'https://server-l6uvj33we.now.sh/src/'
{
"version": 2,
"builds": [{ "src": "src/.js", "use": "@now/node-server" }],
"routes": [{ "src": "src/.", "dest": "index.js" }]
}

Looks like this has been solved by the community :)


use socket on adonis

hi ...
how i can integrate socket.io with adonis...
can show me a very simple demo ...

Check out http://amanvirk.me/using-socket-io-with-adonis/

perfecttttttttttttttttttttt

thank you ... but i have problem with this ...
when i try to use my method provider in socket file give me error for use yield... while i put 'use strict'
Unexpected strict mode reserved word

plz help

check out how to use generators

my socket.js
const server = use('http').createServer()
const io = use('socket.io')(server)
const ch = use('Challenge/Challenge')
console.log(yield ch.test())
io.on('connection', function(socket) {
	console.log('connection created >>>')
	socket.on('signup', function(data) {
		console.log(JSON.parse(data));
	})

})
io.listen(3000)

You cannot use yield without a generator method, make sure to wrap inside co
npm install co --save

co (function * () {
  const values = yield ch.test()
  console.log(values)
})

sorry i also put use strict on top of the socket.js but show me error Again
Unexpected strict mode reserved word

Are you wrapping your yield inside co generator method ?

Based on the write-up for the socket io implementation, how would you then get a handle on the io in say a controller? I would like to do io.emit('msg', 'test') for example.

Not sure if it's the best way to do it but what I figured doing is expose some methods for the socket server in socket.js and inject it into the controller to get a handle. Seems to work for me.

The blog post shows that's easy to implement Socket with Adonis !
But i think that it will be better and awesome to make it as a service provider, so the usage will be simple like:

class UserController {

    * login (request, response) {
        const email = request.input('email')
        const password = request.input('password')
        const login = yield request.auth.attempt(email, password)

        if (login) {
            response.send('Logged In Successfully')
            Socket.emit('new_user_connected', {message: 'new user is connected'})
            return
        }

        response.unauthorized('Invalid credentails')
    }

}

@AbdelilahLbardi It has to be more than wrapping socket.io inside a service provider. The official provider will have a friendly API to make use of websockets around the real world scenarios.
You will have to wait for that for a while 😄

@thetutlage alright! Go ahead boss :+1:

@AbdelilahLbardi nice info mate , it will be nice again if @AbdelilahLbardi  write the full example or tutorial about socket wrapping inside a service provider ..
Thanks

You may have a look of https://github.com/adonisjs/adonis-websocket

@RomainLanz Thank you brother

adonis 4 with socket.io implemented successfully and socket.js also console.log() new messages from client but than I have to handle everything from this socket.js file, how can i pass this socket instance into any controller say UserController so that i can emit message from controller ???


jemalloc absent in a system after installation

I have started my journey recently with buildpacks. First issue I found that jemalloc doesn't work in my container
Manually checking path returns only
ls /usr/lib/x86_64-linux-gnu/libj
libjbig.so.0          libjbig2dec.so.0      libjbig2dec.so.0.0.0  libjpeg.so.8          libjpeg.so.8.2.2      libjq.so.1            libjq.so.1.0.4        libjson-c.so.5        libjson-c.so.5.1.0

project.toml
[_]
schema-version = "0.2"

# buildpack configuration goes here
[com.heroku.buildpacks.deb-packages]
install = [
    # string version of a dependency to install
    "libtag1-dev",
    "libjemalloc2"
]

Hi @garry-t, thanks for opening this issue!
This buildpack cannot install into /usr/lib for the reasons explained in the README:

This buildpack implements logic to install packages from .deb files in a CNB-friendly manner that does not require root permissions or modifications to system files that could invalidate how CNB rebasing functionality works.

Because of these restrictions, packages are installed into a CNB layer, not into system directories. Currently this layer is located at /layers/heroku_deb-packages/packages/ so you would check the path with:
ls /layers/heroku_deb-packages/packages//usr/lib/x86_64-linux-gnu/libj

Please let me know if that helps with your usage and configuration of jemalloc.

@colincasey thanks for your reply. I will back to CNB task a bit later, but I think my a mistake was that during build I didnt specify --descriptor project.toml so it doesn't participate in DETECT stage.
Closing for now.


ID Mapping: handle blank lines in the id list

If user provides a list of identifiers with any blank lines in them, search returns 0 results.
The blanks should be handled correctly and ignored from the list. Here is an example:
Rv0001
Rv0088
Rv0897c
Rv0898c
Rv0899

Try the list below. For some reason, it is not working, gives zero results.
Rv0001
Rv0088
Rv0897c
Rv0898c
Rv0899
Rv0900
Rv0901
Rv0902c
Rv0903c
Rv0904c
Rv0905
Rv0906
Rv0907
Rv0908
Rv0909
Rv0910
Rv0911
Rv0912
Rv0913c
Rv0089
Rv0914c
Rv0915c
Rv0916c
Rv0917

Have you cleared browser cache?
Sent from my iPhone

On Aug 24, 2015, at 5:58 PM, mshukla1<EMAIL_ADDRESS>wrote:
Try the list below. For some reason, it is not working, gives zero results.
Rv0001
Rv0088
Rv0897c
Rv0898c
Rv0899
Rv0900
Rv0901
Rv0902c
Rv0903c
Rv0904c
Rv0905
Rv0906
Rv0907
Rv0908
Rv0909
Rv0910
Rv0911
Rv0912
Rv0913c
Rv0089
Rv0914c
Rv0915c
Rv0916c
Rv0917
—
Reply to this email directly or view it on GitHub.

Seems to be working now. Thanks.


WIP: Ability to set a property value with an enum in shiro.ini file

SHIRO-425 (applied patch to master)
This enum support could be limited to property only, but that might cause confusion.
Currently supported via this patch:
[main]
myObject = com.foo.bar.Type
myObject.enumProperty = ENUM_VALUE1

This is really cool, but as a user I would also expect the following to work:
[main]
myObject = com.foo.bar.Type
myObject.enumListProperty = ENUM_VALUE1, ENUM_VALUE2

[main]
myObject = com.foo.bar.Type
myObject.enumMapProperty = one:ENUM_VALUE1, two:ENUM_VALUE2

Granted the Map example might be a bit contrived, but less so for the list.
I've added a test for this.
Thoughts ?

cc: @leleuj

This looks good to me

supercedes by https://github.com/apache/shiro/pull/199
We can close this one


Cannot change nodeport range

Steps:

Change nodeport range when create cluster to 8000-9000
Deploy a workload and add a node port
Try to input 8001 as the node port.

Result:
UI will auto change the port to 30000

@loganhz can you see if this is true and reproducible?

This has been fixed in master with https://github.com/rancher/rancher/commit/7bd6ebd166ee73e7c30706ea4c993175dfca2cf0#diff-6aee2186307640527a4a2bb6c3a56f3c
Close in favor of https://github.com/rancher/rancher/issues/18275#issuecomment-484410538


Sequencing library notation issue - replace - with _ in config file

This is still erroring out: https://batch.hail.populationgenomics.org.au/batches/435978/jobs/91 :/


Server: add versioning to API

In case we'll be adding breaking changes (and we will), it would be useful to have a separate /v1/api and /vN/api

Migrated to https://github.com/snowplow-incubator/iglu-server/issues/12


Ability to live-view logs for hosts

Is your feature request related to a problem? Please describe.
It's always a hassle having to log into ssh, find the logs folder, figure out which host number is the correct file and then tail -f it.
Describe the solution you'd like
A new button in the host context menu that allows viewing a live feed of the _access and _error log files for that host in my web browser
Describe alternatives you've considered

having to log into ssh, find the logs folder, figure out which host number is the correct file and then tail -f it

Additional context

mine is quite a bit simpler but yeah, i see where you're coming from


Implement cumulative sum/prod ... using SIMD

We have a prototype for a cumulative sum using xsimd here: https://gist.github.com/jpivarski/b2a04778124e7dc790d87fcdfd399e1e/
We should work to integrate it into the library.

xsimd no longer bundles algorithms, that's something that should go in https://github.com/xtensor-stack/xsimd-algorithm


Notice: Packaging compiled binaries to debian packages

This is just an FYI.
If you want to package you binary, as a Debian package, you have to leave out the dh_strip build step. Apparently this, strips out debug information, that pkg relies on, and renders the binary in an unwanted state.

@jeppech This is how I solve the problem in my app.
https://github.com/harisvsulaiman/pushy


perhaps remove item_feature_embedding_dim in gin config for amzn-books?

ValueError: Configurable 'train_fn' doesn't have a parameter named 'item_feature_embedding_dim'.
In file "configs/amzn-books/sasrec-sampled-softmax-n512-final.gin", line 14
train_fn.item_feature_embedding_dim = 0

Good catch! Should be addressed by https://github.com/facebookresearch/generative-recommenders/pull/10


[296] Ensure unique EquipmentItem serial given EquipmentModel

Resolves #296

set uniqueness validator
write model specs

Alright, fixed the comments, as long as the build passes I'll just merge it in and tag / release v5.5.0


Add feature SSO

Hello,
Is it possible to add a SSO for all services with a AD or a LDAP ?
So the SOC man have just to logging to the front URL once.
The Best will be that all the internal password are in a vault only know by the vault and change every x day.
Thanks

I agree, SIEMonster has a feature like that

for Web login and ssh example : https://www.hashicorp.com/products/vault

I will try to integrate vault for testing


Day 3 | Review: Releasing Code

This is a difficult day, because there is a good chance that most people won't be ready to release yet, and may not even be entirely sure what dependencies they need to put into their requirements.txt file. I think have a clear set of steps will help—I like the slide of activities at the end, and would suggest creating a similar slide near the beginning of the presentation to show very clearly, here is what you need to do to get from some code you've written to a released package. Like a checklist.
I found the slides on the setup.py file and init.py file to be a little confusing. On slide 12, you note that an init file tells setuptools that the code in this directory is a python package. I'm not actually sure if this is true, but I think you have to create the init files before creating the setup file, right? If that's correct, then I would suggest going in that order. If that's not correct, then I would take out that note. Additionally, I like the example of the minimal setup script, but I think some notations about what each part is doing would be helpful to make it feel less like a black box. Lastly, a sample init would be similarly helpful.
I can't think of any additional background knowledge to add. I think everyone is excited (but also nervous) about this part.
As far as timing, I think the actual creation of these files doesn't take more than an hour, but I would suggest really encouraging people to do a first release that is "not totally finished" just to get practice doing this. My group last year was really hesitant to release any code until it was completely done, and as a result, we didn't get much practice with putting the package together and releasing. Some people will feel like they are behind at this point, and so just remind them that it's low stakes and better to just do a release today so that they can practice putting the package together. They can do a new release tomorrow!
Also one minor thing that shouldn't matter, but I just noticed there is a typo in the title of slide 14. :)

(I will post my review under this other one, to avoid opening too many issues)

How clear is the material? What’s confusing?

I like it a lot. Maybe the twine part could be presented in more detail. When I was organizing a similar workshop for the Chilean community, we made a jupyter notebook explaining some of the files and the install process in more detail (see link below)
https://github.com/Science-and-Commit/Workshop_2022/blob/main/4_code_profilling_and_releasing/releasing_code.ipynb

Are we assuming any knowledge that we shouldn’t be? Where should we add background info?

The only thing I can think about is that they may not be ready with the package and therefore they will not be able to complete this task in the given activity time... but they can complete it afterwards.

Is the structure of the lesson engaging? Are there any parts that are unnecessary/boring/too long?

I think this is one of the most expected lessons of the workshop! They will be very interested.

How much time?

This depends a lot. If their package is ready this will be fast (30 min?), but probably they will not be able to complete this activity during the time of the lesson.

Thanks so much to both of you for the excellent feedback! I've tried to implement your suggestions in the google slides. Paulina, I'd love to include a link to your version of this activity if that's ok with you!

Sure! Feel free to include it, but it's in spanish :)
On Thu, Jun 23, 2022, 04:06 Sarah Blunt @.***> wrote:

Thanks so much to both of you for the excellent feedback! I've tried to
implement your suggestions in the google slides. Paulina, I'd love to
include a link to your version of this activity if that's ok with you!
—
Reply to this email directly, view it on GitHub
https://github.com/semaphoreP/codeastro/issues/106#issuecomment-1163842571,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKJH34JAHHCS7LMOAXO6EF3VQPBDZANCNFSM5ZAFIP3Q
.
You are receiving this because you commented.Message ID:
@.***>


Ignore missing metadata group length field

The proposed change adds an additional option flag to the parser which indicates it to ignore the MetaInformationGroupLength element (0x0002, 0x0000).    There are many vendors which are still producing DICOM with this tag missing.  Other toolkits like pydicom give a warning and dcmtk just reads these files (e.g. their dcmconv utility will fix the file and add the tag but it changes other tags such as ImplementationVersionName).
The idea behind the proposed change is to allow the file to be parsed even when missing this tag and it essentially does not use the PushLimit, PopLimit utilities; but rather peeks into every 4 bytes and reads all the element if it is in group 2.  It will stop once it finishes reading group 2 tags.   I tested with 2 different ultrasound vendor datasets.
Please let me know of any additional artifacts you would want in order to accept this (e.g. tests)

I've updated the unit tests.  I created 2 functions to generate fake header data (one with the 0x2,0x00 element/tag and another without).   I am only testing readHeader for this.  Let me know what you think.

Hello wanted to make sure that there was no pending action on my part and that you can see the changes I submitted per your latest review comments.  Please let me know.  Regards.

All good on your end! I will take a look today or later this week! Apologies for the delay, have been quite busy over the past weeks!


Add the runtime stage environment in the Dockerfile

Time: 1 week
Dependencies: None
Acceptance Criteria: Add a runtime stage environment and set the entry point to run the virtual environment.

Added the 3 run layers, 2 of which create the required conda environments and the 3rd one enables full access to the setup shell script file.


Autocomplete popover is hidden under modal

🐛 Bug Report
the popover of Autocomplete is hidden under React native Modal and unseen,
also, it's particularly covering the input on Android
To Reproduce
Steps to reproduce the behavior:
Expected behavior

Link to runnable example or repository (highly encouraged)

UI Kitten and Eva version

Package
Version

@eva-design/eva

@ui-kitten/components

Environment information

the popover of Autocomplete is hidden under React native Modal and unseen

UI Kitten relies on its own implementation of modal

it's particularly covering the input on Android

I guess, it's the height of the status bar. You should configure it. See related discussion #743

the popover of Autocomplete is hidden under React native Modal and unseen

UI Kitten relies on its own implementation of modal

it's particularly covering the input on Android

I guess, it's the height of the status bar. You should configure it. See related discussion #743

Sorry but what do you it relies on its own implementation of modal... Could you please explain more?

This modal
However, this issue might be a stopper for you now or might require finding a workaround because of this issue.
Rendering inside RN modal is discussed here and probably will be available as feature soon.
We're sorry for such type of issue, and if you find a workaround for that, please post it here for users who also can be interested in this. Thanks

@artyorsh unfortunately  modal from @ui-kitten/components doesn't support animation like native does

@fireridlle that’s why this is on our plan🚀


Typing latency doubled by this extension

I'm currently trying out VScode to see whether it could (partially) replace emacs.  Naturally I was interested to compare typing latency (time between key-press and character showing on screen), see here.  I used typometer as in that blog post and found that on my system enabling this extension doubled the latency.
Here a screenshot with all my extension disabled:

Shows average latency of 16.9ms, max 33.1ms and std-dev 2.8ms.
Here with all my extension disabled except vscode-emacs-friendly:

Shows average latency of 32.7ms, max 49.8ms and std-dev 4.1ms.
Is there anything which could be done about this?
Edit: See also https://github.com/Microsoft/vscode/issues/27378

As a side note: below the results for my Emacs setup (i.e. with my .emacs loaded):

Shows average latency of 5.9ms, max 65ms (just one spike though).

Thanks for the report, seems like this should definitely be addressed. I will install typometer and try to find the cause.

I have found a big culprit here, the old extension had a beginning of an implementation of a register mode which was intercepting typing events. I have removed it as it was causing it too much latency, we'll have to find another implementation.
Could you please re-do the tests on your machine? On mine this got it down 30%.

After updating to 0.8.0 I  mean :)

Cheers! But how do I install it?  I know how to install from VSIX. If from VSIX, how do I make one?

It's published, so from your extensions tab, click "check for updates" and reload the window afterwards.
Sometimes it takes a bit for a new version to show up, if you do not see an update available, perhaps try again in 30 mins or so...

Ok, got it. Yes it is better, thanks for looking into this!
The average is now 23ms, here the graph:

However, it looks like it is bouncing back and forth between the base value 16ms and slow 33ms.  I would think an even 23ms would be better.

I am not sure why but Typometer does not finish when I run it, it always times out with "cannot detect char" at some point. This is on ubuntu / gnome. I tried with osx too and there it seems sometimes it finishes but often does not.
What system are you running it on?

Yes, I have that problem with VScode too (not with emacs though).  To fix zoom in a lot.  Also, I think you need at least one other line which is wider than the screen to make it work.  Also, it's recommended to use a non-block cursor but I didn't see any difference there.
I run ArchLinux with xmonad window manager.

It does work when zoomed in and with one line larger than the screen indeed. But runs vary a lot between them, even without any extensions, there are weird spikes, and I don't see a clear indication that enabling the extension is making it worse... Not sure what is going on my system.

Have you tried it with emacs or another editor? Do you have some funky window manager like Compiz? Docs recommend to close all other applications, but I didn't and it worked fine.

Yes @ compiz, i think it's in the default ubuntu desktop instalation, I did not change anything this time :)
I will try on OSX as well again, with the zoom in trick.
But the bouncing graph is reproducible for you, right? And does it go away when disabling the extension?

Yes, it says Compiz adds 10ms: https://pavelfatin.com/typometer/
Looks pretty good at the moment with less spikes and average down to 15ms, which is about what I get without extensions:

So, no, not super reproducible, but I think that is expected.

Yep, understood. Thanks for all the clarifications, much appreciated, I'm glad I removed that latency-inducing legacy stuff :) !
I'll close this for now, but will remain subscribed to the vscode issue you opened and wait for some devs to chime in.

The C-l/recenter addition from me (that already made it in, thanks!) listens for the onDidChangeTextEditorSelection event which triggers every time the cursor position changes. Even though the event handler only sets a flag, I suppose it could contribute to the spikes.
Personally the lag in the old release wasn't noticeable or bothersome to me. Growing up using remote terminals over a modem may have left a mark... :)


click events and hardware controller events mapping

[ ] .addEventListener('click'
[ ] https://github.com/hchiam/learning-js-hardware

actually just let devs set up with addEventListener themselves?

ideally also let devs let players change bindings


DPS Individual Enrollment Registration ID

Question Summary
How can I change the registration ID returned by the Get-EflowVmTpmProvisioningInfo command? Can I set a customized registration ID?
Detailed background
The idea behind these questions is to be able to create the Individual Enrollment before installing the Azure IoT Edge on the device, as it was possible in the past (before Eflow).
Before Eflow, I was able to create the individual enrollments providing the TPM Endorsement Key and setting up the device id and the registration Id, both device id and registration Id could be chosen by me. Although it continues to be technically possible, it seems the registration Id is generated, somehow, during the Eflow installation process and must not be changed. This means that I am not able to create the Individual Enrollment before installing Azure IoT Edge and executing some commands. The Provision-EflowVm allows providing a registration Id, however, it doesn't work with the TPM assertion mechanism.
Before Eflow, a had fully automated process to provision a device without having to install any application to create the enrollment. The enrollment and provisioning steps were completely segregated.
With Eflow, the installation of the Azure IoT Edge is needed in order to get the registration Id, which slightly mixes the steps. So, suggestions to automate the whole process are welcoming.

Hi @jdbelo,
We already support that, although is not documented, as we may change it in the future. When doing the Set-EflowVmFeature you can add the parameter -headless and it won't ask for confirmation.
Thanks,
Francisco


To-do-list Code review

This pull request contains the code for my to-do-list web application for review to meet code best practice.

Status: Required Changes ♻
Hi 👋 @dialite ,
Good job so far!
You did an excellent job implementing all the JS best practice and the HTML5 Semantic syntax in you code base.Congratulations,it is time to merge your code and  move on to the next stage. Bravo 😄
Highlights

Your project is professional ✅
Your cod base is DRY i.e there is no any repeated code✅
You have implemented JS best practices & HTML5 Semantic syntax✅
Well structured files ✅
No linter errors. ✅
Good README file. ✅
Correct GitHub Flow✅

Optional Suggestions :

N/A

Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag @balikuddembe in your question so I can receive the notification.


Bug: lsp diagnostics keep updating as I type.

Self Checks

[X ] I'm using the latest lualine and neovim 0.5.
[X ] I didn't find the issue in existing issues or prs.

How to reproduce the problem
Open a filetype with lsp configured. Type stuff...
Actual behavior
Lsp diagnostics keep updating as I type. This means diagnostics checks are performed every time I type a letter and this causes a lot of unnecessary checks.
Expected behavior
Update diagnostics only when changing content in normal mode / entering normal mode from insert mode.
Question
When lualine checks for errors / warnings does it cause any extra computation for the lsp? What I mean is that, does lualine showing error count and the lsp showing error message cause the file to be checked twice for error? Or is lualine just reusing the diagnostics from the lsp?
What I have noticed is that lsp diagnostics messages are updated only when I switch to normal mode and lualine error count is updated as I type in insert mode. This makes me think that lualine is causing extra computations to be performed for the lsp. I am using nvim-lspconfig.

When lualine checks for errors / warnings does it cause any extra computation for the lsp? What I mean is that, does lualine showing error count and the lsp showing error message cause the file to be checked twice for error?

AFAIK No.

is lualine just reusing the diagnostics from the lsp?

lualine queries the lsp client not the server . So it's reusing them .

What I have noticed is that lsp diagnostics messages are updated only when I switch to normal mode and lualine error count is updated as I type in insert mode

There's an option that updates diagnostic messages after leaving insert mode . Note: This only disables displaying diagnostic messages . Updated diagnostics still come from server when you're in insert mode and the client caches them without updating the display .

This makes me think that lualine is causing extra computations to be performed for the lsp.

You don't need to be conserned about that . First the server is running on separate process so it won't affect nvims performence . And IIRC diagnostics are received passively . So server sends them when it feels like sending them and that includes when in insert mode . So when diagnostics would be computed depends completely on the server .

Thank you for the detailed explanation. Seeing errors pop up as I type is a bit distracting.

There's an option that updates diagnostic messages after leaving insert mode .

Can you tell me more about it?

You can checkout :h vim.lsp.diagnostic.on_publish_diagnostics()
There's update_in_insert option that can control it . But that only controls diagnostic messages in lsp client not lualine . Though it should be really simple to add something similar to that in lualine .

I'm using nvim-lspconfig and it seems that by default it does not update on insert mode.

I'm using nvim-lspconfig and it seems that by default it does not update on insert mode.

Ofcource default value of update_in_insert is false as you cans see in the docs

Added update_in_insert option in https://github.com/shadmansaleh/lualine.nvim

Thank you!