[10.x] allow override of the Builder paginate() total

This allows the user to declare the total number of results a query returns.  If the user provides this argument, the paginate() method will skip running its query to determine the total row count. to be clear, this does not change the number of actual results available, just how many the paginator thinks exist.
Why would we want to set this value when we can use a query to determine it?
Performance.
select count(*) as aggregate from `table_name` where `table_name`.`deleted_at` is null

can be terribly slow on large tables, depending on your database and table engine.
For example, on MySQL with an InnoDB engine, a table with 500,000 rows can take 300ms.  Eliminating this query can save a considerable chunk on the entire request time.
You might ask, "why not use the simple paginator or cursor paginator to achieve this?".  That would eliminate the extra query, but the downside is you lose the ability to quickly navigate directly to pages.
Users are free to calculate or choose this number any way they like. You could assume your users will never care about more than 100k records back from the most current, and use that if you like.  Surprisingly, assuming your have an auto-incremented id field and rows are either never deleted or soft-deleted, you can run
select * from `table_name` order by `id` desc limit 1

to retrieve the last ID, and this query is significantly faster.

So if I have 300k records but set Paginator to total 100k it will show list of pages for 100k but actually will load other 200k if I manually change ?page parameter to bigger page number?

It seems like this is a breaking change because the newly added $total value is causing an error as many packages override the paginate method. Therefore, it can be considered as a breaking change. @taylorotwell

Sending in a PR to revert this.
@browner12 we can't change method signatures on patch releases as those will result in breaking changes for people overwriting these (see above).

@driesvints Can you help me understand, I'm a little confused. If the packages are overriding the paginate() method, how would changing our signature affect them? Wouldn't their new definitions take effect, basically ignoring the Laravel method?

@browner12 In PHP you can't overload methods, meaning to have the same method name but different parameters. It's only possible to override the implementation in a subclass.
When there's a breaking change it has to target the next major version. Otherwise apps  with custom paginate-methods would break if they update to the next minor version with this change

Thanks for the explanation guys! Completely spaced on PHP inheritance rules.
Resubmitting to master.

@browner12 You can use func_num_args and func_get_args to get around the breaking change. That way there's no need for this to wait until Laravel 11. Symfony does the same thing when they add a new parameter to a method signature so that they can make the change on a minor version and make the new parameter required/an actual part of the method signature on the next major version.
One example on Symfony 5 -> https://github.com/symfony/symfony/blob/v5.4.21/src/Symfony/Component/DependencyInjection/Alias.php#L88-L108
which then became this on Symfony 6 https://github.com/symfony/symfony/blob/v6.0.0/src/Symfony/Component/DependencyInjection/Alias.php#L70

@driesvints, are you guys open to @X-Coder264 's suggestion?  I've already got the PR open to 11.x, but happy to do this as well.


Using captcha selectively with the Peak starter

Peak uses the same Pagebuilder code to create all forms, therefore if the captcha code is added as specified, it will appear on all forms, even if not explicitly requested in the captcha configuration (though it does not trigger validation). I don't know if this is the best approach, but in order to get around this, I've wrapped your captcha output as follows:
{{ if ({config:captcha:forms} | in_array({form:handle})) }}
    {{ captcha }}
    {{ if error:captcha }}

{{ error:captcha }}

    {{ /if }}
{{ /if }}

Please let me know if there's a better way of handling this. Thank you!

Hey @gml-fahlgren, sorry for the late response. Your above snippet looks great actually, no notes 👌


Intents: Ethereum "to" allowlist

Track the progress of making it possible for a user to define an allowlist of addresses that can receive tokens or be called (in the case of smart contract addresses). This is the "to" field in an Ethereum transaction.

[x] #306
[x] #307

One these are done, users will be able to write intents such as:
contains(warden.analyzer.xxx.to, ["0x123", "0x456"])

(where xxx is the address of the Ethereum analyzer)

Everything here has been done, the Ethereum analyzer can be used to track the "to" value and the shield language supports string operators and the contains() built-in


Fix .conf file modes for Windows forwarders

Prior to this, the file mode for inputs.conf, outputs.conf, and web.conf
would change from 0664 to 0644 on every Puppet run.
On Windows, we don't want to set the file mode for these files as
handling the permissions on these would best be left for the
puppetlabs/acl module.

Hi @natemccurdy, thanks for the PR!


⚠ Bofrost.at has degraded performance

In c047ff6, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1637 ms

Resolved: Bofrost.at performance has improved in a6fd2dc after 37 minutes.


how to use ???!!!

how to use your plugin??
I am download your plugin frowm Bower... and ? what next???

That's not a plugin, that's a site source code. You probably ask your question in wrong place.


#711 Updated nuget.core to 2.14

TODO:

[x] Update nuget.core to 2.14 to support netstandard (discovered in #710)
[ ] Test test test

EDIT: blocked by #716 because I cannot run the tests

Related issue is #711, to be closed when this is merged.

Cleared block from issue #716.

What's the state of this PR, e.g. which are the ToDos that are still to be done before review? Only seeing "Test Test Test" in the main comment, not sure what exactly that means 😄

There seems to be a breaking change in nuget:

Also VertexBatchTest.Locking fails for me locally (but not on appveyor?) not sure why.

IsLatestVersion is somehow wrongly set on the <IP_ADDRESS> TestPlugin package:

Modified code in PackageManager.cs a bit to catch the bug earlier in the process. Seems to have something to do with the LazyLocalPackageRepository:

Nuget v2.8.5 is the last version that doesn't exhibit this behavior. All versions from v2.8.6 on seem to have this bug.

Ah I see we have a custom piece of code that sets the is latest. This piece of code expects a LocalPackageRepository to be present. However from nuget 2.8.6 on its now wrapped in a LazyLocalPackageRepository. Fix should be easy.

TODO:

perform some real tests to verify the package manager is working as expected.

Great work, looking forward to the test results 👍

Also VertexBatchTest.Locking fails for me locally (but not on appveyor?) not sure why.

This could be related to semi-unsafe code, we should verify it's not an x86 / x64 disparity or something like that. Can you open a new issue detailing the exact failure, as well as the test init logs regarding processor architecture and process modes?

Did the following tests:

Install singularity 0.9, this is a multi framework package that targets net 4.5.2 and netstandard 2.0. It picks the net 4.5.2 version which is correct!
Installed some other package such as tilemaps or the sample packages.

@ilexp I guess you want to take a look as well before merging this?

Will do as soon as I manage.

Progress

Fixed an unrelated, but blocking bug in master branch package management.
Debug-stepped through unit tests for packages and verified the new netstandard framework can now be parsed properly by NuGet.
Tested package install, uninstall and restore with various official and non-official plugin and sample packages.

ToDo

Merge back to master, bump version numbers and trigger a new binary release.
After the merge, upload a new binary .zip to replace the current one under releases.
Do a final "out in the wild" test.

Looks fine to me, I'd say we're ready for merge. Will proceed when I find the next sufficiently large time frame to do so without a rush.

Also VertexBatchTest.Locking fails for me locally (but not on appveyor?) not sure why.

@Barsonax Any info on this? Is this still an issue?

No that test still fails. Created issue about it: https://github.com/AdamsLair/duality/issues/719
Seems to have nothing to do with this PR so lets merge this and look into that issue afterwards.

Seems to have nothing to do with this PR so lets merge this and look into that issue afterwards.

Agreed. Proceeding as outlined above and as time allows 👍

Merged, triggered a package release, and updated the download package.


Update search-get-started-python.md

Removing the property "value" from the documents declaration as that is failing in Python with the error “() The request is invalid. Details: parameters : A resource without a type name was found, but no expected type was specified. To allow entries without type information, the expected type must also be specified when the model is specified.”

#please-close  Thank you for the assist!!  There is another PR on the private repo that replicates your fix, plus a few other edits. We'll close this one so that the updates don't conflict.

#please-close  Thank you for the assist!!  There is another PR on the private repo that replicates your fix, plus a few other edits. We'll close this one so that the updates don't conflict.


[Internal review] Update script for script issue_2626

ATF Test Scripts to check 12919
This PR is [ready] for review.
Summary
Move the expectation function for Lock Screen URL event after RegisterAppInterface response
ATF version
develop
Changelog
CLA

[x] I have signed the CLA

move to open, merged


Blockquote highlighting overflows

If you make a blockquote, the blockquote is highlighted in green, but the highlighting overflows to anything after the blockquote.

This can now be marked as closed @jbt.
https://cldup.com/fKYwJ9fjXY.png

Oh yah I remember that sorted itself with the updates to CodeMirror, completely forgot to close this, thanks!


Add bokeh and scipy to upstream CI build

This PR adds dev versions of bokeh and scipy to our upstream CI build environment
xref https://github.com/dask/dask/pull/8725

I am happy if you want to merge this now, or another option could  be to try to get the upstream tests passing in general first. But maybe that is too big a lift :)

I'm ok with merging now and then resolving the errors slowly. :)
@jrbourbeau What do you think?
It might also be worth opening new issues to keep track of the failures?

Sorry for the delayed response. Let's go ahead and merge now. Thank you both for reviewing


Changes 3.0.0+ behavior to by default include SQS prefix

to: @ryandeivert @chunyong-lin @blakemotl
cc: @airbnb/streamalert-maintainers
related to: #885
Background
In #960 I added the classifier SQS resource prefix as an optional variable. The default behavior was "you must specify this or I will error".
As promised, in 3.0.0+, the default behavior now uses SQS resource prefix by default.

Coverage remained the same at 96.616% when pulling 8ab098ea43e8009623ac9e20c4b086736096105f on dw--sqsprefix into a078b4a5d5cc0d473bb1644eed91b4ab89f4d3b9 on release-3-0-0.


Add NVM

#202: this will add nvm. users will have to write bash scripts to nvm install vX.X.X.

I totally want you to use any node version you want and I love nvm but I'm against the idea of installing these into dev/stage/production.
We should build frontend assets locally and CI instead so we can keep the production servers more clean and maintainable.
I did some work yesterday on setupping wundertools into Travis CI and avoiding things like this will help us to be more agile in the future.

I'm all for cleaner. Let's just treat front-end stack the same way we treat back-end stack (composer, drush is in the same category as npm and gulp, IMO).

Good point! So In that sense I would also want to remove composer from the servers so that the build happens elsewhere.
I think the idea in this PR is really nice and we should discuss the implementation a bit more.


Add pydantic to validate the input args

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.73%. Comparing base (ca43887) to head (72b7f0b).

:exclamation:  There is a different number of reports uploaded between BASE (ca43887) and HEAD (72b7f0b). Click for more details.
HEAD has 5 uploads less than BASE

Flag
BASE (ca43887)
HEAD (72b7f0b)

6
1

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #125      +/-   ##
==========================================
- Coverage   96.74%   87.73%   -9.01%
==========================================
  Files          16        4      -12
  Lines        1873      473    -1400
==========================================
- Hits         1812      415    -1397
+ Misses         44       41       -3
  Partials       17       17

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Simpliest search fix to make search work

Hello guys, just read the code change tome stuff and its fixed #145

If you replace LIMIT 25 with LIMIT ".$maxResult.", it should be fine.

Hey Guys, thanks for the help! Search is now working for Planets & Players, but unfortunately not for Allies :(
Is there a possibility to fix this?

Jan, i had tested it before but it didnt really change the problem, due to this:
:limit'			=> $maxResult
$maxResult === -1 ? '' : 'LIMIT :limit';
and  since i was at work, i quickly posted the easiest way
Regards

This probleme is, the autocomplete function will be return 25 users, too. Thats too much..
The parameter $limit must be used

See #183


Missing Thread?

I might be sleepy but shouldn't this https://github.com/SebLague/Pathfinding/blob/968c255f50274021e84acbb5a2f39ee505d7f754/Episode 10 - threading/Assets/Scripts/PathRequestManager.cs#L35
say something like new Thread(threadStart).Start(); instead of threadStart.Invoke(); since ThreadStart only is a delegate and not a threadwrapper.

@CodeDux , Really, he execute path finding methods in the same thread. Otherwise, he has a race condition with state of Nodes in Grid, I think.


Make Settings Menu Options Configurable

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #3256
Engineer Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[ ] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

Add's settingsScreenMenuOptions ApplicationConfiguration parameter to control menu options available in the Settings screen. The parameter expects a list of SettingsOptions.
Available menu options:
- MANUAL_SYNC
- OFFLINE_MAPS
- SWITCH_LANGUAGES
- RESET_DATA
- INSIGHTS
- CONTACT_HELP
MANUAL_SYNC, SWITCH_LANGUAGES, RESET_DATA and INSIGHTS are displayed by default if settingsScreenMenuOptions is not configured.
Sample application_config.json settingsScreenMenuOptions entry:
"settingsScreenMenuOptions": [
  "MANUAL_SYNC",
  "SWITCH_LANGUAGES",
  "RESET_DATA",
  "INSIGHTS",
  "CONTACT_HELP"
]


Add jonahjon to OWNERS file

/override cfssl-tooling-presubmit

/verify-owners

/verify-owners

/lgtm
/approve


set minimum threshold for dangling deletion before deleting all images

avoids case where creating one new dangling image (e.g. builds constantly running) during each sleep interval prevents ever pruning tagged images, because it goes:

delete dangling images
were there any? (always yes, so don't delete non-dangling images)
sleep until next check
meanwhile, create a new dangling image

Instead, only skip the full prune if deleting dangling images fails to reclaim at least $DOCKER_IMAGE_CLEANER_MIN_DANGLING_GB gb.
I believe this is the cause of the ovh2 disk filling up recently, because the logs looked like:
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:33:41,677 Cordoning node user-202211a-node-9aa070
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:33:41,750 Deleted 0 containers, freed 0.00GB in 0 seconds.
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:33:42,152 Deleted 64 images, freed 0.37GB in 0 seconds.
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:33:42,153 Uncordoning node user-202211a-node-9aa070
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:40:07,552 242.32GB used
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:40:19,089 2326 images available to prune
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:40:19,089 Cordoning node user-202211a-node-9aa070
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:40:19,156 Deleted 0 containers, freed 0.00GB in 0 seconds.
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:40:19,959 Deleted 83 images, freed 0.33GB in 1 seconds.
ovh2-image-cleaner-wrq5s image-cleaner-dind 2022-12-16 08:40:19,959 Uncordoning node user-202211a-node-9aa070

so it kept finding dangling images to delete, and would never move on to the non-dangling ones.

The alternative here is to add a call to get_used() here, so we wouldn't need to add a config option.
If we only used absolute size, we could subtract bytes_deleted from used, but it's not so simple for the relative inode usage.

Calling get_used() and doing the comparison check again sounds like the cleanest solution. I don't understand why inodes are a problem though, if it's the same check as at the start what's different in this intermediate check?

@manics I only mean I can do the check without making the expensive get_used() call for the absolute size case, but not for inodes. It definitely works if we do the actual get_used() calculation from the start again. I'll go with that, since it's simplest and clearest.

@manics updated to re-check get_used, removing the added config option. In the absolute case, it doesn't call get_used() again, it uses used -= deleted_gb because the recalculation can take a long time. In the inode case, it just calls get_used() again, since it's cheap.


release master

Mind releasing #168 so I can take out my override here? https://github.com/kellyselden/package-hint-historic-resolver/pull/212

Done!

Thank you friend!


build: add noUnusedLocals config

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Add noUnusedLocals to tsconfig.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

I will update code style in this sequence of pull requests too.


Get to the Next Episode without clicking out

Describe your suggested feature
There should be a slider option in the current episode playing to switch to the next episode. It could look like the photo below.
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.

Added!


add extra escaping when using htmlSafe on user input

no issue

ensure that we always pre-escape user input when it's used within htmlSafe marked output

I tried to exploit areas we use htmlSafe pretty heavily and was unable to (Handlebars/HTMLbars does a good job of preventing this sort of thing) so this PR isn't strictly necessary but I think it's good practice and makes sure that we are demonstrating the best use of htmlSafe throughout the codebase.

LGTM 👍


Import data eager loading relations

Software
Version

PHP
7.3.22

Elasticsearch
7.9.2

Laravel
6.20.8

Laravel Scout
8.6.1

Describe the bug
When I try to use makeAllSearchableUsing function , I understand that this feature aims to eager load relations for mass indexing.
If I test it without queue system, It works like a charm. But when I add queue system and try to load 10 millions rows it seems it does 30 millions sql  queries. In fact it does not eager load relations anymore.
I don't know if it is a scout bug, but I also reported it there : #https://github.com/laravel/scout/issues/462
In case I do things the right way, it is a major bug as the makeAllSearchableUsing feature is not usable for large set of data.
@babenkoivan What do you think ?

Hi @ybert,
Unfortunately, this is out of Elastic Scout Driver control. This behavior can be changed only by the Laravel team.
You can try to implement ElasticScoutDriver\Factories\DocumentFactoryInterface and load the relations right before documents are created:
// create a decorator for the existing document factory
class MyDocumentFactory implements DocumentFactoryInterface
{
    // ..

    public function __construct(DocumentFactory $baseDocumentFactory)
    {
         $this->baseDocumentFactory = $baseDocumentFactory;
    }

    public function makeFromModels(EloquentCollection $models): BaseCollection
    {
         $models->load(/* relations */);

         return $this->baseDocumentFactory->makeFromModels($models);
    }
}

// register the decorator in the service provider's boot method
$this->app->extend(DocumentFactoryInterface::class, function ($baseDocumentFactory, $app) {
    return new MyDocumentFactory($baseDocumentFactory);
});

This is just an idea, I didn't test this piece of code. Hope this helps 🙂

Hi there @babenkoivan I was just facing this problem myself because I've been playing around with Laravel's new feature:
Model::preventLazyLoading()

I realised that despite eager loading all required relationships before doing $collection->searchable(), relations were still being lazy loaded.
I tried implementing your suggestion here (with a quick check to see what type of model it is, and then loading the correct relationships accordingly), and it seems to work (well, it doesn't trigger any LazyLoadingViolationExceptions anymore! Just thought I would post here in case anyone else was wondering if this would actually work or not.

Hi @babenkoivan @robtesch ,
I find an elegant way to do this but without without having to check the type of searchable Model.
We can add change update method of the Engine class by this :
    public function update($models)
    {
        if ($models->isEmpty()) {
            return;
        }

        if (!empty($models->first()->makeAllSearchableWith) && is_array($models->first()->makeAllSearchableWith)) {
            $models->load($models->first()->makeAllSearchableWith);
        }

        $index = $models->first()->searchableAs();
        $documents = $this->documentFactory->makeFromModels($models);

        $this->documentManager->index($index, $documents->all(), $this->refreshDocuments);
    }

To make it work we just have to add this in our model :
    public $makeAllSearchableWith = ['relation1', 'relation2'];

Furthermore, this solution does not load relation when delete chunk of Model which is not needed.
@babenkoivan Can I do a PR for this as I can't extend Engine which is final class ?

Hey @ybert @robtesch,
I don't like the idea of creating a fix for the Scout feature in this package. If we could do it in a clean way, then I'd go for it, but @ybert suggests almost replicating the feature in a different way.
I was checking the issue again and got a new suggestion, not sure if this would work but you can try it. First, adjust makeAllSearchableUsing to fetch the related data in the attributes property of the initial model:
protected function makeAllSearchableUsing($query)
{
        return $query->select('*', 'authors.name as author_name')->join('authors', 'authors.id', '=', 'books.author_id');
}

Now you can use author_name in toSearchableArray as follows:
public function toSearchableArray()
{
        return [
            'author_name' => $this->author_name
        ];
}

You might want to add a fallback, cause the above solution would only work on import:
public function toSearchableArray()
{
        return [
            'author_name' => $this->author_name ?? $this->author->name,
        ];
}

The idea is to have author_name as a part of the initial model to avoid serialization issue. Let me know if you tried it and it worked 🙂

Software Version
PHP 7.4.15
Elasticsearch	7.9.3
Laravel	8.5
Laravel Scout 9.2

The search functionality works perfectly fine, I can search and get the expected results but the method makeAllSearchableUsing is not even triggered, and I want to eager load the relationships for each model.
use Laravel\Scout\Searchable;

class Thread extends Model
{
    use HasFactory, Searchable;

    protected function makeAllSearchableUsing($query)
    {
        return $query->withSearchInfo();
    }
}

Is there anything else that I should do or is it a bug ?

Is this still an issue?
I am trying to import to scout using queues and it seems that makeAllSearchableUsing isn't eagerloading my model's relationship.
Have i misunderstood something?
    protected function makeAllSearchableUsing($query)
    {
        return $query
            ->with('tags', 'media')
            ->withCount('posts');
    }

@jayenne Yes for me this still an issue.
I managed fixing this extending the ElasticScoutDriver Engine :
use ElasticScoutDriver\Engine;

class MyEngine extends Engine
{
    public function update($models)
    {
        if ($models->isEmpty()) {
            return;
        }

        if (!empty($models->first()->makeAllSearchableWith) && is_array($models->first()->makeAllSearchableWith)) {
            $models->load($models->first()->makeAllSearchableWith);
        }

        $index = $models->first()->searchableAs();
        $documents = $this->documentFactory->makeFromModels($models);

        $this->documentManager->index($index, $documents->all(), $this->refreshDocuments);
    }
}

Then use a provider for this engine :
class ScoutElasticsearchServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $this->app->bind(Engine::class, MyEngine::class);
    }
}

You have now to register the new provider in config/app.php :
'providers' => [
    // ...
    \App\Providers\ScoutElasticsearchServiceProvider::class,
]

Now in your model, you just have to declare the relations you want to be eager loaded :
public $makeAllSearchableWith = ['user', 'category', 'company'];

This way the relations specified with makeAllSearchableWith will be eager loaded when models are loaded from the queue.
Hope this helps.

thank you ybert  -very helpful.

@ybert  any chance you've got an updated version that fits the updates done to the Elastic Engine? Its been changed a lot with DocumentAdapters and the like in most recent version I think.

@drmmr763  Now this has been added to Scout Elastic Driver Plus vendor. You can just override the searchableWith function from Searchable trait  in the Elastic Scout Driver Plus vendor.
You will have to install this vendor and to add this to your Model :
    use Searchable;

    /**
     * Relations needed to store Model in elasticsearch
     * These relations will be eager loaded for performance
     *
     * @return string[]
     */
    public function searchableWith()
    {
        return ['relation1', 'relation2'];
    }

Thanks so much! Going to try this later today. @ybert


Fix static hosting with resource path escaping the root

fix #174
Checklist:

[X] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[x] Add or update relevant docs, in the docs folder and in code.
[ ] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[ ] Add .. versionchanged:: entries in any relevant code docs.
[x] Run pre-commit hooks and fix any issues.
[x] Run pytest and tox, no tests failed.

Thanks


[OP-63] Turboscan with the new Virtual AWG.

Added the virtual_awg to the Scan2DTurbo scan. The changes are tested with the KeysightM3201A and Tektronix9014C.

Tested on the XLD.


[WIP] [RayService] Add liveness and readiness probes that track Serve app health

Why are these changes needed?

RayServices rely on the RayCluster liveness and readiness probes to manage the cluster. However, it takes some additional time after the Ray cluster starts for Serve's HTTPProxies to start accepting traffic. The proxies may also crash while the Ray cluster itself is healthy.
This change adds new liveness and readiness probes at the RayService layer to track Serve application health. This prevents requests from getting dropped when Serve is unhealthy while the Ray cluster itself is healthy.
Related issue number

Closes #667
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

Thank @shrekris-anyscale for this contribution! Is it ready to review? @jasoonn is working on #719 and finds a related issue. @jasoonn can you elaborate on what's going on? Thanks!

Thank @shrekris-anyscale for this contribution. When I tried to perform tests on RayService. I created the RayService using  ray_v1alpha1_rayservice.yaml and checked that all the pods are in running states and services are up. Then, I tried to submit a ray job to the cluster through the following command kubectl exec {headpod_name} -- python -c "import ray; ray.init(); print(ray.cluster_resources())". Despite the job got executed correctly in the end. There are a number of error messages(the screenshot below contains part of the messages), which I think might because of the unreadinessfor of the raycluster. I am wondering is there a more precise condition that can determine whether the raycluster is ready?


Add ALAC / AIFF Support

Add ALAC/AIFF playback support.
The change is just add the following feature flags that enable symphonia's feature flags.
"symphonia-alac" enable alac playback
"symphonia-aiff" enable aiff playback

Why these flags are not added in "symphonia-all" feature?
"symphonia/alac" and "symphonia/aiff" features are not enabled by default in symphonia.

Fix #193

Thanks for noticing and fixing this!


Getting the attention score matrix during inference

Hi, we are using flash attention in our language model training and it's super fast, thanks for the great work!
We have a question about the attention score matrix though. During one of our downstream tasks, we need the attention score matrix as the input of another model. But my understanding is, Flash Attention has fused the QV->softmax->V operations, so there's no way to get the attention score matrix using flash attention during inference. In this case, what would you recommend to do? is it possible to train the LM using flash attention, while during inference use a standard attention?
Many thanks in advance!

Thanks, I'm glad to see our work has been useful.
Yes, FlashAttention and standard attention are interchangeable (they compute the same thing), so you can use FlashAttention for training and standard attention for inference if you need the softmax.


Correct way to include dylib folder in search path for cargo run

Problem/Steps

I'm trying to create a wrapper for a native library that includes a static .lib and two .dlls.
Following the Cargo Book docs on build scripts, I'm outputting (actual source):
cargo:rustc-link-lib=static=slang
cargo:rustc-link-search={path to .dll and .lib folder}

When I run cargo build --verbose, I see that subsequent calls to rustc include a flag -L {path to .dll and .lib folder}, but when running an example program using that library, the process exits fast with STATUS_DLL_NOT_FOUND. If I remove the call to the native library bindings and dump the PATH, my rustc-link-search path is not present (the search paths for bzip2-sys, curl-sys, and libz-sys do appear in PATH, but examining their respective build.rss and cc-rs's source, I couldn't figure out what they were doing differently).
I found cargo::util::paths::dylib_path(), but couldn't figure out where it was used...
Also, adding cargo:rustc-link-lib=dylib=slang-glslang makes Cargo complain about not being able to find slang-glslang.lib, which confuses me since I expect it to look for slang-glslang.dll and thought .lib was for static libs on Windows.
Edit: If I add cc::Build::new().out_dir(&slang_binaries_path).file("dummy.c").compile("foo") (where dummy.c is an empty file), I correctly get the PATH variable set.
Notes
Output of cargo version: cargo 1.33.0 (f099fe94b 2019-02-12)

Rust version:
stable-x86_64-pc-windows-msvc (default)
rustc 1.33.0 (2aa4c46cf 2019-02-28)

OS: Windows 10
Thanks for your time!

I've figured this out, I was being to clever and passing the fs::canonicalized path and cargo:rustc-link-search does not like that.


The Process stops during "script[~] action run"

During knife solo cook, the process becomes stop.
But the server machine seems to be installed with all ruby versions.
What is a cause? How do I investigate this behavior deeply?
OS: Amazon Linux AMI 2014.09.1 (HVM)
nodes/vagrant_work.json
    "run_list": [
        ...
        "ruby_build",
        "rbenv::system"
    ],
    "rbenv": {
        "user": "ec2-user",
        "rubies": ["2.1.5", "2.0.0-p598", "1.9.3-p551"],
        "global": "2.1.5"
    }
output.
      - install version 1.8.10-1.45.amzn1 of package subversion
[2014-11-16T08:35:35+00:00] WARN: Cloning resource attributes for package[autoconf] from prior resource (CHEF-3694)
[2014-11-16T08:35:35+00:00] WARN: Previous package[autoconf]: /home/ec2-user/chef-solo/cookbooks-2/rbenv/providers/ruby.rb:102:in `block in install_ruby_dependencies'
[2014-11-16T08:35:35+00:00] WARN: Current  package[autoconf]: /home/ec2-user/chef-solo/cookbooks-2/rbenv/providers/ruby.rb:102:in `block in install_ruby_dependencies'
    * package[autoconf] action installDEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout:  (up to date)
 (up to date)DEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout:

DEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout:
    DEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout: * rbenv_script[rbenv install 2.1.5 (system)] action run
* rbenv_script[rbenv install 2.1.5 (system)] action runDEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout:

DEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout:
      DEBUG: sudo -E -p 'knife sudo password: ' chef-solo -c ~/chef-solo/solo.rb -j ~/chef-solo/dna.json stdout: * script[rbenv install 2.1.5 (system)] action run
* script[rbenv install 2.1.5 (system)] action run
After "script[rbenv install 2.1.5 (system)] action run" messages, nothing is printed on a display.

So, it looks like the user you are cooking with requires sudo with a password. I recommend cooking with a user that isn't in that situation.
If that's not the case, can you try this manually and try to pin down where you get up to vs chef.


Support Visual Studio

See https://docs.microsoft.com/en-us/visualstudio/extensibility/starting-to-develop-visual-studio-extensions?view=vs-2019

Initial poc tests with https://learn.microsoft.com/en-us/visualstudio/extensibility/adding-an-lsp-extension?view=vs-2022 suggest that the default LSP client may not be ideal:
From that page, In fact, support for LSP language servers is designed to work only in open folder/file scenarios. - we want Contextive to 'overlay' information supplied even when VS is used to open a solution or a project, not just the 'open folder' scenario.
May need to investigate using the OmniSharp language client and explicitly wiring up default handles, (e.g. see QuickInfo tooltip - https://learn.microsoft.com/en-us/visualstudio/extensibility/walkthrough-displaying-quickinfo-tooltips?view=vs-2022&tabs=csharp) into the language client call to the language server.

It would be great to have Visual Studio 2022 support. This is a great adjunct to our documentation; however, we extensively use NCrunch which is only available in Visual Studio. Is there any help we could provide?

@jimdeane, thanks for your interest! I have recently had some confirmation from the folk at MS that the recommended extensibility approach is here: https://learn.microsoft.com/en-us/visualstudio/extensibility/visualstudio.extensibility/language-server-provider/language-server-provider?view=vs-2022
I was planning on starting on it in a few weeks, in June 2024.  If you are keen to assist, feel free to take a look at that link and try and get it started.  The existing language server is available as a separate binary download from github releases, so you could start by downloading that and configuring a hardcoded path just to test out the language server integration, and then once that's working we can look at integrating it into the CI build so that the windows binary gets embedded in the built/published extension.
If you don't get a chance, no worries, I hope to update this ticket in June with progress.
Cheers!

Gave this a shot today. Result for now was that something is happening (the language server .exe shows some CPU utilization when hovering over a word and some logs show messages exchanged with the language server). However, no visual result is visible in Visual Studio.
Not sure when or how I will continue with this, but definitely interested in seeing Contextive become available for VS.

Thanks for getting the ball rolling on this! If you're able to share the logs that show messages exchanged, I'll see if I can help interpret what's happening.
Either way, even if you're not able to continue with this, I appreciate you making this effort, it will definitely help me make progress!

Here is the log: VS156025C6.LSPClient.Microsoft.VisualStudio.LanguageServer.Client.VSExtensibilityLanguageServerProviderClient.JCRC.zip
Sorry about the German in the exception message. Behind System.AggregateException it says that at least one error occured. And behind Syste.ArgumentNullException, it says that the value may not be NULL.

Thanks for sharing this!
Looking through the raw xml logs, there are two errors:

No target methods are registered that match "workspace/configuration".

This doesn't appear to be be blocking operation, but means that there's no way to configure a definitions file in a different location

'Exception thrown from request "(not specified)" for method window/showMessage`

This is the one in your screenshot above.
According to https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_showMessage there are only two fields on that message - type and message both of which are definitely populated.

I think next steps might be for me to prep a version on a branch that:

doesn't send the showMessage notification
writes more detailed logs to a local file, as the svclog file doesn't include message payloads etc.

And then see if that gets us anywhere - if you have time to assist that would be helpful and I'll let you know when the test version of the languageserver is ready, but if not, totally understand!

Hi @FH-Inway -you should be able to download a zip containing a special build of the language server from here: https://github.com/dev-cycles/contextive/actions/runs/10017860097/artifacts/1721452354
It has detailed file logging (including json of protocol messages) to a date-rotating file in the same folder as the language server exe file itself.
Also, it no longer sends the window/showMessage message.
(From this build and this commit.)

Thanks, that was helpful. The good news, progress!

My branch shows the changes I made to get there. Some I took from your branch.
To get the result from the screenshot, I had to hardcode the full path to the definitions.yml file in the PathResolver.fs.
What I think is happening is that when it cannot determine the definitions.yml file, it has no content for the window/showMessage message, which then fails with the error. But if it has a file, it has content for the message and it works.
See also the Contextive.LanguageServer log20240720-Analysis6.zip from the run where I created the screenshot and compare it with log20240720-Analysis5.zip, where I had not changed the PathResolver.fs yet. Line 50 is the interesting one in both files.
Here is also the Visual Studio log file from the successful run:
VS58BA788C.LSPClient.Microsoft.VisualStudio.LanguageServer.Client.VSExtensibilityLanguageServerProviderClient.RLEX.zip
It looks to me like we have to teach the Visual Studio extension to provide the workspace/folder/file path context information to the language server so it can determine the definitions.yml. And if it cannot, some kind of error message to the user.
Some other notes (and a bit of a rant :smile: )
I had a hell of a time to get this running. First, I tried the Contextive.LanguageServer.exe from your build. Unfortunately, it did not create a log file. Not sure why, I ended up providing a fixed file path for the log file.
Which meant building my own Contextive.LanguageServer.exe. That was the start of the "fun":

First, it meant getting familiar with paket.exe (ah yes, another package manager, don't have enough of those already :wink:).
Once that was sorted out, my Visual Studio Code (for reasons that still elude me) decided to build the projects as .NET 8 projects (which worked for some reason :shrug:).
So then I started playing with that version, which worked to a point. But then I did "something" (probably building the core and language server projects with Visual Studio instead of Visual Studio Code) and from then on, it only built them as .NET 7.
That in turn my poc Visual Studio extension did not like. No matter what I tried, the breakpoints did not get hit and no log files were created. Finally, I saw that it was looking for a .NET 7 runtime in a folder where only a .NET 8 runtime was available (some Visual Studio directory). I'm guessing it has to do with how Visual Studio starts the extension debugging. Maybe Multi-level lookup is disabled is also to blame.
So then I upgraded core and language server to .NET 8 and it started working again.
From there to the screenshot was pretty straightforward.

So yeah, a bit of a learning curve for me there. I'm sure someone more familiar with F# and Visual Studio extension finds this amusing. Oh well, live and learn, I guess 😃

Wow, thanks so much, amazing work - so great to see the screenshot (although it would be nice if VS supported markdown 🤦)! And apologies for the frustrations (will address some below)!
Based on your experience, I have a few hypotheses - both the symptoms you saw - the absence of the logfile and being unable to find the definitions file - are due to lack of clarity of the 'current working directory', but different directories.
Logfile
The language server I sent you used a relative path to the logfile, so it would be located in the working folder at the time of invoking the language server.
I assumed it would be next to the exe file because I misread the invocation code as setting the working folder, but actually it's setting the full path of the filename.  So it's using the default working directory of %SYSTEMROOT%\system32. (If you take a look there, you might find some logfiles from your initial experiment).
I suspect if you set the WorkingDirectory explicitly (maybe to the solution folder location?), then the original LanguageServer I sent you would put the logfiles in that location.
Since the release build doesn't log to file normally, I'm not too worried about this, but good to note for future dev work against Visual Studio.
Definitions File
The language server defaults to a relative location from the 'workspace root', however based on the error message Error loading definitions: Invalid Path: Unable to locate path '.contextive/definitions.yml' as not in a workspace. no workspace root is defined.
The workspace root is supposed to be defined in the initialize message.
👉 ACTION: To help diagnose this, could you uncomment line 14 in Program.fs which will enable full logging of the protocol messages, and will tell us what Visual Studio is sending down with respect to workspaces or root paths.
For IDEs that don't supply a workspace root, Contextive requires the path to be configured explicitly, but since the workspace/configuration method also isn't supported, it has no chance to compute the location.
There has been some discussion about changing the configuration approach to make it editor agnostic and remove dependency on the workspace/configuration method... perhaps this is a catalyst to do the work to migrate to that approach, rather than finding a way to get Visual Studio to send the workspace root path.
Warning Message

What I think is happening is that when it cannot determine the definitions.yml file, it has no content for the window/showMessage message

While I get the hypothesis, I'm not sure this is the cause - if it can't find the file, then the window/showMessage is supposed to contain exactly the error message as you saw in the logs, so it shouldn't be null.  In fact, we don't normally send the window/showMessage if it does find the file - it's reserved for warnings such as unable to find the file or error parsing the file.
So this one is still a mystery, but given the low maturity of the visual studio LSP support, my feeling is probably a bug on that side, but happy to keep investigating as we do still need some way to signal issues to users.
Other Note / Rant Thoughts
Firstly, apologies for the hassle you had with this! As you can tell, this is a relatively early project, which has had limited community support so far, so I haven't invested heavily in supporting a variety of dev environments.  The DevContainer should create a useful build environment, but as it's a linux container, building the windows binary is more painful (but not impossible) so I can understand why you didn't use it.  I've also been experimenting with nix-shell, which might be a better cross-platform experience and enabling more IDEs (I use it for Rider, but it should make life easier for Visual Studio too).  This is a good prompt to both:

Provide better 'contributing' guidelines on how to get the dev environment working
Provide better guidelines on how to enable debugging of the language server from arbitrary IDEs
Add build steps and documentation for producing the language server for a variety of architectures in any given build environment

Regarding the .net sdk version issues - I doubt it's related, but for clarity, since you branched, I completed some work to bump contextive to .net8 which is now on the main branch.  The language server.exe I sent you was built with .net8 but it's a self-contained exe so it shouldn't impact the local sdk versions.  Since your branch was originally still .net7 VSCode starting to build them as .net8 is just as much a mystery to me! But I'm glad you got it sorted :)

Thanks for the extensive info. First of all, no worries about my frustrations, isn't that a developers daily business? :wink:
Ok, let me go through it point by point:
Logfile
Unfortunately, I did not find any log files in %SYSTEMROOT%\system32. I did not investigate further.
Definitions file
Here is a log with JSON formatting: log20240721-Analysis7.zip
Took me a bit to figure out where the additional information is. It seems to be mainly the scope field of the verbose messages and inside of that, the Params.
Viewing those is a bit awkward, since it is a JSON within a JSON within a JSON :smile:
I did that for one message manually: Params for Converting params for Request (2) initialize to OmniSharp.Extensions.LanguageServer.Protocol.Models.InternalInitializeParams.json
I then tried a few log viewers and Analogy.LogViewer produces a somewhat useful result. If there is a better way to view those logs, please let me know.

Anyways, looks to me like the rootPath and rootUri get provided. However, not sure if and how those are available and processed inside the contextive language server. I tried adding some debug log to the location where I think it gets the/a path from the configuration. But for me, the log just contains the value DidChangeConfigurationProvider. I think the line after that is the one where the Unable to get configuration from client! error in the logs comes from.
I did read a bit through the discussion on editor agnostic config files. Not sure I understand all aspects, to me, it looks like the language server would still need to know the root path of where to look for a config file.
Warning message
Since a successful run has no showMessage log, I agree with your reasoning. Did not look further into this.
Other notes
Again, don't worry about my rant/hassle, it's the good kind (as in "I'm motivated to learn how this works") :wink:

DevContainer: I like those when it comes to Github codespaces, but my attempts to use them for Windows development have not been very successful so far. And since building the language server locally worked out, I leave learning about that to my future self for now.
Prompts for improvement look good to me.
Thanks for the .NET 8 Update, I rebased my branch on that.

OK, great - now that we know it does supply the rootUri, it's possible to switch to using that.  I hadn't support it until now because it's been deprecated since Workspaces was introduced in 2018... so a bit surprising VS is still only offering it.
But I've added support for it here including unit tests.
I think the next thing that would be interesting to try is:

Explicitly set the WorkingDirectory when launching the LanguageServer process (e.g. here) to the solution folder location if possible, or some other writable location if not.
Use this build of the LanguageServer

While it does skip the window/showMessage notification, and has detailed logging activated, it otherwise is the same as the current main language server - specifically, it has no hardcoded paths for either logging or the workspace root.
If this works, then we'll try re-introducing showMessage and check that the exception there doesn't interrupt usage.
If that works, then it would be great to do a more comprehensive user experience check, specifically things like:

Does it still work if you open a solution file, or only if you open a folder?
Can we make it work in all file types easily or do we have to nominate file types?
Can we make the language server render a more visually appealing text if the client doesn't support markdown?
Does auto-complete work and insert completions as expected?

Then can make an assessment on if/when to launch to the VS marketplace :)
Thanks again, really appreciate your help with this!

Further to above, there is another change on my branch which only uses window/showMessage conditionally if the client advertises that it supports it.
This version of the language server can be downloaded here

Thanks!
I rebased my branch on your visual-studio branch and built the language server from there. See branch comparison.
Setting the working directory worked, see https://github.com/dev-cycles/contextive/commit/6b6fd7715fea279f28f1c7ba930e9c778a3b09cc
Regarding the more comprehensive user experience check:

Does not work when opening a solution, only if opening a folder :x: (have not yet looked at the differences in the logs)

log with folder: contextive20240722-Folder.zip
log with solution: contextive20240722-solution.zip

Seems to work in all file types ✅ See also https://github.com/dev-cycles/contextive/commit/46a7fd371fa904e0f44ed7a646468bb5afcd41ae

Maybe if the text is html instead of markdown? :x:
Auto-complete works ✅

Amazing progress, thank you!
I think at this point I'd be happy to put it on the marketplace with appropriate caveats, and then take it back to the MS team I'm in touch with to advocate for the necessary improvements on their end (support in solution mode, and markdown support).
Looking at the branch comparison, apart from the forced logging (and logfile name change) and some formatting changes, the language server is the same as the one in my branch.  I'll revert the forced logging and merge it to main with just the functional changes (support for clients that don't offer workspaces & avoiding errors in clients that don't offer showMessage). I use conventional commits to generate release logs, so I'd like to merge those independently to get them in the release notes.
So in preparation for creating a clean PR and merging it, could you please revert all those language server changes and create a PR that just includes the new visualstudio folder and associated files?
That last change we'll need to look at in prep for getting it into CI is clarity on embedding the language server into the solution so that it gets included in the vsix file and deployed with the installed extension.  If you are able to take a look at that, that would be incredible, but happy for it to be a separate PR, so we can distinguish the 'getting it working' PR and the 'getting it released' PR.

OK, those two changes are now in main - it would be great to see your visual studio extension works with the language server you can download from the latest main build

I rebased again on main and created a new branch visual-studio (not to be confused with your visual-studio branch), which I cleaned up. It now only has one conventional commit, which only contains the extension changes and no changes on the language server.
The extension from that branch works with the latest main language server, but... :smile:
I also tried embedding the language server into the extension solution by adding a reference to the language server project. Building works, all the language server stuff is added to the vsix. Well, almost all.
When running it, I get a message that the JSON-RPC connection was lost. Why? Windows event log tells me that it could not load Newtonsoft.Json, version <IP_ADDRESS> (note the version number).
The language server has Newtonsoft.Json 13.0.3 as dependency. The .dll is added just fine in the bin folder of the extension project. However, it is not added to the .vsix file or the folder that Visual Studio uses to run another instance of itself when debugging the extension.
My preliminary digging into this revealed that it may be related to Visual Studio having its own Newtonsoft.Json dlls and it wants to use those. See https://stackoverflow.com/questions/50003033/vsix-newtonsoft-isnt-in-package-vs15-5-suppress-package and https://github.com/JamesNK/Newtonsoft.Json/issues/2534
Also Newtonsoft.Json.dll identifies as <IP_ADDRESS> when it is actually 13.0.3? Not sure I understand that one: https://github.com/JamesNK/Newtonsoft.Json/issues/2662
If I redirect the extension to use the Contextive.LanguageServer.exe from the build directory (which has the 13.0.3 Newstonsoft.Json.dll) instead of the extension directory, it works.
This needs further looking into, I don't think we should release it without fixing it. Maybe something can be done with the extension manifest to include the .dll. While I understand that is not recommended, I believe this only applies for the Visual Studio extension itself. But since the language server is a separate component, it should be fine to use its own dll instead of the ones Visual Studio ships with.
Popup message in Visual Studio:

Windows event message:

Application: Contextive.LanguageServer.exe
CoreCLR Version: 8.0.524.21615
.NET Version: 8.0.5
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException: The type initializer for '<StartupCode$Contextive-LanguageServer>.$Contextive.LanguageServer.Program' threw an exception.
---> System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. The system cannot find the file specified.
File name: 'Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
at <StartupCode$Contextive-LanguageServer>.$Contextive.LanguageServer.Program..cctor()
--- End of inner exception stack trace ---
at Contextive.LanguageServer.Program.main(String[] argv) in K:\Repositories\contextive\src\language-server\Contextive.LanguageServer\Program.fs:line 35

On another note, I don't think the extension will be useful if it cannot support files opened from a solution. Solutions are the main working context in Visual Studio, unlike Visual Studio Code, where you often work within a folder context. A lot of functionality is lost in Visual Studio if no solution, but a folder is opened. I can't imagine it will get much adoption with that limitation.
On another another note :smile:, the extension is currently implemented in C#. I'd like to give it a go to implement it in F# and also add some tests to it similar to what was done for the Visual Studio Code extension.

Thanks again, @FH-Inway!
VS Solution vs Folder mode
You are 100% correct that it's far less useful if it only works in folder mode.
My motivation in launching it to the app store even in this state is twofold:

I get a lot of requests for support in VS.  With an extension in the marketplace, I can point to it and say 'it's here, it may not work how you want, here's how to advocate to MS to improve their support so it will work how you want.'
I have a line of comms to the MS team that is working on this - with it in the Marketplace I can more easily demonstrate to them how it works, why it would be beneficial, and how much interest there is in improving it.

I believe their justification is that the LSP is intended for unsupported languages -> unsupported languages wouldn't need solution mode -> no need to support it. However, as well as Contextive's use case, I think there are a number of polyglot solutions these days that would benefit from supporting additional language servers alongside the built-in language support offered in solution mode, and I hope I can make that case.
Build Process
Yes, apologies I should have made it clear - it was always my intention to re-use the pre-built language server and embed it as a resource in the extension, rather than have it re-built as a project reference in the extension solution. This is now the recommended LSP architecture, and it takes care of many issues - the ones you found (such as dependency conflict) but also frees us up to evolve our sdk version usage at different times, and ensures it's using an isolated, tested, immutable artefact for the language server component.
The github actions currently have a stage that prepare the language server and make it available as an artefact.  Successive stages can download that artefact to the appropriate location before running a script to build the vsix that will have it embedded.  I can take care of updating the github actions once the other parts are in place.
FSharp
I see you also like playing on hard mode 😎 - by all means, go for it, but also, I don't mind releasing an alpha version with what we have and migrating to FSharp later - totally up to you if you want to enjoy the challenge :)

@chrissimon-au Fair enough. I removed the changes on the main solution and also removed the language server project dependency from the Visual Studio extension project. See pr #70
@NatElkins Thanks for letting us know and the interest. Would you be interested in helping us test this Visual Studio integration?

Sadly I'm on a Mac 😅 .  But if I can get my hands on a Parallels installation through work I'll take a crack at it.

Hi, I've been hanging around in the background watching this unfold and I'm very happy to beta test, along with one or two members of our team 😄
Along the way we've been experimenting (only hacked together PoCs) with a Word (Office 365 really...) add-in and a browser (Edge) extension to provide the same function. Not sure we have the time to build out both though. Also, we are likely to want to pull from the SNOMED medical terms database for our development use case which will probably be outside of the useful capabilities of YAML as the terms run into the many thousands.
Let me know if we can help beta test. I'll speak to the team about the Word / Edge add-in and see if we can take these further.
Jim Deane

From: Nat Elkins @.>
Sent: Thursday, July 25, 2024 3:06 am
To: dev-cycles/contextive @.>
Cc: Jim Deane @.>; Mention @.>
Subject: Re: [dev-cycles/contextive] Support Visual Studio (Issue #28)
Sadly I'm on a Mac 😅 . But if I can get my hands on a Parallels installation through work I'll take a crack at it.
—
Reply to this email directly, view it on GitHubhttps://github.com/dev-cycles/contextive/issues/28#issuecomment-2249150921, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOVKMNLUC5IZQFYYT7IF63ZOBFPJAVCNFSM5NIHQVSKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRUHEYTKMBZGIYQ.
You are receiving this because you were mentioned.Message ID: @.***>

Thanks to testing volunteers! To be clear about limitations in the current version - it should be treated as an 'alpha' version only, for a few reasons:

The Visual Studio Language Server Extensibility model we use has some functional limitations, specifically:

No support when opening a solution file, only when opening a 'folder' (which restricts other language support for C#, projects etc.)
No support for markdown rendering in the hover text, leading to less pleasant to look at descriptive hover panels

The goal of releasing this alpha version is as a proof of concept and to demonstrate interest in these features to the MS team to advocate for improving support.
Stay tuned, we should have a vsix produced on the CI pipeline in the next 24-48 hrs that will be testable locally, and shortly after that a version installable from the VS extension marketplace.
Huge thanks to @FH-Inway for this work!! 😍

@jimdeane:

Along the way we've been experimenting (only hacked together PoCs) with a Word (Office 365 really...) add-in and a browser (Edge) extension to provide the same function.

Both of these have been on my longer term roadmap - knowing that there may be an application for them is definitely motivating! If you're able to open source the POCs you've done it might help accelerate, but stay tuned for work that will expand Contextive beyond the IDE into those locations.
Given the technical architecture of such things, it will likely require the establishment of a cloud service to host the terminology database - which might actually enable the volume of terms you're talking about with SNOMED.  (It will also support making the slackbot I've demo'd in a few talks more broadly available too.).
It's an open question how to get the benefits of having term definitions co-located and versions in the repo while getting the benefits of making the terms available in a broader set of user contexts.  I'll leave that discussion to another issue, though!

I think this extension/application has a lot of potential to improve code base understanding in an LLM world.

Alright, this has been fun. @chrissimon-au Thanks for the merge and the nice back and forth these last two weeks. Looking forward to seeing the alpha version of the extension on the marketplace.
@jimdeane Those PoCs for Office and browser sound very intruiging, would be great if you could share more about them. But yeah, let's do that in another issue or discussion. This one has gotten rather long :smile:

Looking forward to testing!
Re the Office / Browser extension PoCs, can we start another thread for that now??
Jim Deane

From: Florian Hopfner @.>
Sent: Thursday, July 25, 2024 4:29 PM
To: dev-cycles/contextive @.>
Cc: Jim Deane @.>; Mention @.>
Subject: Re: [dev-cycles/contextive] Support Visual Studio (Issue #28)
Alright, this has been fun. @chrissimon-auhttps://github.com/chrissimon-au Thanks for the merge and the nice back and forth these last two weeks. Looking forward to seeing the alpha version of the extension on the marketplace.
@jimdeanehttps://github.com/jimdeane Those PoCs for Office and browser sound very intruiging, would be great if you could share more about them. But yeah, let's do that in another issue or discussion. This one has gotten rather long 😄
—
Reply to this email directly, view it on GitHubhttps://github.com/dev-cycles/contextive/issues/28#issuecomment-2250685526, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOVKMPEIRDG5QWWUEB24ILZOEKVFAVCNFSM5NIHQVSKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRVGA3DQNJVGI3A.
You are receiving this because you were mentioned.Message ID: @.***>

New thread created here: #71

OK, for those interested in alpha testing, there is a vsix downloadable here produced by this github actions run (you can also download it from the list of artifacts on the run).
The downloaded file will be a zip - unzip it to get the vsix and then install by double clicking or using the Tools->Extension Manger in Visual Studio.
Unfortunately I don't have access to a windows box right now, so I'm not able to check that the vsix even installs correctly, but from visual inspection of its contents, it looks like it should be correct.
Appreciate your assistance!
To test:

Open a folder (not a solution)
ensure there is a file in .contextive/definitions.yml that contains a set of definitions - you could use some of these as a starter, or there is a sample file in the Usage Giude
Create another file - markdown, csharp, any kind should work.  Auto-complete should include the terms from the definitions file, and if you use one of the terms, then hover should show the hover panel with definitions.

I'm not sure if we've tested Visual Studio's ability to notify contextive of changes to the definitions file, so if it doesn't work first time, try re-opening the folder with the definitions file already in place.
For @FH-Inway - the language server is embedded in the vsix file - right beside the extension's dll - so it should find and start it properly, but if anything doesn't work, incorrect path to the language server exe is probably the first thing I'd try and check.

Works for me. Though I noticed a couple of things:

It does not seem to work for all types of files. In my case, it does not work with .txt, .md or .bat files. Files with the .yml and .cs extension do work. These needs more testing to find a pattern of why some file types do not work.
Changes of the definitions file are not picked up right away. Re-opening the folder picks up the changes.
While Visual Studio is running, no Contextive.LanguageServer process is listed in task manager. When Visual Studio is closed, most of the time (but not always), a Contextive.LanguageServer process is added in task manager. It seems no cleanup is happening of already existing processes. At the time I'm writing this, task manager lists 5 Contextive.LanguageServer processes, each with a different memory consumption of about 30 MB.

Although it's the older extensibility model, the only MS documentation on which LSP features are supported is here:
https://learn.microsoft.com/en-us/visualstudio/extensibility/adding-an-lsp-extension?view=vs-2019#language-server-protocol-supported-features
If that is still accurate in the new extensibility model, then window/showMessage should be supported, and workspace/didChangeWatchedFiles (which drives detecting changes to the definitions file) should also be supported.
Since both have not worked for us, perhaps we should assume that the support is not the same.  I'll see if I can get any further clarity on which LSP features are supported in the new extensibility model.

A few more updates after further investigation:
Leftover Contextive.LanguageServer.exe processes
In most other IDEs it's the language client's responsibility to stop the process.  In the rust example there's even a comment suggesting that VS will send the stop command and then dispose the process.
That said, there is no stop command, so I don't know how reliable this is. There are shutdown and exit messages that are supposed to control the sequence of language server graceful exiting.
From the example I can't see any other hooks in the language server provider for manually implementing the shutdown sequence.
I'll add this to the list I report to MS about.
Updating Definitions
This relies on didChangeWatchedFiles - I mentioned above that it is supposed to be supported, but I realised from reviewing the logs you sent earlier that while it is supported, it doesn't support 'dynamic registration'.
Dynamic registration means that it is configured by the language server after the initialization sequence.
Without dynamic registration, it means the client must decide to start watching files 'on it's own' which means it needs to know which files to watch, which couples the configuration resolution algorithm to the server.  (Which is why the LSP protocol authors no longer recommend that approach, amongst other reasons).
However, until the Visual Studio LSP implementation supports dynamic registration, as a pragmatic workaround, we can try and work out how to setup file watching in the client at least with the default definitions file location.
Next Steps
I will prep an update to the language server so that we can turn on debug logs with an environment variable and without a rebuild - then we can get some more diagnostics for more of these situations.
I've reached out to the MS team for guidance on the 'solution mode' and 'markdown' questions - when I get a reply, I'll find out where we can report issues like this officially/publicly and ask about the shutdown/exit issue.

Have had a reply from MS.  Their preferred reporting approach is here: https://developercommunity.visualstudio.com/VisualStudio?q=lsp
I've also found https://github.com/microsoft/VSExtensibility which might have some helpful info in the future.
My plan now is to report each issue we find on the community site and cross-link it to a specific contextive issue so we can track them independently and get this current ticket closed off once it's launched to the marketplace.
To summarise issues I'll be reporting:

feature request: work in solution mode
feature request: support markdown
bug: shutdown/exit sequence not correct
bug: .* content type doesn't work in all files
feature request: support dynamic didChangeWatchedFiles registration

Released on v1.12.0
Now available on the VS Marketplace here: https://marketplace.visualstudio.com/items?itemName=devcycles.ContextiveVisualStudio
Since publishing, I've realised that the VS extension publishing guidelines are missing some important steps, including nomination of which VS editions this is valid for.  It's possible that this version will only work with Visual Studio Community edition.
I'll look to mark it as supporting more editions in the next release.
Also note that I'm aware that due to the many usability issues at the moment, I don't expect this will suit all cases, but now I have a CI pipeline for publishing and an extension in the marketplace, I hope this will be a baseline to improve on as VS improves their language server protocol support.

Nice to see it out there!
The ReadMe should also updated, it currently has the information for the VSCode extension.

The readme was updated to be visual studio specific, except I missed the installation instructions link 🤦
Already sorted on main will get picked up in the next update.


[BUG] Send POST req with empty Content

Describe the bug
i am trying to send a post request, with empty postdata
the app is able to send the request, but without Content-Type

when i add postdata, then the CT is sent with  the headers

""the bug is in this peace of code"" i guess

and for writing CT in LS, this part is making the bug
try to write each one separately

Version

Version [e.g. 1.1.2]

It was never meant to work because Extreme.NET does not allow for empty POST data. I will have to fix it inside the library before even fixing it in RuriLib.

ok thank you

https://github.com/openbullet/openbullet/commit/be1bbc76c87abc6a377e19d166887df6437e2362


Fails on macOS

I just tried the tool out and it doesn't work for me:
project-rs on  main [?] is 📦 v0.1.0 via 🦀 v1.51.0 took 12s
❯ cargo msrv
Determining the Minimum Supported Rust Version (MSRV) for toolchain x86_64-apple-darwin
Using check command cargo build --all
   Done red light for 1.51.0      █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 00:00:01
   Failed check command cargo build --all didn't succeed
Unable to find a Minimum Supported Rust Version (MSRV).

If you think this result is erroneous, please run: `cargo build --all` manually.

If the above does succeed, or you think cargo-msrv errored in another way, please feel free to
report the issue at: https://github.com/foresterre/cargo-msrv/issues

Thank you in advance!

Running cargo check works and the exit code is 0.
rustc: rustc 1.51.0 (2fd73fabe 2021-03-23)
macOS: Big Sur 11.2.3 (20D91)

Hi, thank you for taking the time to report this issue!
I've had a look, but am so far unable to reproduce it (it unfortunately doesn't help that I've no computer with macOS).
I've been running a few tests in a different repo on the github actions CI, but am not able to produce the same error.
I used the following source code: lib.rs which gates on Rust 1.48.0; and produces the following MSRV result on macOS:
https://github.com/foresterre/cargo-msrv-macos-testing/runs/2284768412?check_suite_focus=true#step:10:8 (1.48.0)
A few ways to further debug this are:

I see you are using cargo check while the tool tried building with cargo build --all, could you run cargo build --all on your repo too?
If you run rustup toolchain list, what output is produced? (^1)
If you are willing to, you could install the latest development version with cargo install cargo-msrv --git https://github.com/foresterre/cargo-msrv.git --branch main and try it again
If you are willing to, and your repo is public, you could share your repo so I can run the tool on that
If you are willing, you could clone my test repo and try running cargo msrv on that; it should output 1.48.0 as MSRV
I could add more logging (I removed logs earlier, but wanted to add them back anyhow; this will have to wait until late next week though)

^1 sample output of rustup toolchain list for current device:
stable-x86_64-unknown-linux-gnu (default)
nightly-2020-09-12-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu
1.34.0-x86_64-unknown-linux-gnu
1.35.0-x86_64-unknown-linux-gnu
1.36.0-x86_64-unknown-linux-gnu
1.37.0-x86_64-unknown-linux-gnu
1.38.0-x86_64-unknown-linux-gnu
1.39.0-x86_64-unknown-linux-gnu
1.40.0-x86_64-unknown-linux-gnu
1.41.0-x86_64-unknown-linux-gnu
1.41.1-x86_64-unknown-linux-gnu
1.42.0-x86_64-unknown-linux-gnu
1.43.0-x86_64-unknown-linux-gnu
1.43.1-x86_64-unknown-linux-gnu
1.44.0-x86_64-unknown-linux-gnu
1.44.1-x86_64-unknown-linux-gnu
1.45.0-x86_64-unknown-linux-gnu
1.45.1-x86_64-unknown-linux-gnu
1.45.2-x86_64-unknown-linux-gnu
1.46.0-x86_64-unknown-linux-gnu
1.47.0-x86_64-unknown-linux-gnu
1.48.0-x86_64-unknown-linux-gnu
1.49.0-x86_64-unknown-linux-gnu
1.50.0-x86_64-unknown-linux-gnu
1.51.0-x86_64-unknown-linux-gnu

I will close this issue as "can not reproduce". Feel free to re-open or open a new issue in case you think its not solved.


Swift - How to install?

Hi, I am a swift newbie and I am confused by the pod file thing.
Here is what I did:

In terminal, cd to my project folder, "pod init"
In the newly created pod file, added the "use framework..." under "target 'project name' do section
In terminal "pod install"
In my viewcontroller, "import SwiftCharts" - failed and error msg is "No such module"
Could you please help me see what went wrong here? Thanks!

Can you please provide the full content of your podfile and your Xcode version?

Closing due to inactivity, if you have further questions/issues, feel free to comment.


show promt dialog over mouse cursor

Issue Type: Bug
show promt dialog over mouse cursor
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:32:10.090Z)
OS version: Linux x64 5.4.0-64-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz (4 x 2086)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: unavailable_offvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 0, 0

Memory (System)
7.66GB (0.35GB free)

Process Argv
--no-sandbox --unity-launch --crash-reporter-id 9cc3893b-361e-4ca7-8513-c98a43defcee

Screen Reader
no

VM
0%

DESKTOP_SESSION
unity

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
unity

XDG_SESSION_TYPE
x11

Extensions (4)

Extension
Author (truncated)
Version

vscode-markdownlint
Dav
0.38.0

prettier-vscode
esb
5.8.0

prisma
Pri
2.16.0

markdown-preview-enhanced
shd
0.5.16

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30211402
vstry914:30250197
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt600cf:30251589

Every time if you want to change some names the dialog will cover that name under your mouse pointer.
the line where MemoryStore residents is where I want to add some one imports.
but when ever i move mouse over that line, a dialog is preventing me from change that line.

/needsMoreInfo
A bug like this got fixed in 1.53 but you haven't said what version you are running, nor on what platform.

Does this still happen to you in 1.53?

it seems this bug is occasional.
It is not shown again even i use version 1.52.1 now.


.NET Observability with Open Telemetry – ECS Application service Error

Hi Team,
I have recently deployed the solution below regarding .NET Observability with Open Telemetry – Part 1 Metrics using Amazon Managed Prometheus and Grafana which was published in below URL

As part of setting up the components I have updated target group ARN in sample-app-service.json and deployed the app using the below command
aws ecs create-service --cluster BlogCluster --cli-input-json [file://sample-app-service.json](file:///sample-app-service.json)
But It seems that there is an error and  ECS service is not deploying  as expected and when I looked at logs I can see the below error
{"error":{"root_cause":[{"type":"security_exception","reason":"no permissions for [indices:data/write/bulk] and User [name=arn:aws:iam::111********:role/Dotnet-Observability-ECSTaskRole-u1iW8b4YaX9r, backend_roles=[arn:aws:iam::111*****:role/Dotnet-Observability-ECSTaskRole-u1iW8b4YaX9r], requestedTenant=null]"}],"type":"security_exception","reason":"no permissions for [indices:data/write/bulk] and User [name=arn:aws:iam::111*******:role/Dotnet-Observability-ECSTaskRole-u1iW8b4YaX9r, backend_roles=[arn:aws:iam::11177******:role/Dotnet-Observability-ECSTaskRole-u1iW8b4YaX9r], requestedTenant=null]"},"status":403}

Hi Vin,
This is fixed. The container image architecture was built on arm64 rather than amd64. The change was pushed to the public image. Please force a new deployment.


Does not validate from external schema

When I try to compile the attached schema comment.schema.json, it fails with error message
schema comment.schema.json is invalid
error: can't resolve reference user.schema.json from id #

Both comment.schema.json and user.schema.json are located in the same directory, where also ajv is invoked.
The same schema validates with jayschema (which is what is to be expected because the respective $ref value does not contain any # character, so it does not refer to the current schema document).
I also tried "./user.schema.json" with the same result: does not validate in ajv but it does in jayschema.

user.schema.json
{
  "title": "User Object",
  "description": "User Object used in FCT website app",
  "definitions": {
    "integer": {
      "type": "number",
      "multipleOf": 1
    },
    "identifierInt": {
      "type": "number",
      "multipleOf": 1,
      "minimum": 0
    }
  },
  "type": "object",
  "required": [
    "id",
    "alias",
    "role",
    "avatar"
  ],
  "properties": {
    "id": {
      "description": "Source ID of the user (numeric)",
      "$ref": "#/definitions/identifierInt"
    },
    "alias": {
      "description": "User alias to be displayed on the website",
      "type": "string"
    },
    "role": {
      "description": "User role in the FCT site, in the format for display on the website",
      "type": "string"
    },
    "avatar": {
      "description": "absolute or relative link to user's avatar image (usable in <img src=...> attribute)",
      "type": "string",
      "format": "uri"
    }
  }
}

comment.schema.json
{
  "title": "Comment",
  "description": "Comment object schema",
  "definitions": {
    "integer": {
      "type": "integer",
      "multipleOf": 1,
      "minimum": 0
    }
  },
  "type": "object",
  "required": [
    "id",
    "user",
    "text",
    "datetime"
  ],
  "properties": {
    "id": {
      "description": "Source identifier of the comment item (database table key)",
      "$ref": "#/definitions/integer"
    },
    "questionId": {
      "description": "Source identifier (database key) of the related question",
      "$ref": "#/definitions/integer"
    },
    "repliesTo": {
      "description": "Source identifier of the comment being replied to",
      "$ref": "#/definitions/integer"
    },
    "user": {
      "description": "User object containing data of the user who entered the comment",
      "$ref": "user.schema.json"
    },
    "text": {
      "description": "Text of the question",
      "type": "string"
    },
    "datetime": {
      "description": "Question timestamp (entry time)",
      "type": "string",
      "format": "datetime"
    }
  }
}

ajv-cli does not look up files on the file system unless you tell it about them - you need to use -r option.
What is the command you use to compile schema?

C:\DEV\_FKT_\site\schemas>ajv compile -s user.schema.json
schema user.schema.json is valid

C:\DEV\_FKT_\site\schemas>ajv compile -s comment.schema.json
schema comment.schema.json is invalid
error: can't resolve reference user.schema.json from id #

as I wrote, you need to use -r option:
ajv compile -s comment.schema.json -r user.schema.json

and user.schema.json needs to have id attribute.
Ajv itself allows adding schema id as a second parameter of .addSchema method, but ajv-cli only supports id attribute as part of the schema.

I understand that this is not a feature of the software, but I wonder what is then the meaning of having command line automation tool and $ref references if I have to find and declare all external schemas manually...
Jayschema is much better for model validation, unfortunately a little bit out of date.

You can -r the whole folder using glob patterns


Client Allocation Request for: chaoscube

Client Allocation Questions
Core Information

Name: chaoscube
Website / Social Media: https://www.chaoscube.co.kr/
Region: Asia excl. Greater China
DataCap Requested: 1TiB
Addresses to be Notarized: f1cc32ipyqunh53ycjhi7bp65zz4qjeo6z27uzkly
Notary Requested: rayshitou

@seunghyonpark Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

No answer for too long.
Please reply quickly.

@seunghyonpark Thanks for your application. Please answer the following questions to let me know you and your company.
1.What's your name and your position in your company?What's your company's business?
2.Could you show me your company's business license? And please show me your company searching consequence in the local business license searching website.
3.Have you/your company ever used cloud? Which platform do you use? What's your usage volume and frequency? Could you please show me your cloud usage evidence?

@seunghyonpark Thanks for your application. Please answer the following questions to let me know you and your company. 1.What's your name and your position in your company?What's your company's business? 2.Could you show me your company's business license? And please show me your company searching consequence in the local business license searching website. 3.Have you/your company ever used cloud? Which platform do you use? What's your usage volume and frequency? Could you please show me your cloud usage evidence?

1.What's your name and your position in your company?What's your company's business?
My name is Wayne Park. I am business developer in my company. And My company is game community operator.
2.Could you show me your company's business license? And please show me your company searching consequence in the local business license searching website.
korea business license
https://cdn.discordapp.com/attachments/896645847494828064/907553161592598578/20211109_175203.jp
korea business license searching website:
https://teht.hometax.go.kr/websquare/websquare.html?w2xPath=/ui/ab/a/a/UTEABAAA13.xml
3.Have you/your company ever used cloud? Which platform do you use? What's your usage volume and frequency? Could you please show me your cloud usage evidence?
We didn't use cloud. But We plan to use AWS cloud.

Nice! Please let me know:
1.What kind of data do you want to store and how much?
2.Could you please send me some demos of your data?
3.Do you agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner's terms of service?

Nice! Please let me know:
1.What kind of data do you want to store and how much?

We are servicing community service for diablo game users and want to save the image contents of diablo game asset in IPFS. An we are planning video service for diablo game users guide.
2.Could you please send me some demos of your data?

image contents of diablo game asset
https://board.chaoscube.co.kr/itemR/u.asp
users guild
https://www.youtube.com/watch?v=quAQuF1DLj4

3.Do you agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner's terms of service?
Yes, We agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner's terms of service.

1.What kind of data do you want to store and how much?
We are servicing community service for diablo game users and want to save the image contents of diablo game asset in IPFS. An we are planning video service for diablo game users guide.
2.Could you please send me some demos of your data?

image contents of diablo game asset
https://board.chaoscube.co.kr/itemR/u.asp
users guide
https://www.youtube.com/watch?v=quAQuF1DLj4

3.Do you agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner's terms of service?
Yes, We agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner's terms of service.

Okey. About the allocation of DataCap:
1.How many miners do you want to store your data to? How much data for each miner?
2.What method/tool will you use to insperct miners? Which aspect of miners will you inspect?
3.Will you record your allocation decision in public? Which platform will you use?
4.Have you ever allocated before? If yes, how did you do when you were questioned? Any links?


Upgrade micrometer version

Supersedes #1013

Can you also update the main README?

Yeah, and I'm noticing there's also a test version that needs update. I'll get that too.


When minting a token for the 1st time the overlays stack

Thanks for filing a bug report :-)
Steps to Reproduce

Connect to new hub
Mint a token

Expected Result

Minting should be effortless

Actual Result
When moving the cursor I encounter several tooltips (eg from the TTT token address)
The minting tooltip might get lost in translation

Additional Infos (Optional)
- Browser & version
- Browser console errors
- Device / OS

I would be happy to get rid of all those tooltips or at a bare minimum remove the delay.

Duplicate of #2026


"Cannot find module" Error when using react-quill

Description
I got the following error in the browser console when using react-quill:
Uncaught Error: Cannot find module 'react-dom/server' from 'react-quill/src/toolbar.js'

Actual behavior
You can reproduce the error with https://github.com/ubicast/brunch-test
Environment

Brunch: 2.8.2
Node: 5.4.1
NPM: 3.3.12
Operating system: Mac OS X 10.9.5

package.json contents
https://github.com/ubicast/brunch-test/blob/master/package.json
brunch config contents
https://github.com/ubicast/brunch-test/blob/master/brunch-config.js

This may be related to this issue: https://github.com/facebook/react/issues/8556
It also has to do with another React-related module trying to load a react-dom module in a brunch environment


useSyncExternalStore is undefined in webpack production mode

What version of React, ReactDOM/React Native, Redux, and React Redux are you using?

React: 18.2
ReactDOM/React Native: 18.2
Redux: 4.2
React Redux: 8.0.5
webpack: 5.38.1

What is the current behavior?
I am getting an error when trying to build my app in webpack production mode. Just set mode: 'production'. The error began to appear after updating the library from version 7.2.9 to 8.0.5
What is the expected behavior?
Application created successfully
Which browser and OS are affected by this issue?
Ubuntu 22.04.2 LTS
Did this work in previous versions of React Redux?

[X] Yes

That sounds like an issue with your build setup somehow.  useSyncExternalStore is both provided by React 18, and also filled in by the use-sync-external-store package if it doesn't exist (React 16 and 17).  React-Redux just imports it.

The strange thing is that in the "development" mode everything works fine, if you change it to "production", the application breaks. Same configuration for different "mode"

Still, for one useSyncExternalStore is a React hook, and apart from that without a reproduction we cannot do anything about it - sorry.


Allow can_can_action and pundit_role to cause NotAuthorizedNodeType to pass

This adds in a node matcher looking for can_can_action or pundit_role to be called on an object implementing GraphQL::Types::Relay::Node.  This appears to be the minimum requirement to add in pundit or cancancan auth to a GraphQL type.
closes #140

Hey hey, another rubocop offence to fix and we're good to go :)