WIP: Parallelization unit tests (thread- and process-based)

Code review checklist

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[ ] Title summarizes what is changing
[ ] Commit messages are meaningful (see this for details)
[ ] Tests have been included and/or updated
[ ] Docstrings have been included and/or updated, as appropriate
[ ] Standalone docs have been updated accordingly
[ ] Changelog(s) has/have been updated, as needed (see CHANGELOG.md, no need
to update for typo fixes and such).

@igordejanovic your initialization of the tlocal's property textX_parsers didn't work correctly which I seem to have fixed. However, there is still some shared state in action if I understand it correctly:
            for obj in the_parser._user_class_inst:
                try:
                    # Get the attributes which have been collected
                    # in metamodel.obj and remove them from this dict.
>                   attrs = obj.__class__._tx_obj_attrs.pop(id(obj))
E                   KeyError:<PHONE_NUMBER>

I have added both unit tests. I hope that this will be useful for you to investigate and test.

Very good. Do we have any other shared structures (any attribute of the meta model... )? For C++, I would run a thread checker like helgrind to check for racing conditions...
I could also imagine problems with global model repositories... We could simply state that we have "limited support for parallel execution of model_from_* (excluding global model repositories)"?

Thank you for your contribution and support!

@stanislaw Ah, good catch. Thanks for the investigation and unit tests. It will be much easier to debug.

We have module/class level mutable objects in multiple places which should be converted to thread local storage for multi-threading to work correctly. The aim of this project was never focused  on multi-threading/processing, but given the direction we are going in increasing the number of CPU cores, we should definitely put some effort in that direction. This will require some careful rework and testing. The worst thing about the issue is that tests are non-deterministic, so they can't be automatized nor they can be trusted. Any idea on how to approach the testing?

The worst thing about the issue is that tests are non-deterministic, so they can't be automatized nor they can be trusted. Any idea on how to approach the testing?

Can you explain in a little bit more detail? Scheduling 100 threads or processes and doing parsing with textx seems safe enough to be included in a test suite. Which problems do you see there?
In the Mull project we are using two groups of tests:

Normal unit tests that also include a subset where a fork-based execution of code in subprocesses is tested
Integration tests based on LIT/FileCheck (https://llvm.org/docs/CommandGuide/lit.html and https://github.com/mull-project/FileCheck.py).

By its design, Mull has a lot of fork-based executions in subprocesses. However, we seem to have very stable test suites by now.

Can you explain in a little bit more detail? Scheduling 100 threads or processes and doing parsing with textx seems safe enough to be included in a test suite. Which problems do you see there?

AFAIK These kind of tests fail at different places with different exceptions. It might happen from time to time to even pass without issues. With a large number of mutable shared objects where things can go wrong they would fail most of the time (that's what happens now, but we cannot assert how they are failing) but as we start cleaning things up they will start to fail more rarely which makes them unreliable but I guess that's something we'll have to live with. I don't believe there is any other option.

Related comment: with my limited knowledge of Python, I think that the API I am using in this PR does not result in run-away code:
     with concurrent.futures.ThreadPoolExecutor(max_workers=cpus) as executor:

it doesn't matter which executor is used: thread-based or process-based - this API always waits until all threads or subprocesses finish their execution and only then the executing thread continues. With this guarantee, it seems pretty safe to include such tests into a PyTest test suite.

Maybe it is useful to provide my use case for the parallelization of textX. I am building a tool for requirements and specifications documents management. These documents are written in a grammar created and parsed with textX and some of these documents may contain up to 1000 and more requirement items (the document size can reach few hundreds kilobytes up to few megabytes for a safe margin). The documents of such a size, when there is a number of them in a documentation tree, slow down the export process considerably and this is why I am trying to parallelize textx as well as implement the incremental generation when only the recently touched documents are re-generated.

Can you explain in a little bit more detail? Scheduling 100 threads or processes and doing parsing with textx seems safe enough to be included in a test suite. Which problems do you see there?

AFAIK These kind of tests fail at different places with different exceptions. It might happen from time to time to even pass without issues. With a large number of mutable shared objects where things can go wrong they would fail most of the time (that's what happens now, but we cannot assert how they are failing) but as we start cleaning things up they will start to fail more rarely which makes them unreliable but I guess that's something we'll have to live with. I don't believe there is any other option.

On my end, I am sure that I will be testing textX with a large number of sufficiently large documents so there is at least one user who will use textx and its parallelization feature at scale 😄
It might be practical to exclude these tests from the main test suite for now until there is a good confidence in the overall thread safety (to avoid fighting with flaky CI when tests fail randomly). Otherwise, I would be willing to provide a testing hand for textX on its way towards thread-safety.

It might be practical to exclude these tests from the main test suite for now until there is a good confidence in the overall thread safety (to avoid fighting with flaky CI when tests fail randomly).

Fully agree.

Otherwise, I would be willing to provide a testing hand for textX on its way towards thread-safety.

Thanks, since I personally don't have a great need at the moment for parallelization it might take awhile until I find some time to put in this area so any help in code changes and testing is greatly appreciated :)

Maybe it is useful to provide my use case for the parallelization of textX.

@stanislaw BTW, very interesting use case. Seems that your project will be a great test-bed for textX performance as well :smiley:

Doing a quick scan over the shared variables, I have tried to un-globalize some of them starting from _tx_obj_attrs. It is indeed a non-trivial effort and requires doing them one by one.
One thing that I noticed: please compare the methods _getattribute and _setattr(obj, name, value): - the get method accesses user_class._tx_obj_attrs[...] and the set method does obj._tx_obj_attrs[...]. Shouldn't the set method also access user_class. instead of obj.?
Check the following:
             def _getattribute(obj, name):
                 if name == '__dict__':
                     try:
                         return user_class._tx_obj_attrs[id(obj)]
                     except KeyError:
                         pass
                 else:
                     try:
                        return user_class._tx_obj_attrs[id(obj)][name]
                     except KeyError:
                         pass

            def _setattr(obj, name, value):
                try:
-                    obj._tx_obj_attrs[id(obj)][name] = value
+                    user_class._tx_obj_attrs[id(obj)][name] = value
                except KeyError:

I could also imagine problems with global model repositories...

See https://github.com/textX/textX/blob/master/tests/functional/test_scoping/test_global_import_modules.py#L62

Doing a quick scan over the shared variables, I have tried to un-globalize some of them starting from _tx_obj_attrs. It is indeed a non-trivial effort and requires doing them one by one.

Yeah, it is a not-trivial thing to do and I wonder is it worth it. Due to Python GIL we won't get any performance improvement and might even get a degradation. My proposal is to state in the docs that textX is not thread-safe, as @goto40 suggested, and should be used with a proper synchronization and focus instead on a proper multi-processing support which could bring a significant performance gain in multi-core environments.

One thing that I noticed:...

Good catch, thanks. It is inconsistent. Fixed on the master branch.

Note: you can always instantiate manually multiple instances of a meta model and use them in parallel...

I don't think I have enough time to dig into textX internals myself to help you guys. I am not blocked by this feature anyway so there is no urgency from my side.
Just one last comment on the possible implementation: instead of using changing global or class-level variables to local storage, consider assigning them as properties of the meta model object so that the caching is done per meta-model, not per thread.
Two reasons:

This threading.local API does not support at least two things: values() and len() will not work. So you cannot simply replace global {} lists with threading.local.
Using thread-local storage is still a kind of global state, just sliced by threads. A per-metamodel storage makes the whole code to avoid any kind of global variables including those based on the thread-local storage.

Hope this helps and thanks again for the whole TextX effort.

Forgot to mention this: while the thread-based parallelization does not work because of global variables, the process-based one test_parallelization_with_processes actually works for me on macOS.
Of course, these hacks have to be applied:
def parse_document_with_processes(n):
    meta_model = metamodel_from_str(grammar, classes=[Main, Second])

    document = meta_model.model_from_str('first 1 2 2 3')
    assert len(document.seconds) == 4

    # HACK:
    # ProcessPoolExecutor doesn't work because of non-picklable parts
    # of textx. The offending fields are stripped down because they
    # are not used anyway when writing using our generator.
    document._tx_attrs = None
    document._tx_parser = None
    document._tx_attrs = None
    document._tx_metamodel = None
    document._tx_model_params = None
    document._tx_peg_rule = None

    return document


[📚] 'persistenceEnabled' is deprecated: This field is deprecated. Use cacheSettings instead.

Im trying to archive my flutter app on Xcode and i have these 3 errors all in the same file FLTFirebaseFirestoreReader
1 - /Users/mg/.pub-cache/hosted/pub.dev/cloud_firestore-4.7.1/ios/Classes/FLTFirebaseFirestoreReader.m:97:14 'persistenceEnabled' is deprecated: This field is deprecated. Use cacheSettings instead.

2- /Users/mg/.pub-cache/hosted/pub.dev/cloud_firestore-4.7.1/ios/Classes/FLTFirebaseFirestoreReader.m:111:16 'cacheSizeBytes' is deprecated: This field is deprecated. Use cacheSettings instead.

3- /Users/mg/.pub-cache/hosted/pub.dev/cloud_firestore-4.7.1/ios/Classes/FLTFirebaseFirestoreReader.m:113:16 'cacheSizeBytes' is deprecated: This field is deprecated. Use cacheSettings instead.

Hi @MahmouudGouda, a new version of cloud_firestore is out, can you upgrade to that version to see if you still experience this issue?

yes i updated to the new version and still the same issue

I see the deprecated code being used here
@MahmouudGouda, usually these messages are warnings and should not affect archiving the app? Is it in anyway blocking your app from being archived?

This has been fixed in this PR: https://github.com/firebase/flutterfire/pull/11069. It'll be out in the next release cycle.


Error after installing CUDA extension for Cauchy multiplication

I'm trying to reproduce experiments but the code is retuning a KeyError 'nvrtc' and the warning [src.models.sequence.ss.kernel][WARNING] - CUDA extension for Cauchy multiplication not found still appearing.
Otherwise, I'm getting this erreur : Fatal error condition occurred in /opt/vcpkg/buildtrees/aws-c-io/src/9e6648842a-364b708815.clean/source/event_loop.c:72: aws_thread_launch(&cleanup_thread, s_event_loop_destroy_async_thread_fn, el_group, &thread_options) == AWS_OP_SUCCESS

Can you elaborate on the 'nvrtc' error? Can you uninstall and reinstall the extension (pip uninstall cauchy-mult and cd extensions/cauchy && python setup.py install) and copy what it prints?
Does the code run if you completely uninstall the extension? What about if you install pykeops?

I haven't seen this error before. Just to confirm, this happens even with the extension uninstalled? Does your environment work with other codebases? Outside of the extension, there is nothing fancy with requirements for this repository.

Hi, I also have the same error, at the end of the training (running python -m train experiment=forecasting/s4-informer-{etth,ettm,ecl,weather} ) :
Epoch 9: 100%|█▉| 1510/1511 [00:24<00:00, 62.27it/s, loss=0.0216, v_num=pbmZ, val/mse=0.421, val/loss=0.421, test/mse=0.266, test/loss=0.266, train/mse=0.0242, train/loss=0.0242Epoch 9, global step 4809: 'val/loss' was not in top 1
Epoch 9: 100%|██| 1511/1511 [00:24<00:00, 62.14it/s, loss=0.0216, v_num=pbmZ, val/mse=0.421, val/loss=0.421, test/mse=0.266, test/loss=0.266, train/mse=0.0231, train/loss=0.0231]
Fatal error condition occurred in /opt/vcpkg/buildtrees/aws-c-io/src/9e6648842a-364b708815.clean/source/event_loop.c:72: aws_thread_launch(&cleanup_thread, s_event_loop_destroy_async_thread_fn, el_group, &thread_options) == AWS_OP_SUCCESS
Exiting Application
################################################################################
Stack trace:
################################################################################
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x200af06) [0x7fbaccc77f06]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x20028e5) [0x7fbaccc6f8e5]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x1f27e09) [0x7fbaccb94e09]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x200ba3d) [0x7fbaccc78a3d]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x1f25948) [0x7fbaccb92948]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x200ba3d) [0x7fbaccc78a3d]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x1ee0b46) [0x7fbaccb4db46]
/home/.conda/envs/supergood_env_cluster/lib/python3.9/site-packages/pyarrow/libarrow.so.900(+0x194546a) [0x7fbacc5b246a]
/lib/x86_64-linux-gnu/libc.so.6(+0x43031) [0x7fbb3f73f031]
/lib/x86_64-linux-gnu/libc.so.6(+0x4312a) [0x7fbb3f73f12a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xee) [0x7fbb3f71dc8e]
python(+0x2010a0) [0x56320cea20a0]
Aborted (core dumped)

So it does train, but this is a strange ending assertion error.
After looking around, it seems that it is an error that is found by many people regarding aws-sdk-cpp, for example you can find it here:
https://github.com/huggingface/datasets/issues/3310

Thanks for the additional info! Does this error occur if you uninstall the datasets package then? Does it only happen with AWS?

I can't run the code without the datasets library since it's required - I'm getting no module found error if I do so. To clarify, I'm not running my code with AWS, I am using my university's cluster (I don't really understand why aws-related errors pop up to be honest!)

You should be able to remove the dataset dependency by deleting the "lra" import from src/dataloaders/__init__.py

Does it run when pykeops is uninstalled?
Are you able to install the CUDA extension instead?
Can you try version pip install pykeops==1.5? Later versions of pykeops sometimes cause installations errors for me.
What happens if you follow the instructions on the pykeops page for testing the installation?

I am also facing the exact same issue. @gitbooo have you find a solution?

Without pykeops, the code should still run on GPU. Is there a reason you can only use CPU?
I don't know why the extension isn't working. One note is that it has to be installed for every environment (e.g. for different GPU, CUDA version, etc.). E.g. it doesn't work if different machines are sharing conda environments; you would need to create a separate conda environment for each environment type and install the extension in each one
I've seen that message several times in the past and I think it was always caused by an improper install. Installing from a fresh environment and also installing the latest version of cmake was the solution (pip install pykeops==1.5 cmake)
Were you able to comment out the datasets dependency? It should involve changing one line of code in src/dataloaders/__init__.py


Encoding broken on Zen listing page

https://zen.coderdojo.com/dojo/861 Pointed out by German champion

I just updated the founder of a Dojo, and the encoding issue came back when I saved it.
The Dojo name was Zambrów and when saved it changed to Zambrów.
I didn't edit anything else about the listing.

The Dojo listing page is okay, it looks like it is just the manage dojos page that is broken.
http://zen.coderdojo.com/dashboard/dojo/pl/zambrow-miejski-osrodek-kultury-ul-wyszynskiego-2a/zambrow
However, in the database I was originally able to do:
select * from cd_dojos where name='Zambrów'
And I could see the entry.
After editing the Dojo, I cannot see the Dojo with the above query. I have to run this query instead:
select * from cd_dojos where name='Zambrów'
I wouldn't really expect the HTML entity to be saved into the database. We certainly can't have it both ways (which is seems to be at the moment) because it will make it rather difficult to do regional statistics if I have to search for both the entity and non-entity versions!

fixed. will deploy soon

Fixed thank you!

I'm sorry but I have found this somewhere else! Go to the Dojo List on this page https://zen.coderdojo.com/dashboard/dojo-list
Under Romania there is a listing with html entities. It looks fine on its own listing page.

fixed.
this was just a data issue not a render issue.

Right, I saw a few others like that but once I edited them it worked okay.


Update pull_request_assignment.yml

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

I am not sure 2 reviewers means both get assigned or 2 people rotates as single assignee. What one is the intention? @czubair

I updated my change so ted is the one assigned on data plane storage PRs. Will this conflict with the other rule that applied to all Storage PRs?

@czubair Yes, I think so. I will merge it soon.

@czubair Yes, I think so. I will merge it soon.

Thank you!

@czubair
This block should be the default for ALL data-plane (if not specifier earlier).
https://github.com/Azure/azure-rest-api-specs/blob/665207803c1a03d9634f824006eb47929aff9c1b/.github/pull_request_assignment.yml#L50-L57
If you mean Ted to be assignee for ALL data-plane (do your?), you would likely need to update that.

The intention is for Ted to be on all dataplane PRs.


How to keep browser state

I noticed every time taiko runs, it opens a refresh window, even if I set path to use the pre-installed chrome.
Is there a way to open a window with previous state? such as history, cookie, user login, etc...
Or, if it can open window with the default user profile, which certainly has the user state.
Versions
Taiko Version: 1.0.3 (Chromium: 81.0.3994.0) RELEASE
Node: v12.14.0

have you tried using a custom profile directory?
Something like openBrowser({args:["--user-data-dir" : "/some/profile/path"]}) should preserve browser state in the directory mentioned.

Or, if it can open window with the default user profile, which certainly has the user state.

This is possible only if the default user profile's directory is passed into openBrowser via --user-data-dir arg. By default taiko launches a new profile for every run, to avoid any undesired side-effects caused by sharing states between tests/runs.

@sriv strangely, according to this article, i passed the --user-data-dir=/Users/******/Library/Application Support/Google/Chrome argument, hoping it would use my default profile.
It it open a new tab and suddenly failed with Error: Failed to launch chrome!

I can see that working well. (I'm on linux, so the default user-data-dir is ~/.config/google-chrome, from the same reference you posted).
So here's how I use the openBrowser:
openBrowser({args:["--user-data-dir", "/home/<my_username>/.config/google-chrome"]}) and I can see history, login etc persisted between script runs.
Note that you need to pass --user-data-dir and the directory as two entries in the array and not --user-data-dir=<some_path>

@sriv hi, I found sth here.
First, it seems we should use --user-data-dir=xxx instead of separate args, see https://github.com/getgauge/taiko/blob/master/lib/taiko.js#L268
Then, if I just specify --user-data-dir without any = or second arg, it will just open the browser with default profile, but just failed the node app immediately.
Finally, I am using macos.

hii @zhaoyao91 -
you are right. the syntax is indeed  openBrowser({args:["--user-data-dir=/home/<my_username>/.config/google-chrome"]})
I'll let someone in @getgauge/core with access to macOS check this, since it works well on linux for me.
In my incorrect use, it was dropping to the default profile. Silly of me to assume it worked. I checked again with a custom profile directory and by passing --user-data-dir=/some/path I was able to see cookies etc persisted.

@zhaoyao91 I am on macos, and it works fine.
By passing --user-data-dir arg asopenBrowser({args:["--user-data-dir=<path-to-user-data-dir>"]}) I was able persist my github login session, history and cookies accross browser sessions.

@negiDharmendra yes, if the dir is a custom dir, it will persist browser state here. My problem is, in case I have already installed chrome, and I want to start taiko with the default user profile of the chrome, I found the user-data-dir is /Users/******/Library/Application Support/Google/Chrome. But this won't work, it just open a new tab and then failed.

@zhaoyao91 Just make sure that there is no chrome instance before running the taiko script.

@zhaoyao91 - were you able to sort this out?

@sriv sorry, our project have switch to raw pupeteer for months and the project have been taken by other co-woker, so currently I am not following this issue :(

@zhaoyao91 - cool! Thanks for the update.


Help for reading Xls, xlsx files

Hello, I am looking for automating by reading data from an excel file.
I see a note for CSV files in link
https://rpa-sg.org/TagUI-Tips-Techniques/how-to-read-a-csv-file-part-2-multiple-columns.php
Will this approach work for excel?

Hi, this will not work for excel spreadsheets. CSV files are saved in plaintext format so we can read the data directly as is. However, excel files are saved with lots of other details (e.g. formatting) and are not readable as raw text.
You can still make use of excel data by saving a specific sheet as a .csv file and automating on that sheet though.


Add image for 12.0 3.0.0beta1

Based on PR https://github.com/appropriate/docker-postgis/pull/142 which wasn't working as-is. I had to move some of the package installs around in order to get things working.

I manually pushed the 12.0-3.0.0beta1-alpine image for now. Once merged to master we should tag 12.0-3.0.0beta1-alpine to get Docker Hub to build the image.


Dispose method is skipped during obfuscation in .NET Core 1.1 while it works in .NET Core 2.0.

I am using the latest version of obfuscar , and created a test app to check the obfuscation.
I am using  Stream class and used IDisposable interface for some of the classes to test the behaviour . but when i saw the mapping file , i have seen the difference wrt [.Netcore1.1 and Netcore2.0] mapping files.
.NetCore1.1:
[ObfuscarTestApp]ObfuscarTestApp.TestStream::Dispose[1]( [System.Runtime]System.Boolean ) skipped:  external base class or interface
.NetCore2.0:
[ObfuscarTestApp]ObfuscarTestApp.TestStream::Dispose[1]( [System.Runtime]System.Boolean ) -> a
XML file  :
<?xml version='1.0'?>
<Obfuscator>
  <!--<Var name="InPath" value=".\bin\Debug\netcoreapp1.1" />
  <Var name="OutPath" value=".\bin\Obfuscated\netcoreapp1.1" />-->
  <Var name="InPath" value=".\bin\Debug\netcoreapp2.0" />
  <Var name="OutPath" value=".\bin\Obfuscated\netcoreapp2.0" />
  <Var name="KeepPublicApi" value="true" />
  <Var name="HidePrivateApi" value="true" />
  <Var name="OptimizedMethods" value="true" />
  <Var name="RegenerateDebugInfo" value="true" />
  <Var name="ReuseNames" value="true" />
  <Var name="SuppressIldasm" value="true" />
  <Var name="HideStrings" value="false" />
  <Module file="$(InPath)\ObfuscarTestApp.dll">
  </Module>
</Obfuscator>

Deprecated platforms are not supported.

@lextm , ok thank you , but does this causes memory leak issues , i am seeing some leakages in my application while running with .Net-core 2.0 , but for .Net-core 1.1 there is no memory leak observed.


Nested attributes in objects

Description
Hello there - sorry for the title, no idea how to phrase that....
There are multiple ui components taking an array of objects as input. In this case I want to talk about the SelectMenu.
<USelectMenu
  placeholder="Select an object"
  :options="flatObjects"
  option-attribute="name"
/>

This works great with flat objects. For unknown reason, I'm unable to specify a nested property (like metadata.name).
For these cases I have to create a computed, flat version of my original input array. Since I'm basically exclusively working with kubernetes manifests as input objects, I have to add a lot of wrappers for those.
I'm fine with that; however, I at least wanted to ask. 😅
Additional context
For reproduction, one of those objects, simplified:
  const specs = [{
    apiVersion: "some.api.io/v1alpha1",
    kind: "Spec",
    metadata: {
      creationTimestamp: "2024-02-26T13:42:36Z",
      generation: 3,
      name: "m1-small",
      namespace: "project",
      resourceVersion: "76533369",
      uid: "6567b033-b6fc-4ac7-ac56-1ed22853eea1"
    },
    spec: {
      disk: 20,
      ephemeral: 0,
      id: "5c48b89a-94b9-4e71-a838-69cdc09fb13e",
      name: "m1.small",
      public: true,
      ram: 2048,
      vcpus: 1
    },
    status: {
      status: "active"
    }
  }]

I have the same query but related to InputMenu component.
I added a reproduction.
The docs say that search-attributes can be used with dot.notaton to access nested attributes, but it's not clear that it is only for the search-attributes until you try it out yourself. I would really like to be able to use it also for option-attribute and value-attribute to avoid unnecessary flattening when we have big nested objects.
Is this supported, or planned? Thanks :sunny:

This issue is not stale.

Nope, it's not...

@max06 This is something that can be improved indeed 😊

@benjamincanac lovely! Thanks for looking into it 🙇🏼


StringBytes::Encode() optimizations

It looks like nan's StringBytes::Encode() implementation is missing out on some optimizations that have existed since node v0.11.3.
I'm specifically looking at the external string optimization. I'm not sure if this optimization can apply at all to node v0.10 or earlier, but I think it should at least be used with node v0.12 and newer.

I guess @indutny left them out since they don't work on 0.10 and earlier. nan_string_bytes.h is only used for 0.10 and older, newer versions ought to use the builtin routines, as Nan::Encode maps (almost) directly to Node::Encode.

cc @trevnorris @nodejs/v8

I'm unsure of what function I should be looking at. If Nan::Encode() maps to node's impl then the performance should be there.


"Connection errored out." - I run the colab normally, no errors and when I go to public URL I get that error.

Edit: this is a https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast_stable_diffusion_AUTOMATIC1111.ipynb issue.
Pretty much the title. I run all the cells, no errors.
I tried with and without ControlNet models downloaded.

Am I doing something wrong? Thanks!

both gradio and local tunnel appear to have arbitrary time/ping limits and are generally just a bit shaky. it's a common problem that I sadly don't think Ben can do much about.

both gradio and local tunnel appear to have arbitrary time/ping limits and are generally just a bit shaky. it's a common problem that I sadly don't think Ben can do much about.

Is it just a temporary thing then? I am going to give it another try.

both gradio and local tunnel appear to have arbitrary time/ping limits and are generally just a bit shaky. it's a common problem that I sadly don't think Ben can do much about.

Is it just a temporary thing then? I am going to give it another try.

mostly it's just temporary, I've never seen it go down completely but depending on workload I guess it can be a bit wobbly. if you have any adblockers or scriptblockers you might want to whitelist gradio and localtunnel, it might be my imagination but it seemed to help not make the drops that frequent for  me

It's the first time this happens to me honestly, so I was taken aback a bit.

Hmm apparently it seems to be a Firefox error, I tried in a chromium based browser (avast browser) and it works.

Hmm apparently it seems to be a Firefox error, I tried in a chromium based browser (avast browser) and it works.

while completely logical since chrome/chromium is google that's just not fair. been running it in firefox all this time and then now I opened it in chrome and there's like no latency

I am having some latency on chromium tho. But it does get the job done.

i get the same message and it pops up right away after opening the gradio link.
it used to work for about 30min before and that crash,
but now since new update link crashes right away.
I am doing deforum animation generation, and it usually takes couple of hours, with this link errors i can even see what is being generated until the whole process is finished.
really hoping someone can help me solve this .
thank you


Add REST API for floating IP to map Service IP to Floating IP

this work item to track just the api design and development.

create a new ssntp payload for floating IPs to map to service IPs. expose an api to the user to do this.

we changed our k8s strategy, so this is no longer relevant.


Build failed: smoke test failure, extensions

Build: https://dev.azure.com/monacotools/a6d41577-0fa3-498e-af22-257312ff0545/_build/results?buildId=248012
Changes: https://github.com/Microsoft/vscode/compare/ec2c8e1...f713a29
 VSCode Smoke Tests (Web)
       Extensions
         install and enable vscode-smoketest-check extension:

again https://dev.azure.com/monacotools/Monaco/_build/results?buildId=248021&view=logs&j=4801dce2-64f3-53d6-b366-d49a1977c639&t=d37b6de0-ee32-5542-d5b1-fb041953e05d&l=105

I think the install never completed, maybe a network issue?

Network related.


suggested changes for samplingProtocol

I inspected the content of the current field samplingProtocol, originally mapped from typeActid. Some suggestions for change:

samplingProtocol
decision
source
new Darwin Core term

planted
remove
typeActID
occurrenceRemarks

unknown
remove
typeActID
?

escaped
remove
typeActID
occurrenceRemarks

indigenous
remove
typeActID
establishmentMeans

sown
remove
typeActID
occurrenceRemarks

present
remove
typeActID
occurrenceStatus

adventive
remove
typeActID
establishmentMeans: accidentally introduced in occurrenceRemarks

micr_examined_mat_present
remove
typeActID
?: microscopic examination in identificationRemarks

catch_by_cat
remove
typeActID
occurrenceRemarks (= catch by cat)

washed_ashore
remove
typeActID
occurrenceRemarks (= washed ashore)

I've updated the table above to be in line with Natuurpunt datasets

Already corrected following previous issues.

@peterdesmet  this table looks exactly the same as the one I posted, so presumably your updates were lost somewhere?

Updated.


How to access cache instance in DbConfiguration from DbContext?

Trying to delete all items from the cache, I've read this discussion.
Ideally, I want to create a method ClearCache() in my DbContext-derived class which in turn accesses the InMemoryCache instance inside my DbConfiguration-derived class.
What I'm struggling with is:
How to get a reference to my DbConfiguration-derived class from within my DbContext-derived class?
I've also asked on SO but maybe I'm on the completely wrong path?

Just store a reference to the cache in a static variable before you pass it to the CacheTransactionHandler ctor and then you should be able to it access from anywhere. The cache is effectively singleton so I don't think there is any problem with doing this.

Thanks a lot.


Fix draft release notes URL; release notes wording

0.18.0 -> 0.19.0
note -> notes
I would also lowercase these links, but I suppose you're not OK with this. :-)

I would also lowercase these links, but I suppose you're not OK with this. :-)

Lower case seems more correct here. I guess you didn't do this because of #1628? But that was a different case of homepage headings.
I think the title of individual articles also fall into the title case category (they are literally titles), but the individual "release notes" links are used more like common nouns, not titles of articles in their original form - that is, I would use "release notes" in lower case, but "Elvish 0.18.0 Release Notes" in title case.


Comparison with proxy-NCA

Hi authors,
How does this method compare to this paper from Google research?
https://arxiv.org/pdf/1703.07464.pdf
Pankesh

Google's paper is sampling based approach for NCA. In each optimization step, they sample a triplet.
Ours is mostly similar to the original NCA method, and we don't do any sampling at all.
The use of the memory makes this computationally possible.


Zooming in Chrome causes truncation to empty content at certain levels

In Chrome (v39.0.2171.95), zooming to 75% or 25% causes content that is being truncated by dotdotdot to be truncated to nothing (removes all content from element). This doesn't seem to happen at any other zoom levels, or in any of the other browsers I tested (Firefox, Internet Explorer 9).
Here's my dotdotdot config:
$('.js-truncate').dotdotdot({
	watch: 'window',
	after: 'a.read-more'
});

Okay so after some further testing, I think I've found what causes this to occur.
The text content that this was happening for was a div that I wanted dotdotdot to truncate such that it's always a single line of text. In Chrome, the height of this div is 27px, so to achieve what I wanted, I had set height: 27px on the div that contains this text content.
Now when I zoom to 75% in Chrome, Chrome believes the height of this same div is actually 28px rather than 27px. Then, the dotdotdot plugin truncates the content to nothing, presumably because it thinks the content is too big to fit in the div as a single line due to the height property of the div being manually set to 27px, but the height of the content actually being 28px at the 75% zoom level.

Zooming in probably rounds up some of the sizes, while rounding down others (which sounds odd actually).
You could try the tolerance option I guess.
But in general, a single line truncation is probably best done with pure CSS.


[BUG/Feature Request]: Details List - Date formats available

Describe the bug
Looking through the documentation, I couldn't find a way to format the display of Dates in a Details List eg. To have the Date only display, not the time.
I'm sure others would like to have options for formatting a date in the various standard ways as well.
Is there currently a way to do this?

DetailsList is just a vessel to display data, and you will have to format it real time or in the data source to display the desired format.
For real time, you can use the AddColumns() formula around the data source passed into the Items property of the DetailsList, to format the desired time like so:
AddColumns( datasource, "DateOnly", Text( datevalue, "yyyy/mm/dd") )

DetailsList is just a vessel to display data, and you will have to format it real time or in the data source to display the desired format.
For real time, you can use the AddColumns() formula around the data source passed into the Items property of the DetailsList, to format the desired time like so:
AddColumns( datasource, "DateOnly", Text( datevalue, "yyyy/mm/dd") )

As you can't format a date/time field on the Dataverse server,  this solution suggestion breaks using server sorting and paging as I understand it.  Please correct me if I have misunderstood how this works, which is totally possible.
From the Reference App: Fluent DetailsList Paging section " If there any changes made to the shape of a Dataverse collection by using AddColumn, or by storing the data in a collection, automatic sorting will no longer work, and manual sorting must be implemented."
Wouldn't this break server paging?  And require that all the data be downloaded as a collection? And the new column can only be formatted "yyyy/mm/dd" because that is the only way to actually sort it?  And If you need to include time with the date that only works if you use 24-hour time and not AM/PM.
Could you have code attached to the text time column that causes the sort to use a hidden actual Date/Time column instead of the one the user clicks on?
In Dataverse, OptionSets have the text you see and a value (unique id).  Can you sort on the uniqueID instead of the text?


How can I get the Raw HTML source in the committer phase?

I'm trying to save 'Raw HTML Source' in the Committer Class.
But Only 'text' is passed as InputStream arg of Committer Method(queueAddition).
How Can I get the raw html source code in committer?
Thank you :)

By default the Importer module will try to parse and extract the text from all content types.  You can disable parsing for HTML files this way:
<importer>
  <documentParserFactory>
      <ignoredContentTypes>text/html</ignoredContentTypes>
  </documentParserFactory>
</importer>

One possible drawback is disabling parsing will also disable extracting of metadata fields found in your HTML documents.  If you do not need those, then you are just fine.  If you do want them extracted as separate fields, you can keep parsing HTML files, but copy their content yourself into a field before parsing occurs, with a pre-parse handler, like this:
<importer>
  <preParseHandlers>
    <tagger class="com.norconex.importer.handler.tagger.impl.TextPatternTagger">
      <pattern field="myTargetField">.*</pattern>
      <restrictTo field="document.contentType">text/html</restrictTo>
    </tagger>
  </preParseHandlers>
</importer>

You will then fine the raw HTML in the newly created metadata field myTargetField.
Let me know if one of these two approaches does it for you.

Thank you very much!
Second one is the solution what I was looking for.

Great!

Hi Pascal,
I would like to ask two questions:

In this case, will the html content be sent twice? Once as the extracted text only and then also as the full raw html text?
If we need all the raw content only to be  sent - not just html as your example has, do we just not add the restrictTo field?

Keeping in mind that we do need any meta data to be extracted - but after doing that we need just the RAW content.
Thanks

If you do not parse a document, the metadata it contains is normally not extracted.  If you want the metadata extracted, but want the keep the HTML intact, here a way you can do it.

Use the TextPatternTagger as a pre-parse handler like described before in this thread.  That will give you the HTML you want in the field of your choice.
Parse the document as usual (no nothing special there).  That will give you all metadata extracted.
Then, either ignore the extracted text or use a class like the SubstringTransformer as a post-parse handler to make the content a zero-length substring.

Hi Pascal,
Thanks- I have gotten it working as you have suggested. How can we do the same with binary content like pdf files? I need the pure pdf file and I need any metadata associated with it also, like the file properties?
Thanks
-yogesh

On Jun 23, 2019, at 1:30 AM, Pascal Essiembre<EMAIL_ADDRESS>wrote:
If you do not parse a document, the metadata it contains is normally not extracted. If you want the metadata extracted, but want the keep the HTML intact, here a way you can do it.
Use the TextPatternTagger as a pre-parse handler like described before in this thread. That will give you the HTML you want in the field of your choice.
Parse the document as usual (no nothing special there). That will give you all metadata extracted.
Then, either ignore the extracted text or use a class like the SubstringTransformer as a post-parse handler to make the content a zero-length substring.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

This gets more tricky. The parsing is done by the Importer module and its purpose is to extract text.  What will you do with the PDF in the end?  You can use the keepDownloads feature but it will not be linked to your documents.
You can obviously write your own parser or parser wrapper to parse a copy and keep the original.
If you would like something like that natively supported by the HTTP Collector (or Importer), please open a new ticket and we will make it a feature request (given this one was about HTML and it is now closed).
In the meantime, you could maybe look at using an ExternalTagger for PDF files, invoking a separate instance of Norconex Importer to parse and obtain metadata.  This is more of a hack than a real solution but may possibly work.


adding the compliance upstream to chef-server-nginx hab pkg

:nut_and_bolt: Description
We forgot to add the Compliance upstream to the chef-server-nginx Habitat package!!!
This PR does the following:

fixes an incorrect habitat bind for elasticsearch indocker-compose.yml
changes nginx access_log from a file named stdout to the standard linux kernel device /dev/stdout
adds the Chef Automate Compliance upstream when the data_collector is enabled

:athletic_shoe: Demo Script
Some logs from the nginx service now additionally showing the GET requests from the health check:
chef-server-nginx.default hook[health_check]:(HK): {"status":"pong","upstreams":{"chef_elasticsearch":"pong","chef_sql":"pong","oc_chef_authz":"pong"},"keygen":{"keys":10,"max":10,"max_workers":10,"cur_max_workers":10,"inflight":0,"avail_workers":10,"start_size":0},"indexing":{"mode":"batch"}}
chef-server-nginx.default(O): <IP_ADDRESS> - - [03/May/2018:16:10:33 +0000]  "GET /_status HTTP/1.1" 200 "0.004" 174 "-" "ELB-HealthChecker/2.0" "<IP_ADDRESS>:8000" "200" "0.004" "-" "-" "-" "-" "-" 138
chef-server-nginx.default(O): <IP_ADDRESS> - - [03/May/2018:16:10:40 +0000]  "GET / HTTP/1.1" 200 "0.000" 2474 "-" "-" "-" "-" "-" "-" "-" "-" "-" "-" 181
chef-server-nginx.default(O): <IP_ADDRESS> - - [03/May/2018:16:10:50 +0000]  "GET /_status HTTP/1.1" 200 "0.005" 174 "-" "ELB-HealthChecker/2.0" "<IP_ADDRESS>:8000" "200" "0.005" "-" "-" "-" "-" "-" 138

:white_check_mark: Checklist

[x] Code actually executed?

Signed-off-by: Jeremy J. Miller<EMAIL_ADDRESS>

running with that configuration in docker-compose I get:
chef-server-nginx_1  | hab-launch(SV): Child for service 'chef-server-nginx.default' with PID 163 exited with code exit code: 1
chef-server-nginx_1  | chef-server-nginx.default(SV): Starting service as user=hab, group=hab
chef-server-nginx_1  | chef-server-nginx.default(O): 2018/05/03 17:50:24 [emerg] 167#0: open() "/dev/stdout" failed (13: Permission denied)


Eager: Distributed Execution

(This applies only when eager execution has been enabled via tfe.enable_eager_execution())
If the model does not involve dynamic control flow in Python (i.e., changing the computation based on input), then the same model code can be used to construct a TensorFlow graph, which can then be trained with distributed TensorFlow
Some example models like MNIST, ResNet50, and the PTB RNN include unittests outlining how the same model code can be used to construct and train TensorFlow graphs.
A smoother path to distributed TensorFlow when eager execution is enabled is being charted out.

Nagging Awaiting TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Awaiting TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 45 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 60 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 75 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 90 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 105 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 120 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 135 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 150 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 165 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 180 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 195 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 210 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 225 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

What's the status for this?

The DistributionStrategy API (in the process of being moved from contrib/distribute to tf.distribute is being developed so that it is the mechanism to distribute computation when eager execution is enabled.
Release notes should reflect when it is ready to be advertised for broader use.
CC @iganichev

tf.distribute work for TF 2.0 is going strong and being tracked internally. This issue serves no purpose.


Reduce multinode lvm allocations

We're constantly running low on space in SMS, this PR goes with another in the multinode terraform to reduce the allocations across the board.
These sizes are tested and working for Rocky 9

See also: https://github.com/stackhpc/terraform-kayobe-multinode/pull/40

I assume you didn't test upgrades? That's when we might see the most usage in lv_docker due to multiple sets of containers. The aio upgrade job worked with a 45G disk, but it has fewer services running.

Correct, I was just thinking it could be expanded whenever needed for that sort of thing

This PR isn't really relevant any more with SMS gone. If it's still required for SMS2 I'll reopen it


python 3 - compatiblity fixes

split out a couple of other patches and have a long patch set of different python 2 vs 3 fixes/changes
tox -e py3 now works and passes locally
Most of these should be py2 backward compatible but some changes may impact runtime usage of the tool, more testing is required before anything can be said about whether it works or not.
Related: issue #84

Thank you for helping with this. Yes we are currently in the progress of Python 3 migration. I will do a review in a few days.

Hi @yazug, could you do a rebase on top of python-3 branch?

Hi @yazug, could you do a rebase on top of python-3 branch?

done, updated and fixed up a couple of new instances of keys()/items() as lists issues

After looking at the PR, I think it is safe to merge. What this does are basically:

replaces old APIs with new ones:

iteritems to items for dicts.
explicitly converts the return value of dict.keys() and dict.values() to list.
import wrapper functions with future.standard_library.install_aliases

consolidate string types using builtins.str

I would like to give a LGTM. @thiagoalessio @sosiouxme @shiywang Please also take a look. I plan to merge it if we get another LGTM.
/lgtm


Add Marp

Adding a new cask

[x] Checked there aren’t open pull requests for the same cask.
[x] Checked there aren’t closed issues where that cask was already refused.
[x] When naming the cask, followed the token reference.
[x] Commit message includes cask’s name.
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.

@vitorgalvao thanks for the feedback, I think I've addressed it all. 😄

Thank you.


MtPivot does not work when no items are defined in the XAML

I need to declare the MtPivot without items at XAML level, because the actual content will be added at runtime. The problem is that the MtPivot throws an exception when there's no content (both in the XAML editor and once the code is running).
My workaround is pretty simple: Adding a dummy item in the XAML. Then, the runtime adds the desired MtPivotItems (two in my case), and finally removes the first one (the dummy).
That's not so bad, however I must trigger the item selection in some way, because the "SelectedIndex" is already zero, but the visual result is a mixture of both the items added. That is, once I click on any of the headers everything goes all right.
Well, simply I'd patch the possibility to remove all the items (will result an empty Pivot), and in that context the SelectedIndex should be set to -1.
I tested it only for UWP: I believe it should be pretty easy to reproduce.

Fixed in https://github.com/MyToolkit/MyToolkit/commit/66491e2301f786001c88b3bb2506f1824105a650


Reorient input to RPI

Any input to the processing system should be reoriented to RPI, the standard orientation of MNI data in FSL. This orientation will be handled by the localiser and should allow simplification of scripts that use spatial coordinate information.

discontinued enhancement


Keep map state when returning from Manage

When a Challenge manager 'Edit's a Task, upon returning to the Challenge page the map should remember 1) whether nodes were grouped or not.

Closing due to age.


Level9 Test case 9_03 (Wait the wrong server)

I passed level 8 but failed Test case 9_03. Customer 18 waits at server 1 instead of 2.....
Where I got wrong again.....
How should I go with debugging this one because I did not know the complete test case >.<

@Xjkslhstxn do you mind sharing how you solved this?

@Xjkslhstxn do you mind sharing how you solved this?

For me the error is in my pending class, I have this if else loop to check if there are waiting customer ahead and if this customer has moved to the front. Then I swap the if else order then it can pass alr. I not sure about ur implementation. If you also have this pending event after wait, then I think most probably there might be some problems there.


feature: Add TablePrefix in relay paginite options

Requested by #4

Add TablePrefix property in relay.PaginateOption
TablePrefix is postgres schema or mssql schema or mysql db, etc...

release v1.4.0
https://github.com/cloudmatelabs/gorm-gqlgen-relay/releases/tag/v1.4.0


Document features

I saw at least a lack of doc(cfg(...)) on std::error::Error impl there's likely more.

Oh, I just did https://github.com/rust-bitcoin/rust-bech32/pull/88 that adds docsrs cfg like in rust-bitcoin but while doing that I attempted to answer the question "do impls need #[cfg_attr(docsrs, doc(cfg(feature = "std")))] and came to the conclusion (by building with and without and looking at the HTML) that they did not, am I wrong?

Are you sure you did it correctly? The last time I checked impl items do have the marker. But even if they didn't I'd argue it's a good idea to add it anyway because if it gets fixed (presumably a bug) then it'll start showing up.

Last time we had a discussion like this I was wrong so please leave it with me and I'll double check.

You were right @Kixunil, again :) I did find a useless usage though.
#[cfg(feature = "alloc")]
#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
extern crate alloc;

But the same argument you made about this changing in the future applies so will leave it in.


Investigate "SelectProjectInstance()" for TODO's missing ability to specify ReaProject

Uncertain what this does (never seen it used in code), but if it switches the internal pointer to the current ReaProject for functions that don't take a ReaProject as a param, maybe it could work to quickly swap to another project + back to the original hackily?
https://www.reaper.fm/sdk/reascript/reascripthelp.html#SelectProjectInstance
So maybe we can fix this -> :(
// TODO-low reaper::InsertTrackAtIndex unfortunately doesn't allow to specify ReaProject :(
Current impl:
// TODO-low Introduce variant that doesn't notify ControlSurface
pub fn insert_track_at(self, index: u32) -> Track {
    self.complain_if_not_available();
    // TODO-low reaper::InsertTrackAtIndex unfortunately doesn't allow to specify ReaProject :(
    let reaper = Reaper::get().medium_reaper();
    reaper.insert_track_at_index(index, TrackDefaultsBehavior::OmitDefaultEnvAndFx);
    reaper.track_list_update_all_external_surfaces();
    let media_track = reaper.get_track(Proj(self.rea_project), index).unwrap();
    Track::new(media_track, Some(self.rea_project))
}

Naive theoretical impl (if SelectProjectInstance does what I hope):
// TODO-low Introduce variant that doesn't notify ControlSurface
pub fn insert_track_at(self, index: u32, project: Project) -> Track {
    self.complain_if_not_available();

    let reaper = Reaper::get().medium_reaper();
    let current_project = Reaper::get().current_project();

    unsafe {
        reaper.low().SelectProjectInstance(project.rea_project);
    }

    reaper.insert_track_at_index(index, TrackDefaultsBehavior::OmitDefaultEnvAndFx);
    reaper.track_list_update_all_external_surfaces();
    let media_track = reaper.get_track(Proj(self.rea_project), index).unwrap();

    unsafe {
        reaper.low().SelectProjectInstance(current_project.rea_project);
    }

    Track::new(media_track, Some(self.rea_project))
}

🙂

Thanks Gavin! That could be a solution. Just would need to make sure that the function doesn't do anything with the GUI, otherwise this could lead to flickering.


Log flash error messages that are sent to users

We use a "flash" to report errors to users - look into also logging those those flash messages when they are an error.

The system is busier, so we need the logs to be less busy.  So I'm just closing this up.


URL is rewritten by Location header in response

Describe the bug
I don't know whether it's bug or it was bug in RC2 but currently using Hoxton.RELEASE when I use route like this
routes:
  - id: third-party-api
    uri: 'http://<IP_ADDRESS>:8081'
    predicates:
      - Path=/thirdparty/**

And downstream service returns header Location: http://<IP_ADDRESS>:8081/thirdparty/v2/api-doc/swagger-ui/index.html then gateway tries to rewrites url and returns dowstream url and port in response.
this is the output from curl from dowstream service
curl -v http://<IP_ADDRESS>:8081/thirdparty/v2/api-doc
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8081 (#0)
> GET /thirdparty/v2/api-doc HTTP/1.1
> Host: <IP_ADDRESS>:8081
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 302
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-Frame-Options: DENY
< Location: http://<IP_ADDRESS>:8081/thirdparty/v2/api-doc/swagger-ui/index.html?url=/thirdparty/v2/openapi/cartdialog.yaml
< Content-Language: en-US
< Content-Length: 0
< Date: Wed, 04 Dec 2019 17:37:16 GMT
<
* Curl_http_done: called premature == 0
* Connection #0 to host <IP_ADDRESS> left intact

create gateway with following route

server:
  port: 8000
...
      routes:
        - id: thirdparty
          uri: http://localhost:8081
          predicates:
            - Path=/thirdparty/**

start this application
navigate to url http://localhost:8000/thirdparty/api-doc and see what happens

in Hoxton it's rewriting port when on localhost in RC it's ok.

Gateway doesn't rewrite headers by default. What should the header be?

Maybe I've described it wrong way. Url in browser address bar is rewritten to localhost:8081 in above case. See the port difference. A think that if there is another host ( not localhost) it will be changed also

That's what a 302 does. The downstream service needs to know it's behind a proxy or use https://github.com/spring-cloud/spring-cloud-gateway/blob/master/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/RewriteLocationResponseHeaderGatewayFilterFactory.java

RemoveRequestHeader fixed the issue. I'm just wondering whether this is the PR which fixed this issue.


feat: Update to support M1 architecture #99

I created this as a draft because I need help testing the changes.

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user

cc. @retgits or @ennru I guess ... I don't have an M1 ...

Fixed by now.

I don't think it is, only on the JVM SDK side as far as I know but, I think it is fine to close this and revisit later anyway.


dpkg-reconfigure should set default version

Switching Java version on Ubuntu means a list of update-alternatives calls that's impossible to keep track of, but those calls are performed automatically when I install or apt-get reinstall one of the AdoptOpenJDK Ubuntu packages. It would be nice if there were a way to set the default version to an already-installed one, with one command for all tools, without having to download the package again; why can't our packages be set to do that when dpkg-reconfigure is run on them?

Use update-java-alternatives. -l displays all the available JDKs. -s is used to activate one and runs all the update-alternatives for you.
http://manpages.ubuntu.com/manpages/bionic/man8/update-java-alternatives.8.html


Add HIPAA section, change author

#sign-off

@TerryLanfear  disregard this one - I just realized it's not the private repo.


UI: CRUD for Datasources

Add the necessary screens & forms to be able to create, read, update and delete datasources from the UI.
Notable difference with e.g dashboards, a datasource can be created a 3 different levels (global, project and dashboard).

Current status:

Project datasources CRUD to be tackled with https://github.com/perses/perses/pull/1282.
Global datasources CRUD to be tackled with https://github.com/perses/perses/pull/1319.
Local datasources CRUD still to be done.

@AntoineThebaud I took the liberty to update your status comment with the last PR.
This PR, when done, should close this issue. If you think of something that I missed tell me!

Hmm I think your PR tackles something different, by Local Datasources CRUD I meant having access to the create/edit datasource form for the local/dashboard datasources, just like we have for dashboard variables.

oh yes okay! I forgot that. Let me remove my edit and change the closes to relates

No worries, this is something we also forgot upstream when we planned the activities for this summer 😅


Presence isn't accurate

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

https://mattermost.atlassian.net/browse/MM-14183
Summary

Environment

Operating System: macOS 10.14.2
Mattermost Desktop App version: <IP_ADDRESS>
Mattermost Server version: 5.4.0

Steps to reproduce
Just use the desktop app in conjunction with the web app.
Expected behavior
Presence status in the desktop client should match the web client.
Observed behavior
The presence indicator sometimes differs. Specifically, I can compare my DM list in the desktop app and the web app and see that people who show offline or away in the web app show as present in the desktop app. I realize that it's not a real-time sync, but this has been confirmed over spans of hours.

Possible fixes

Hi @ntwrkguru, would you be open to taking a look at this section in our troubleshooting docs: https://docs.mattermost.com/install/troubleshooting.html#user-statues-get-stuck-on-away-or-offline-status?

I'm not opposed, but it's in an Open Telekom Cloud, not Amazon, so there is no ELB, but I'm not sure what they use for ingress.

Jira ticket for tracking: https://mattermost.atlassian.net/browse/MM-14183

Updated ticket for tracking: https://mattermost.atlassian.net/browse/MM-6404.

Are you still experiencing this issue on desktop v4.4.0?

Can't say. I don't use MM any longer. Sorry.


fix: run examples

fix bug implemented in #581

Any idea what's causing E2E flakiness?

nope we should investigate


Cannot Change Color

The color choosing circle and the sliders are fixed and do not move with upon click and drag. Hence its does not allow us to choose a color in the latest version 2.18.0.
Everything works fine on rolling back to 2.17.3.

I got same issue...

Am also experiencing this issue

I solved the issue by installing the exact version 2.17.3 (ran nom i<EMAIL_ADDRESS>just like @somyarocketium said

I had the same issue with latest version and solved it by defining default color property.
<HuePicker                     color={this.state.background}                     onChangeComplete={ this.handleChangeComplete }/>

I had the same issue with latest version and solved it by defining default color property.
<HuePicker color={this.state.background} onChangeComplete={ this.handleChangeComplete }/>

This didn't solve my issue. I'm using the ChromePicker and the only thing that solved the issue for me was reverting to 2.17.2 as @somyarocketium mentions. Thank you!
Maintainers - any idea what is going on in the latest version?
BR,
Kyle

Same issue as @kylekirkby: using ChromePicker and the ui circle doesn't move even though the color is updated (console.log(color) on onChangeComplete)

I had the same issue with latest version and solved it by defining default color property.
<HuePicker color={this.state.background} onChangeComplete={ this.handleChangeComplete }/>

This didn't solve my issue. I'm using the ChromePicker and the only thing that solved the issue for me was reverting to 2.17.2 as @somyarocketium mentions. Thank you!
Maintainers - any idea what is going on in the latest version?
BR,
Kyle

same here! rolling back to 2.17.3 worked for me.

Any updates on this issue? I'm running into the same issue with the sliders not updating their position. As the other say the color value does update accordingly on onChange and onChangeComplete.
I even copied the exact class for the ButtonExample and it doesn't work, but when I copied and pasted on https://codesandbox.io/, it seem to work just fine...
The rollback didn't resolve the issue for me.

<EditableInput /> same as this issue, ref link

 works on 2.17.3, past version was ^2.18.0

This has been fixed and will be release in<EMAIL_ADDRESS>

Seeing this in 2.18.1.

The bug still here.

still 2.18.1

If you're still having this issue, remember that the components are controlled only.  You must supply a hex color string via the color prop that gets updated via onChange or onChangeEnd.

@casesandberg Can confirm that this issue still exists in 2.18.1.  Can this issue be reopened?

@casesandberg I can confirm that this issue still exists in 2.18.1 and rolling back to 2.17.3 fixes it. Can you please reopen this ticket?

Also seeing the bug in 2.18.1 Fixed by rolling back to version 2.17.3.

color prop value needs to be updated onChange.
2.18.1 works as long as that value is being updated.

Was experiencing this issue with latest version using React Hooks. Found a solution by defining a separate color state, and updating this value onChangeComplete. The component then takes the color state as a prop.

I had the same issue with Slider Picker but it' fix adding a default color:

@vkarakoulakoglou make sure in package.json you have the exact version "2.17.3" and not "^2.17.3", tried it worked for me , but looking fwd for a resolution in latest version

works for me thanks

Same issue facing with ("react-color": "^2.19.3",) this version.
I have already tryed.
1. <ChromePicker color={item.color} onChange={(e) => handlerOnColorChange(e, item)} />
2. <ChromePicker  onChange={(e) => handlerOnColorChange(e, item)} />
3. <ChromePicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />

Same issue facing with ("react-color": "^2.19.3",) this version.
I have already tryed.
1. <ChromePicker color={item.color} onChange={(e) => handlerOnColorChange(e, item)} />
2. <ChromePicker  onChange={(e) => handlerOnColorChange(e, item)} />
3. <ChromePicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />

Same issue facing with ("react-color": "^2.19.3",) this version.
I have already tried.
1. <ChromePicker color={item.color} onChange={(e) => handlerOnColorChange(e, item)} />
2. <ChromePicker  onChange={(e) => handlerOnColorChange(e, item)} />
3. <ChromePicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
4. <SketchPicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
5. <ChromePicker />
6. <SketchPicker />

I'm experiencing the same problem with 2.19.3

Same issue facing with ("react-color": "^2.19.3",) this version.
I have already tried.
1. <ChromePicker color={item.color} onChange={(e) => handlerOnColorChange(e, item)} />
2. <ChromePicker  onChange={(e) => handlerOnColorChange(e, item)} />
3. <ChromePicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
4. <SketchPicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
5. <ChromePicker />
6. <SketchPicker />

I'm experiencing the same problem with 2.19.3

Have same issue here too

Have same issue here too

Same issue facing with ("react-color": "^2.19.3",) this version.
I have already tried.
1. <ChromePicker color={item.color} onChange={(e) => handlerOnColorChange(e, item)} />
2. <ChromePicker  onChange={(e) => handlerOnColorChange(e, item)} />
3. <ChromePicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
4. <SketchPicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
5. <ChromePicker />
6. <SketchPicker />

I'm experiencing the same problem with 2.19.3

Have same issue here too.

Same issue facing with ("react-color": "^2.19.3",) this version.
I have already tried.
1. <ChromePicker color={item.color} onChange={(e) => handlerOnColorChange(e, item)} />
2. <ChromePicker  onChange={(e) => handlerOnColorChange(e, item)} />
3. <ChromePicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
4. <SketchPicker  onChangeComplete={(e) => handlerOnColorChange(e, item)} />
5. <ChromePicker />
6. <SketchPicker />

I'm experiencing the same problem with 2.19.3

Have same issue here too.

Confirm this issue with version 2.19.3 on Win7, Chrome 88.0.4324.150

Also had the same issue on 2.19.3, OSX, Chrome 88.0.4324.182  and also Firefox 85.0.

Version: ^2.19.3
Working code snippet:
const [color, setColor] = useState('#ffffff'); // define a state for the color prop

// setState when onChange event triggered
const handleChange = (color: any) => {
    setColor(color.hex);
  };

<SketchPicker
          color={color}
          onChange={handleChange}
          onChangeComplete={handleChangeComplete}
        />

had the same issues, rolling back to 2.17.3 as suggested worked

2.19.x didn't work for me, I followed others and went back to 2.17.3 and it works. I wonder how major versions are being released and something which used to work, doesn't work in the current versions.

Same issue 2.19.x didn't work for me, I followed others and went back to 2.17.3 and it works.

import React, {useState} from 'react';
const [color, setColor] = useState("#121212");
const handleChange = (value) => {
setColor(value.hex)
console.log(color)
}

This work for me.
Version ^2.19.3

I solved the issue by installing the exact version 2.17.3 (ran npm install --save<EMAIL_ADDRESS>just like @somyarocketium said

Solved it for the <SliderPicker /> using Version 2.17.3 using a seperated State for the color and passing the color to the SliderPicker

Version: ^2.19.3 Working code snippet:
const [color, setColor] = useState('#ffffff'); // define a state for the color prop

// setState when onChange event triggered
const handleChange = (color: any) => {
    setColor(color.hex);
  };

<SketchPicker
          color={color}
          onChange={handleChange}
          onChangeComplete={handleChangeComplete}
        />

This is what worked for me.

Solution mentioned by @pintosack  worked for me version "react-color": "^2.19.3"

Version: ^2.19.3 Working code snippet:
const [color, setColor] = useState('#ffffff'); // define a state for the color prop

// setState when onChange event triggered
const handleChange = (color: any) => {
    setColor(color.hex);
  };

<SketchPicker
          color={color}
          onChange={handleChange}
          onChangeComplete={handleChangeComplete}
        />

It worked for me, but IMO it's pretty strange

Whatever version 2.19.3 or version 2.17.3, maybe should be considerated about chaning the color variable with using onChange function, it worked for me.

The latest version (v2.19.3) requires handleChangeComplete to be set. This works for me:
const [color, setColor] = useState("#FFFFFF");

<ChromePicker
  color={color}
  onChangeComplete={(colorResult) => setColor(colorResult.hex)} // <- Make you add this line
/>


SashContent children and Typescript

I'm trying to use this in a Next w/Typescript project:
<SashContent className={styles.sashWrapLineActive}>

</SashContent>

Typescript complains about the span element:
types.d.ts(60, 5): The expected type comes from property 'children' which is declared here on type 'IntrinsicAttributes & ISashContentProps'

Do I need to add anything to allow the  element or is this a bug in split-pane-react?
On the interface, I see children is defined as JSX.Element[]

Same here

Maybe you need to add sashRender paras like this: https://codesandbox.io/s/split-pane-themes-xmsqtt

I guess it's a bug in the definition of the children property of ISashContentProps
Instead of declaring it as type JSX.Element[] it should also support other types e.g. a single element.
Using React with Typescript, children is normally defined as being of type ReactNode see e.g. https://blog.logrocket.com/react-children-prop-typescript/

FYI I too get the error in the OP if I try to compile this code using TypeScript.
The code in question is in (and copied from) the themes demo e.g.:

https://codesandbox.io/p/sandbox/split-pane-themes-xmsqtt?file=%2Fsrc%2Fdemos%2Fdemo3.jsx
That demo is a *.jsx file not a *.tsx file.

I worked-around this problem by using the normal typescript instead of trying to use a theme, and instead adding some CSS to get something looking like the "line"  style.
sashRender={(_, active) => <SashContent active={active} type="vscode"></SashContent>}

and
.split-sash-content.split-sash-content-vscode {
  background-color: rgb(200,200,200);
  width: 2px;
}
.split-sash-content.split-sash-content-vscode.split-sash-content-active {
  width: 100%;
}


A helper function to extract Web Interface/API from an object graph

Add package.json.
Implement API extractor as a FOAM module.
Add integration test and unit test for APIExtractor.

@arobins FYI


Be more explicit about licenses

The comments for the respective code snippets already mention what was changed. Would you like those comments to elaborate a little more?


Add support to install packages from Bioconductor

Hi Simon,
Your package looks very interesting.  It seems that ShinyTron currently only installs packages from CRAN. It will be great if it can install packages from Bioconductor as well.
BTW, is your package name ShinyTron or Shinystandalone?  It is not consistent at the moment.
Best regards,
Dong

Hi Dong,
thank you very much for your inquiry and your tip. I have unified the naming of the package, the name is ShinyTron.
I will be able to add the installation of packages from Bioconductor this weekend. I'll let you know!
Feel free to give me feedback if the package works for you or what else can be improved and what you used it for :)
Best regards,
Simon


3d reconstruction using realsense

i need to create 3D reconstruction using the Depth data captured by D455, i guess it will require co-ordinate data, pixel information etc. Do realsense have a standard procedure to create such 3D reconstruction using realsense.

do you have any examples for how to use 3D reconstruction with Open 3d realsense

There are not many references about reconstruction with RealSense in Open3D other than the tutorial that I linked to above, and also https://github.com/isl-org/Open3D/issues/2467 and https://github.com/isl-org/Open3D/issues/5082 and the link below.
https://blog.georgmill.de/2020/09/01/3d-reconstruction-with-open3d-on-a-jetson-nano/
In addition, Open3D's official documentation has a non-RealSense section about its reconstruction system.
http://www.open3d.org/docs/release/tutorial/reconstruction_system/index.html

I am still not able to find sufficient document of open3D with realsense for depth 3D reconstruction.

You could also look at https://github.com/isl-org/Open3D/issues/473

according to this comment https://github.com/isl-org/Open3D/issues/473#issuecomment-508139946 will the camera capture the entire 3D plot wherever the camera is being placed ?

The camera will capture whatever is within its field of view (imagine looking through the viewfinder of a photographic camera).  Like a photographic camera, a RealSense camera has a field of view size.  Detail in the observed scene that is outside of the field of view box will not be captured unless the camera is turned to bring that outer detail into the field of view.

ok this is not working, do we have any procedure to export pointclouds files from .bag file

The RealSense SDK's rs-convert tool can convert bag files to pointcloud .ply files.
https://github.com/IntelRealSense/librealsense/tree/master/tools/convert
If you are using Windows and have installed the full RealSense SDK, instructions for launching the rs-convert tool can be found here:
https://support.intelrealsense.com/hc/en-us/community/posts/360051132573/comments/360014080493
If you are using Linux and have installed librealsense with the examples and tools included, rs-convert should be in the /usr/local/bin location and launchable with the command rs-convert


Align ARC-20 beakerized contract to Smart ASA reference implementation

Just here as reminder for future: arc20 "beakerized" implementation should be aligned with the Smart ASA reference implementation to avoid spreading of multiple versions around.

Update of ARC-20 getters;
Relative reference of transaction indexes in CloseOut;

Removed contracts from this repo, closing this issue


"http" should be uppercase in documentation

Currently there are mix of "http" and "HTTP", I propose to use "HTTP" everywhere.
I will provide PR for this when find time for it, others' PRs fixing this welcome.

+1

Done by #546


clickable progressbar

how to add a nice clickable progress bar in it so that we can listen music at any point?

Need to use this plugin : https://ionicframework.com/docs/native/media/ instead of soundmanager2 ;)


[Q] Read a xlsx file syncrronuously

I'm trying to read a excel file into a csv-like looking array [ArrayLine1,ArrayLine2,..] with exceljs in nodejs. Exceljs has probably no solution to read a file synchronuously, so I have to build a solution around that. But all my attempts with async functions around the exceljs code doesn't work with the synchronuous frontend.

const workbook = new Excel.Workbook()

var raw = []
var line
workbook.xlsx.readFile(filename).then(() => {

    workbook.eachSheet((sheet, sid) => {

       sheet.eachRow((row, rid) => {

           line = []
           row.eachCell((cell, cid) => {

               line.push(cell.value)
           })

           raw.push(line)
       })
    })
})

//use raw / write the raw to another file
console.log(raw) //echo's: []

Is there any solution to read files syncrronuously?

Maybe you can use async / await .


argument list too long with error encountered with digital-ocean-agent tool(openai) along with clio context.

gptscript version v0.0.0-dev-f27e1934-dirty
Steps to reproduce the problem:

Execute the following script:

tools: github.com/gptscript-ai/digital-ocean-agent
context: github.com/gptscript-ai/clio/context
chat: true

You are a good assistant

Following error is seen:

 gptscript do-openai.gpt

run encountered an error: ERROR: : fork/exec /usr/bin/env: argument list too long with error output:
>

Note - If the github.com/gptscript-ai/clio/context is not used in the script, then this error is not seen and we are able to work with DO agent successfully.

This issue is not seen anymore when testing with gptscript version - v0.0.0-dev-c8cf3106-dirty


Bug docs: command examples use short options instead of long

Docs for the following commands use examples with short options (eg. -o), instead of long (--output):

[ ] cdn get
[ ] cdn origin add
[ ] cdn origin remove
[ ] cdn policy list
[ ] cdn policy set
[ ] cdn set
[ ] customaction add
[ ] customaction clear
[ ] customaction get
[ ] customaction list
[ ] customaction remove
[ ] customaction set

This makes these docs less readable and user-friendly. We should update all examples to use long option names instead.

Hi @waldekmastykarz
Can I work on this?

All yours @nanddeepn 👍🏻
Thank you for the help ❤


Training an R10.4.1 methylation model

This is closely related to #1059.  As that issue was for the nucleotide models, I am opening another issue to discuss about the cpg models.
to train a cpg methylation model, I have done what you suggested at #825 some time ago. I made a hybrid reference genome - one with all CGs changed into MG, and the other with the CGs left unchanged.  Then reads were mapped to the corresponding reference and the BAMs were merged together.
Now the doubt is about what I should be using as an input cpg model.

Here what I did was for aby methylated k-mers, I put the same values as for the corresponding nucleotide k-mers from the ONT's base model. Then I did the following command:
nanopolish  train -r positive_and_negative_pass.fastq -g hg38noAlt_hybrid.fa -b merged.bam  -t 40 --train-kmers=all --input-model-filename r10.4.1_400bps.cpg.9mer.model -d ../meth/

Unfortunately, none of the k-mers was trained. Note that now the nucleotide training works after the modification you made in [#1059], but still not for cpg. Is there a problem with the approach I am following or wonder if there is something else in the code that prevents the training?

There's a few different reasons this could fail. Were the nucleotide (ACGT only) k-mers trained, or nothing at all trained? Were any status messages printed to the terminal?

Oooohhh. I added fprintfs here andthere and finally found the potential problem - as the base model is using the inbuilt old r10 model. I manually replaced the .inl model and seems like itis now actually doing the training. Will keep you posted when the training is done.

Ah yes, good find!

well, will take a while it seems and the server is crying :D


Add dpr to delphi source files

dpr files are the main source files for delphi projects (like dpk are the main files for delphi package projects.) Add them to the list of the delphi language extensions.

You should add it to tests/list_file_types.t file as well.

Thanks, guess I should have actually made a checkout and build it myself instead of using the webeditor.

Is there anything else needed for this requests to be merged, if there is anything i could do I'd be happy to help