Migrate from WSC

Could you please open a new PR on kzahel/web-server-chrome that does the following:

Add a react UI card (like you already did on #264) that says "Chrome apps are going away! Web Server for Chrome is now a standalone program: https://simplewebserver.org"

Make the link text say "https://simplewebserver.org", but have the link actually go to https://simplewebserver.org/wsc.html
If possible, don't show this message to users on Chrome OS

Update README.md to add the same message to the top of it.

Please make a separate PR with only these changes, because it will make it much easier for him to merge it.
Once I finish with the initial release, and you create the PR, then we can ask him if he could merge it and do a release on the chrome web store.

Sounds good. Ill work on this when I get a chance (should be tomorrow but that may change)

@ethanaobrien Would be great if you could do this soon. I'm working on the mac app store version (first submission got rejected), and hoping to have the initial release totally done in the next few days...

I should be able to do this today. The last time I sat down to do this, I couldn’t figure out the thing with the branches, so I plan to just dust off this other old GitHub account I literally never use and submit the pr there.

You should be able to create a new branch on your own fork of the project. You can then submit a pr from that branch, and the pr will be whatever is different between it and the master branch of the original repo. So you should create the new branch based on the original version of the original repo, before any changes you made for another pr.

I thought about doing that, but wouldn’t it still merge the 180 commits I have?

Not if you create a separate branch based on an earlier commit before your changes.

I didn’t know you could do that. Would I just find the last commit made when I cloned it and clone the branch from there?

Nevermind. I managed to clone it. Thank you! I didn’t know you could do that

On your fork of the repo, you can

View the commit history

Click the "browse the repository at this point" button the newest commit that wasn't yours

Make a new branch from that point

@terreng https://github.com/kzahel/web-server-chrome/pull/304

Great! Still working on the macOS app store release. Two rejections now. Hopefully I'll work it out soon.


'hash_value': identifier not found

This error occurs both in MSVC and in GCC, just with slightly different error messages.
See https://github.com/boostorg/boost/issues/991 for more details.
This can be fixed by adding
#include <boost/container_hash/hash.hpp>
inside string_view_base.hpp.

Mmm... Then Boost.URL would depend on ContainerHash.
The problem here is that you're using a Boost release where hash_value had already been removed from core::string_view but hasn't been removed yet from Boost.URL.
The problem should have been fixed already since https://github.com/boostorg/url/commit/428ea43f40790b84c59b0792fe2e8abccdf2f558 has been merged in master.

Thanks. This issue is still somehow present in Boost master though as shown in the linked ticket?

Have you tested this more recently? The issue is from 3 days ago and the develop branch has been merged to master yesterday.

Seems to be working fine now on the same codebase as the OP, thanks.


resource genesyscloud_tf_export >> replace_with_datasource = ["genesyscloud_group::group"] fails

I am using the example described at https://registry.terraform.io/providers/MyPureCloud/genesyscloud/latest/docs/resources/tf_export#example-usage
and the output is:
genesyscloud_tf_export.export: Creating...
│ Error: failed to get page of journey action maps error: API Error: 403 - Unable to perform the requested action. You must have at least one of the following permissions assigned: [journey:actionmap:view] (c5fad4cb-d540-4913-be4a-761b3dec1281)
│ To continue exporting other resources in spite of this error, set the 'log_permission_errors' attribute to 'true'
│   with genesyscloud_tf_export.export,
│   on main.tf line 41, in resource "genesyscloud_tf_export" "export":
│   41: resource "genesyscloud_tf_export" "export" {
│{"resourceName":"genesyscloud_journey_action_map","method":"GET","path":"/api/v2/journey/actionmaps","statusCode":403,"errorMessage":"API
│ Error: 403 - Unable to perform the requested action. You must have at least one of the following permissions
│ assigned: [journey:actionmap:view]
│ (c5fad4cb-d540-4913-be4a-761b3dec1281)","correlationId":"c5fad4cb-d540-4913-be4a-761b3dec1281"}
In fact, the "[journey:actionmap:view]" permission does not exist in my organization, but I have enabled all permissions on "journey" for this OAuth user.
I am using  terraform - v.1.8.5
terraform {
required_providers {
genesyscloud = {
source = "MyPureCloud/genesyscloud"
version = "1.40.1"
}}}
If I comment the line:
enable_dependency_resolution = true
the error message changes to "workitems":
genesyscloud_tf_export.export: Creating...
│ Error: Failed to get task management worktype error: failed to get worktypes: API Error: 403 - Unable to perform the requested action. You must have permission workitems:worktype:view in at least one division. (c5a19e70-2faf-4e32-a61c-12368e32676b)
│ To continue exporting other resources in spite of this error, set the 'log_permission_errors' attribute to 'true'
│   with genesyscloud_tf_export.export,
│   on main.tf line 41, in resource "genesyscloud_tf_export" "export":
│   41: resource "genesyscloud_tf_export" "export" {
│{"resourceName":"genesyscloud_task_management_worktype","method":"POST","path":"/api/v2/taskmanagement/worktypes/query","statusCode":403,"errorMessage":"API
│ Error: 403 - Unable to perform the requested action. You must have permission workitems:worktype:view in at least one
│ division. (c5a19e70-2faf-4e32-a61c-12368e32676b)","correlationId":"c5a19e70-2faf-4e32-a61c-12368e32676b"}
In fact, my organization does not have any workitem permissions available in the permissions tab.
It appears this resource is looking for resources not enabled in my organization.

Hi @juliomasuda
Have you tried using the log_permission_errors field? This should tell the exporter to resume in spite of permissions errors.
-Charlie

Hi @charliecon,
After hours of studying this subject and several attempts I managed to achieve my goal.
Anyway, this usage example didn't work for me, maybe it should be updated for other people to use.
After hours studying this subject and several attempts I managed to achieve my goal.
Anyway, this usage example didn't work for me, maybe it should be updated for other people to use.
Regardless, I appreciate your comment.


[infra] Coverage issues

Now that we have added coverage from multiple workflows, Coveralls is forgetting the coverage from other workflows.

FFIgen CI ran last:

This is a reintroduction of https://github.com/dart-lang/native/issues/10:

It combines coverage from jobs from a single workflow but not jobs from separate workflows.

Secondly, Coveralls doesn't seem to find the source file locations:

We should either see if we can fix the setup for Coveralls, or switch to CodeCov (https://github.com/dart-lang/native/issues/70#issuecomment-1610097510).
cc @HosseinYousefi @liamappelbe

The source not available problem might be because you have not signed in?

The source not available problem might be because you have not signed in?

Thanks!
I wonder why one needs to be signed in to see the source code of a public repo? 🤔

I wonder why one needs to be signed in to see the source code of a public repo? 🤔

I had wondered the same before! Btw the PR doesn't seem to work, I also pushed some code to trigger jnigen's CI as well, but coverall still only shows ffigen's coverage.

The flag name seems to be ignored for ffigen: https://coveralls.io/builds/64057741
But then works fine for jnigen: https://coveralls.io/builds/64057335
The only difference I can see is parallel: true and then a separate call to finish the coverage. That should not influence it.

It looks like coverage is now working as expected: https://github.com/dart-lang/native/pull/819#issuecomment-1820441128


createTexture2d - specify texture mip-maps count?

Hi!
I'm working with some texture atlasing, and I ran into a problem with mipmaps.
I'm limited to only 4 mipmaps, and here is my question:
Can I create 2D texture with specified mips count?
If atm it is not possible, could you add API for that?
eg.:
TextureHandle createTexture2D(
		  uint16_t _width
		, uint16_t _height
		, uint8_t _numMips // <--- here
		, uint16_t _numLayers
		, TextureFormat::Enum _format
		, uint32_t _flags = BGFX_TEXTURE_NONE
		, const Memory* _mem = NULL
		);

Thanks : >

Is there any reason not to use full mipmap chain? After 4 mipmap levels your picture will be super small anyway. And if you're sure your rendering doesn't need lower mipmaps then just create texture without data but with specifying mipmaps, and update only needed mipmap levels.

Ok, I'll try to do that.

Just to clarify why API has bool for mips - API reflects what HW expects, only full mip chain or no mip chain.

So, I tought about this and nope, I can't do anything(without giving the needed count of mips) because it's atlas.
Look, I have atlas of size 1024x1024, and all elements has 32x32 size(it's mip0) and it need's in total 11 mipmaps.
So, let's make some mips, the lower mip will be 512x512, so elements are 16x16, it's expected(it's mip1) etc.
And it will look like this:
mip0 - 1024x1024, elem: 32x32 - OK
mip1 - 512x512, elem: 16x16 - OK
mip2 - 256x256, elem: 8x8 - OK
mip3 - 128x128, elem: 4x4- OK
mip4 - 64x64, elem: 2x2 - OK
mip5 - 32x32, elem: 1x1 - 'OK, it's one pixel per element'
mip6 - 16x16, elem: 0.5x0.5 - Not OK, all my point sampling will fail as the elements will be bleeding.
...
mip10 - 1x1, elem: WTH - Totaly Not OK
So, as you can see, I can't do anything without making the mip5 as last.
Probably I will patch some bgfx code for my own usage, but still some builtin support would be cool as there may be more and more devs having same problem as me.

What do you trying to achieve?
If you really want to control texture LOD, write shader that will limit LOD while sampling texture.

I'm writing voxel terrain rendering (let's say, Minecraft-like), and I need the rendering to be really fast.
So, as mip6-mip10 don't need too much memory, I think I can try to do something with sampling lod (went out of my mind).
I'll close the issue now.
And yeah, thanks!


fix deprecated scope delim in arg cmd

fix the warning:
The '%' scope delimiter in 'Arguments' commands is deprecated, use '%_'
instead (available since 8.19). The '%' syntax will be reused in a future
version with the same semantics as in terms, that is adding scope to the
stack for all subterms. Code can be adapted with a script like: for f in
$(find . -name '*.v'); do sed '/Arguments/ s/%/%_/g' -i $f ; done
[argument-scope-delimiter,deprecated-since-8.19,deprecated,default]

Thanks for pointing this out! This would break compatibility with Coq < 8.19. I'd prefer to simply remove the entire Arguments command. The P argument is already being parsed in bi_scope based on the type.


"merge" related tests into one

Sometimes, parametrized tests have very similar or the same body. We'd like to merge these tests into one.
For example:
https://github.com/rwijtvliet/portfolyo/blob/6dc1bd514d33c73551685be08a3fa180d306678c/tests/tools/test_wavg2.py#L755
Here are 3 tests (test_wavg_values2d_weights0d, ..1d, and ..2d) that are very similar and could be merged into one, if someone knows, how. I've tried it in the function test_wavg_values2d, but that's not working

Might be a good first issue for Marc. @Pizza2Pizza, maybe you could ask him? :)


Add HEIC support for iPhones

I added this package to core packages as I believe that without it, significant functionality is lost (no photos taken on an iPhone using the default HEIC format can be uploaded). The package is also < 30Mb so it's pretty light weight.

I'm not entirely convinced this should be a core package, if it's only needed for one specific format.
Also, wouldn't the libheif1 package suffice? The one you added (libheif-examples) seems to include example applications, which I don't think would be necessary. Not sure what the size difference would be, though.
I'll need to find some sample HEIF images and do some testing.

Hmm... I will do some testing with libheif1 but it does seem like it would cut it.
As for it being a core package... I could add this to optional and a note specifying that most photos from an iPhone would not work without this package.


DexieCloud - initial sync not working

Initial sync after invitation has issues.
To reproduce:

ToDo sample
empty database
login Alice on Browser 1
login Bob on Browser 2
create AliceList on Alice
create AliceItem on Alice
invite Bob
accept invitation on Bobs side
complete AliceItem on Alice side -> not synced!
uncomplete AliceItem  on Alice side
complete AliceItem on Bobs side -> not synced!
logout Alice
logout Bob
login Alice
login Bob
two way sync works now

Thanks for a nice repro! I got a similar report from another customer. It's probably due to the rewrite of these stuff I did for a few weeks ago. Hope to get time to dive into this next week at latest (I'm at the moment in the end of the tunnel of PR #1718)

Hi! I've finally been able to following your steps after a few bug fixes having been done on dexie optimistic updates features. The todo-list sample is now on<EMAIL_ADDRESS>with the latest fixes and following your repro steps works now without any issues. Don't know exactly where the issue was but it could have been related to cache/optimistic updates.
I did follow the repro exactly on various combinations of browsers:

Alice on desktop chrome app. Bob on chrome with different profile
Alice on Safari. Bob on Chrome.
Alice on Chrome. Bob on Safari.

It seems very stable and fast right now with<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>The deployed sample app at https://dexie.github.io/Dexie.js/dexie-cloud-todo-app/ has the latest dependencies and been redeployed recently.
If you'd have any chance to verify it from your side, please do. Should there be anything I've got wrong feel free to reopen the issue!


Add Synapse Integration test, Update Github CI

Addition of main2.cwl, which tests the functionality of testing using synapse downloads
Updated deprecated command in the Github CI

My hands are full with urgent work, so I defer to @tthyer on this. If you insist on getting my review, just request it, but it'll have to wait until later next week.

@wpoehlm I don't mind adding this; I had previously created the integration test example in a branch, ci_integration_test_example, as indicated in the README, but I see how that could be easy to miss. Please take a look at whether there are any significant differences between your changes and my branch; if not, please feel free to merge what you've done. Please also update the README -- we should remove my branch and indicate that the new cwl exists to demonstrate the integration test.

Sorry for the confusion, I used your ci_integration_test_example branch as the starting point, just didn't want to work directly on someone else's branch. Will delete that branch after merging here


Support a --yes option to answer "yes" to all queries

At the moment we query interactively with a y/N prompt to determine if the user wishes to submit a transaction to the network. To facilitate scripting solutions, we should allow a --yes option that assumes the answer is yes to all such queries.

The send command already has this functionality:
Sends a signed message or a set of messages

USAGE:
    quill send [FLAGS] <file-name>

ARGS:
    <file-name>    Path to the signed message

FLAGS:
        --dry-run    Will display the signed message, but not send it
    -h, --help       Prints help information
    -V, --version    Prints version information
        --yes        Skips confirmation and sends the message directly


Encrypt the AWS S3 Bucket and the DynamoDB Lock Table of the TF State

Is there a way within Terragrunt to encrypt the whole S3 bucket where the TF state is preserved and the DynamoDB table where the lock of the state is stored?

PR Created - https://github.com/gruntwork-io/terragrunt/pull/644

PR Created re enabling AWS S3 bucket access logging - https://github.com/gruntwork-io/terragrunt/pull/645.

Fix with: https://github.com/gruntwork-io/terragrunt/pull/645 and https://github.com/gruntwork-io/terragrunt/pull/647


Use individual pods other than init containers

As part of #6 now the steps are running inside a container rather than a init containers. We can give multiple commands to a step. All the commands in a step will run parallel (default container execution model).

done as part of #7


Docker Deploy

Proposed Changes
Use GitHub environment for Docker deploy token

Merged https://github.com/ockam-network/ockam/pull/1771


Add/remove npm package dependencies

CI on master is falling over after updates to plotly.

Codecov Report

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

@@            Coverage Diff             @@
##           master    #8792      +/-   ##
==========================================
+ Coverage   58.07%   58.36%   +0.28%
==========================================
  Files         526      526
  Lines       26827    27155     +328
  Branches     4040     4035       -5
==========================================
+ Hits        15581    15848     +267
- Misses      10389    10449      +60
- Partials      857      858       +1

Impacted Files
Coverage Δ

src/client/testing/serviceRegistry.ts
49.09% <0%> (-42.14%)
:arrow_down:

src/client/datascience/jupyter/jupyterUtils.ts
64.7% <0%> (-18.63%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-11.77%)
:arrow_down:

src/client/api.ts
80% <0%> (-11.67%)
:arrow_down:

src/client/providers/providerUtilities.ts
83.33% <0%> (-3.34%)
:arrow_down:

src/client/testing/codeLenses/main.ts
40% <0%> (-2.86%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.36% <0%> (-2.28%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0%> (-1.57%)
:arrow_down:

src/client/common/process/proc.ts
14.81% <0%> (-0.75%)
:arrow_down:

...t/datascience/jupyter/jupyterDataRateLimitError.ts
50% <0%> (ø)
:arrow_up:

... and 30 more

Continue to review full report at Codecov.

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


Support Nothing type in SQLAlchemy

Need to support queering views with Nothing typed columns in superset. Now have this error message:
Unrecognized ClickHouse type base: Nothing name: Nullable(Nothing)
Tried to simply add
class Nothing(ChSqlaType, UserDefinedType):
    python_type = None

to clickhouse_connect/cc_sqlalchemy/datatypes/sqltypes.py and it seems fine, but I need help to investigate is it enough, what also should I do to fully support it.

I think that should be fine, I believe that's just an oversight.

Okay, I can create PR


An error occurred while creating the graph; GraphViz returned: The command "dot" wrong or could not be found

Hi,
how can I install the graph lib on windows, brew only works on mac

Hi,
sorry - I do not know. I would suggest that you install graphviz inside of Homestead using apt-get install graphpviz and generate the image there.

Just a quick note for those experiencing the same issue.
The package is called graphviz, not graphpviz, so the install command should be apt-get install graphviz :)

FYI For installing Graphviz on windows, just download it there.
Then add the bin folder to your path, by default C:\Program Files (x86)\Graphviz2.38\bin


Final assigment error

I only change the country and get this error

Github_project_1

United states

I'd say you haven't run the whole notebook top to down...


Feature/sitemap translate

hi, is this work in progress? I could use this feature for a project!

Hi @riencoertjens Work is still in progress, but you can already test it and let us know what you think. After installation you need to select in seostorm settings sitemap locales and then run the command php artisan seostorm:index:sitemapitems.


:art: Make font values more consistent

All three font declarations in this theme were written differently: one with double quotes, one with single quotes and one with none. Using the declaration in ui-variables.less as a base, I changed the other two to use single quotes for consistency. It's the little things. :smiley:

:+1:  That looks much cleaner. Thanks.


Pushing packages problem

I'm trying to push a package through the command line because uploading packages through the website works fine.

I attempted to browse the link mysite.com/NUGETGALLERY but i'm getting a 404.4

Hi @haingoctu. from your screenshot it looks like you are running in a local IIS. Usually , but no always, 405 errors are issued by the Request filtering module.
Please check the settings for you IIS Server & Site. Open the feature IIS 'Request Filtering' and then go to the 'HTTP Verbs tab'. Make sure all verbs are allowed.
Let is know how it went.

In my IIS, should the physical path be pointing at the root of my whole git zip or at src (src\nugetgallery...) or something else?

It should be pointing at src\nugetgallery.
I suggest you take a look at the following page too

https://github.com/NuGet/NuGetGallery/wiki/Hosting-the-NuGet-Gallery-Locally-in-IIS

it might be useful

Those instructions was a grind to walk through. I don't have experience doing this and I feel the instructions were very vague.

Pointing to src\nugetgallery for IIS paths worked. Thank you.


Time format used for started time in services is culture dependent.

Observed behavior
"Micro" services started time is depending on the .net current culture,  which can lead to a wrong format on some cultures, like "en-DK", so the format is depending on the machine running the service. And this causes the nats-cli to crash with parsing error when getting info from a service started on a machine with one of those cultures.
From a machine running  en-DK culture:
❯ nats micro info "Test-DotNet"
nats: error: parsing time "2024-02-04T<IP_ADDRESS>1150Z" as "2006-01-02T15:04:05Z07:00": cannot parse ".22.01.0841150Z" as ":"

There are two ways to fix this:

Pass CultureInfo.InvariantCulture when doing DateTimeOffset.UtcNow.ToString(... https://github.com/nats-io/nats.net.v2/blob/667b77ef83da72514240352525bb445270bf9813/src/NATS.Client.Services/NatsSvcServer.cs#L43

Use change the format yyyy'-'MM'-'ddTHH':'mm':'ss'.'fffffff'Z' this will not consider culture specific time separators

The output below shows the different effects the "Explicit format" vs the format currently in use "Loose format"
Explicit format
------------
Culture: () Invariant Language (Invariant Country)
Date (iso): 2024-02-04T15:06:57.8534311+00:00
Format : yyyy'-'MM'-'ddTHH':'mm':'ss'.'fffffff'Z'
Result: 2024-02-04T15:06:57.8534311Z

Culture: (da-DK) Danish (Denmark)
Date (iso): 2024-02-04T15:06:57.8534311+00:00
Format : yyyy'-'MM'-'ddTHH':'mm':'ss'.'fffffff'Z'
Result: 2024-02-04T15:06:57.8534311Z

Culture: (en-DK) English (Denmark)
Date (iso): 2024-02-04T15:06:57.8534311+00:00
Format : yyyy'-'MM'-'ddTHH':'mm':'ss'.'fffffff'Z'
Result: 2024-02-04T15:06:57.8534311Z

Loose format
------------
Culture: () Invariant Language (Invariant Country)
Date (iso): 2024-02-04T15:06:57.8534311+00:00
Format : yyyy-MM-ddTHH:mm:ss.fffffffZ
Result: 2024-02-04T15:06:57.8534311Z

Culture: (da-DK) Danish (Denmark)
Date (iso): 2024-02-04T15:06:57.8534311+00:00
Format : yyyy-MM-ddTHH:mm:ss.fffffffZ
Result: 2024-02-04T15:06:57.8534311Z

Culture: (en-DK) English (Denmark)
Date (iso): 2024-02-04T15:06:57.8534311+00:00
Format : yyyy-MM-ddTHH:mm:ss.fffffffZ
Result: 2024-02-04T<IP_ADDRESS>34311Z

Expected behavior
Services started with nats.net exposes a datetime format for the started time that can be parsed by nats cli
Server and client version
❯ nats-server --version
nats-server: v2.10.9

❯ nats --version
0.1.1

Host environment
Mac OS Sonoma 14.3 - M2 (arm64)
Platform does not matter, it's a .net culture thing, same date problem is observed on windows 11 (arm64)
Steps to reproduce
Start a service using the lates pre-release of Nats.Net.v2 and use the nats cli to get info for that service, in my case I called it "Test-DotNet" when reproducing this error.
❯ nats micro info "Test-DotNet"
nats: error: parsing time "2024-02-04T<IP_ADDRESS>1150Z" as "2006-01-02T15:04:05Z07:00": cannot parse ".22.01.0841150Z" as ":"

I never thought that would be subject to culture formatting. Thanks! Feel free to pop another PR in if you want 💯 🥇 @niklasfp


Add AWS Session Token support

This is a feature request.
Please add support for AWS session tokens as an optional credential for S3 access. In our corporate account we have to use session tokens in addition to the access key and secret key when doing local development.
I see that you create a minio client with NewWithRegion. It looks like you could pass in a Session Token  you instead use NewWithCredentials instead.

Any workaround for using temporary credentials and a session token to access MinIO artifact store?

This was superseded by #5446 which has more upvotes and PRs out to be merged soon.


[Bug]: When you create a logical table, you enter a table creation expression and a table creation statement is generated, but the logic database ticket fails to be executed

ODC version
odc4.3.2
OB version
no related
What happened?

When you create a logical table, you enter a table creation expression and a table creation statement is generated, but the logic database ticket fails to be executed
What did you expect to happen?
When creating logical tables, you should avoid incorrect expressions and table creation statements
How can we reproduce it (as minimally and precisely as possible)?
When you create a logical table, you enter a table creation expression and a table creation statement is generated, but the logic database ticket fails to be executed
Anything else we need to know?
No response

pass


Refactor project to use modules

Database

Database models
Database Repositories

Network (networking models)

Network models
Network Repositories

App (controllers)

Depends on Database & Network

The project structure you show me in last meeting is ok for most applications, esp the traditional Java web application built with Spring(none Spring Boot) or Java EE.
But for the latest Spring Boot, Micronaut, Quarkus, it follows another principle of 12 factor app, Configuration over convention, a lot of configs are hidden and auto configured by Spring Boot detecting the classpaths itself.
I have used multi-modules in the past years, but after migrated to Spring Boot, I gave up the split projects by components, but split it by features(when the application is increasingly complex) which follows the popular Microservice pattern, move some standalone feature to standalone project, used a Gateway on the front to serve client apps, AWS Gateway is good for this, also can be done by Spring Cloud Gateway.


Add BaGet

Package Management / BaGet - https://github.com/loic-sharma/BaGet/
A cross-platform, lightweight NuGet and Symbol server.

Thanks for opening this @jsreynolds! Just a little more information: BaGet is the spiritual successor of NuGet's NuGet.Server project, which allows you to host your own private NuGet feed. It runs on-prem, or on the cloud on Azure/AWS/GCP. Please let me know if you have any questions :)


Undo

Undo/redo functionality via temp files generated by processing.

For #167 and somewhat #108

I'm testing on an M1 ARM 2022 MacBook Pro. Everything seems to be working OK, but there's one change we might want to make.
Currently, once a processed file is saved, we lose the undo stack within HARP. I think it would be nice if we maintained the undo stack until we load a new file or close HARP, so that we could potentially revert changes to the original file by undoing in the plugin and then saving again. This is akin to how the undo flow works in digital audio workstations.
Otherwise, I think this is ready to merge -- it's already an improvement.


Should this crate use the wasi crate?

I haven't validated that this is actually plausible, but if it is it would have advantages:

It would allow better compatibility with other libraries that use the wasi crate.
We wouldn't have to generate (most) wasi bindings any more.
We (probably) wouldn't have to keep wasi WIT in-tree any more.

I'd just like to say this is a crate idea

This ultimately sounds like a good idea. However, I think currently it's not really possible as we add a few trait implementations for wasi types (e.g., std::error::Error for io::streams::Error) which we cannot do if the types originate from some downstream crate. I imagine we'll probably want to upstream support for adding common trait implementations to types before we consider using the crate here.

https://github.com/bytecodealliance/wasi/issues/85

With ^^ merged, does that mean we could use the WASI crate instead?


How to proper handle custom scope validation inside exchange definition?

Hi,
trying to force my clients to specify a valid scope when using client_credentials I ended up with something like
// register the client_credentials exchange
provider.exchange(oauth2orize.exchange.clientCredentials(function(client, scope, done) {
  if (scope.length <= 0) { // this will also perform more accurate checks
    var err = new oauth2orize.TokenError(
      'Invalid scope: you provided an empty set of scopes',
      'invalid_scope'
    );

    return done(err);
  }
  // ...
  // else end up returning the JSON response
  return done(null, client, "", {scope: scope});
}));

Of course I declared my endpoint middlewares including the errorHandler as you can see here:
accessToken: [ // mapped to /accesstoken
  // perform input data validation before to pass on to OAuth2orize
  accessTokenValidation,
  // authorize the client by id and password
  passport.authenticate(['oauth2-client-password'], { session: false }),
  // oauth2orize flow
  provider.token(),
  provider.errorHandler()
]

By looking at the errorHandler source code I can see it should properly recognize the error given to the "done" callback and set the response accordingly. Also printing that error for debug I can see it gets proper attribute set (status: 400) but to the client it then gets returned with a 500 status.
In case it would help to see the whole source file here's it.
How should I handle it? I could perform that validation by myself inside another middleware but it seems more appropriate to handle that kind of stuff inside the exchange itself instead of somewhere else since it regards what the client is required to in order to be issued a valid token.
Thank you,
Alex.

@lexagosto thank you for the solution :thumbsup:


REPL commands

Add two new commands:

Open a shell with a new Deno REPL session
Open a shell with a new Deno REPL session, importing the contents of the currently focused file.

https://docs.deno.com/runtime/manual/tools/repl

Sadly importing the currently focused file will be difficult, as the Deno REPL does not support relative import paths. I've inquired into this in a related issue here.

Additionally, it seems like there's no Nova extension APIs for opening a terminal and executing a command programmatically:  https://devforum.nova.app/t/run-commands-in-a-new-terminal/1906


Support for restrictions in local definitions instead of in-lined

I have an xsd schema that features many complexTypes like this
    <xs:complexType name="GroupHeader78">
        <xs:sequence>
            <xs:element name="MsgId" type="Max35Text"/>
            <xs:element name="CreDtTm" type="ISODateTime"/>
            <xs:element name="NbOfTxs" type="Max15NumericText"/>
            <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
            <xs:element name="InitgPty" type="PartyIdentification135"/>
        </xs:sequence>
    </xs:complexType>

where Max35Text is just a referenced simpleType based on xs:string with some restrictions
    <xs:simpleType name="Max35Text">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="35"/>
        </xs:restriction>
    </xs:simpleType>

xjc, wrapped in jaxb2-maven-plugin, automatically generates a GroupHeader78 Class where, for example, the mentioned property msgId is a String, annotated with Bean Validation @Size(min = 1, max = 35) thanks to -XJsr303Annotations switch from krasa-jaxb-tools
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "GroupHeader78", propOrder = {
    "msgId",
    "creDtTm",
    "nbOfTxs",
    "ctrlSum",
    "initgPty"
})
public class GroupHeader78 implements Serializable, Equals2
{

    private final static long serialVersionUID = 1L;
    @XmlElement(name = "MsgId", required = true)
    @NotNull
    @Size(min = 1, max = 35)
    protected String msgId;
    @XmlElement(name = "CreDtTm", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "dateTime")
    @NotNull
    protected Instant creDtTm;
    @XmlElement(name = "NbOfTxs", required = true)
    @NotNull
    @Pattern(regexp = "[0-9]{1,15}")
    protected String nbOfTxs;
    @XmlElement(name = "CtrlSum")
    @Digits(integer = 18, fraction = 17)
    protected BigDecimal ctrlSum;
    @XmlElement(name = "InitgPty", required = true)
    @NotNull
    @Valid
    protected PartyIdentification135 initgPty;

The generated JSON schema excerpt is the following
    "GroupHeader78" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "msg_id" : {
          "type" : "string",
          "minLength" : 1,
          "maxLength" : 35
        }

Instead of the in-lined string restrictions I would like to get a schema like this
    "GroupHeader78" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "msg_id" : {
          "type" : "string",
          "$ref": "#/definitions/Max35Text"
        }

where Max35Text is defined aside (in the same file), just like the simpleType in the original xsd schema
     "Max35Text": {
         "type": "string",
         "minLenght": 1,
         "maxLenght": 35
     },

I couldn't figure out if it's possible to configure the plugin to get this done.
Any help/suggestion is appreciated

Found a solution!
setting true mapSimpleTypeDef (default is false) in jaxb:globalBindings did the trick
<jaxb:globalBindings  mapSimpleTypeDef="true">
Map35Text and other simpleType declarations like that are generated as Class by xjc wit a value string property with restrictions.
Therefore jsonSchema generates
    "Max35Text" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "value" : {
          "type" : "string",
          "minLength" : 1,
          "maxLength" : 35
        }
      }
    },

I'd have preferred this simpler form without the value property
      "Max35Text": {
          "type": "string",
          "minLenght": 1,
          "maxLenght": 35
      },

but I must admit that it depends on xjc and not on jsonSchema that does its job accordingly.
I'm getting closer...


fix doc builder workflow by reverting to old image

doc-builder image had been changed, need to revert to old one due to dependency issues, see https://huggingface.slack.com/archives/C021H1P1HKR/p1714469081588139

@younesbelkada Jup, thanks for reminding me of that 🤗 I added it for the job that runs for main. The other one that uploads it and posts on the PR is fine as is. It still works successfully.


support builtin:swc-loader with custom swc options

What problem does this feature solve?
users need more and more swc custom options now (see https://github.com/web-infra-dev/rspack/issues/3054) , and it's not ideal to put more and more swc options to builtins which will bloat builtins, so it would be better to put all these custom swc options to loader, once we support builtin-swc-loader, we may deprecate type: 'ts' and the default transformation of javascript module in the future, which makes rspack more compatible with webpack

The builtin:swc-loader is much faster than the js version of https://swc.rs/docs/usage/swc-loader because it can run parallel in rust side and it avoids the rust js communication

What does the proposed API of configuration look like?
module.exports = {
  module: {
   rules: [{
      test: /\.js/,
      use: {
           loader: 'builtin:swc-loader',
           options: {

                        parser: {
                            syntax: "typescript"
                        },
                        transformer: {
                            useDefineForClassFields: true
                       }
                }
      }
   }]
 }
}

we may need a option to disable default transformation of javascript | typescript module, since it will cause the module is transformed by swc twice once people use swc-loader, but the default transformation behavior is friendly to user than manually configure loader especially for new user.
one solution is we introduce a concept called preset(which I remember @TheLarkInn mentioned before), which controlled whether rspack will transform these modules by default
{
  presets: 'default'  | 'transform' // default means don't do any transformation by default and 'transform' means transform ts and js using swc by default
}

@TheLarkInn @alexander-akait what's the plan of the preset concept and any suggestions?

@hardfist we are still considering this concept (and I don't think preset will sove this problem fully), but there are already two solutions:

pass AST from swc-loader, so rspack can avoid double parsing, webpack supports it, but only for estree compatibility parsers
redefine defaultRules and use swc-loader by default

I think the valid usage is the first, because you can't neven know which options will be used, but if you have AST, you don't need to parse everything twicy, the same can be used for CSS and HTML, unfortunately, no estree analog for CSS and HTML, but I for HTML it is not a problem, because swc-html uses the browser logic and create DOM, so it can be used as a standard, for CSS it is tricky, anyway right now I have dicussion in stylleint about full features parser and analog for CSS, so it will allow to reuse CSS AST across different parsers.
Here https://github.com/webpack/webpack/blob/main/lib/javascript/JavascriptParser.js#L3897 usage of AST
Anyway we use this approach even for custom parsers, for example https://github.com/webpack-contrib/postcss-loader/blob/master/src/index.js#L228, we pass AST from postcss-loader to css-loader and avoid multiple parsing

So do you want to implement presets to hide implementations from users, right? Because developer can setup swc-loader using rules now.

I think defaultRules is good enough to handle compatibility now, so I don't think introduce preset before webpack does is a good idea, and in the long run we consider deprecate the whole builtins options and replace it with swc-loader with swcOptions and mock plugin this makes rspack more compatible with wepback.
but I'm still not sure should we keep things like  type: ts, because although it's nog compatible with webpack but it's user friendly for normal user but it's hard to work with swc-loader, I tend to deprecate it for compatibility

Here<EMAIL_ADDRESS>usage of AST
Anyway we use this approach even for custom parsers, for example<EMAIL_ADDRESS>we pass AST from postcss-loader to css-loader and avoid multiple parsing
so this only works for style-loader or you need to do right span calculation in this postcss-loader?

talking about swc-loader, it opens the possibilities for user to do custom dynamic loaded plugin by swc wasm plugin, which maybe not stable enough, we can also implement wasm-loader(I'm not sure it'a good idea because even the string transformation is easy, but the loader Interface is complex)

Just side infromation - honestly i don't understand why swc-ecma-parser is not compatibility with estree, that would be just amazing, we can use it in many tools just like a replacement (yes it take some muck more times due since the ast passing from js to rust have large cost), but it will be allow to start smooth transitions for many tooling or at least provide an opportunity to use alternative approaches. Even more - 80-90 percents of the structures are already identical (at the last moment when I worked with swc).

I remember @Boshen's oxc is not compatible with estree too? @Boshen do you think estree compatible ast is a good idea for rust javascript parser?

so this only works for style-loader or you need to do right span calculation in this postcss-loader?

postcss always caculate spans, so there is no problems with it

talking about swc-loader, it opens the possibilities for user to do custom dynamic loaded plugin by swc wasm plugin, which maybe not stable enough, we can also implement wasm-loader(I'm not sure it'a good idea because even the string transformation is easy, but the loader Interface is complex)

does babel-loader or swc-loader return ast now? I'm wondering whether babel-loader could get the right span after the transformation or does babel can provides things like untransform to get right span without reparsing

If we look at coode - no, but it was design for it, some decent time ago it was not compatible, but at the moment I don't know, we should check it out, but yeah, this feature was originally created for this, it is a pity that it has not gained popularity, because it makes eveything more faster

So do you want to implement presets to hide implementations from users, right? Because developer can setup swc-loader using rules now.

I think defaultRules is good enough to handle compatibility now, so I don't think introduce preset before webpack does is a good idea, and in the long run we consider deprecate the whole builtins options and replace it with swc-loader with swcOptions and mock plugin this makes rspack more compatible with wepback. but I'm still not sure should we keep things like type: ts, because although it's not compatible with webpack but it's user friendly for normal user but it's hard to work with swc-loader, I tend to deprecate it for compatibility

even defaultFules is good enough, but it's not that easy to manipulate the defaultRules, user may need to modify defaultRules config directly to remove the internal swc-loader which seems not ideal? @alexander-akait any suggestions?

@hardfist hm, defaultFules was design for such purposes :smile: Can you show me what is hard there? Maybe you have a good idea (just an example if a configuration), so we can think about it, technically you also can implement custom type for modules, for example javascript/swc-esm/javascript/swc-dynamic and etc and put them as defaults, also developer always can use swc-loader with own options and also we build-in in the one project

its easy to add but hard to delete，because users need to know the internal implementation to safely delete swc rule and not breaking other rule

@hardfist How you want to get AST and ranges from swc-loader? Because if it doesn't return ranges, we still need reparse it...
We can implement something like:
module.exports = {
  module: {
    parser: {
      defaultTypes: {
        javascript: "javascript/esm",
        css: "css/modules"
        // etc
      }
  },
};

@hardfist How you want to get AST and ranges from swc-loader? Because if it doesn't return ranges, we still need reparse it...
yeah as i said before we just give up reusing ast from swc-loader because of the transform range problems (but we still get performance gain since it's in rust and parallel),

We can implement something like:

module.exports = {
  module: {
    parser: {
      defaultTypes: {
        javascript: "javascript/esm",
        // javascript: "javascript/esm+swc"
        css: "css/modules"
        // etc
      }
  },
};

the defaultTypes seems much more flexible than defaultRules and seems we can keep type:ts for this

Yeah, we can implement this, it can create a weird case like javascript: "css" :laughing: but I think people will not use it (also parser just failed because CSS parser can't parse Javascript)

I stumbled upon this use while trying to find a solution to turn on useDefineForClassFields. I don't know if there is another way at this stage but it seemed the most promising.

I stumbled upon this use while trying to find a solution to turn on useDefineForClassFields. I don't know if there is another way at this stage but it seemed the most promising.

it's designed to solve this problem, even it's completed right now but I think it can be used to solve your problem now, what's the blocker for you?

Thanks for the pointer @hardfist. I'll try it when I have a moment. I need useDefineForClassFields to get Mobx to work properly (see https://mobx.js.org/installation.html#use-spec-compliant-transpilation-for-class-properties).

@jraoult it's actually implemented and you can use it now(a example here https://github.com/web-infra-dev/rspack/blob/main/examples/builtin-swc-loader/rspack.config.js#L12), what left is how we disable the default transformation so user's code don't need to transform twice(swc-loader and the default transform)

Can I extend swc plugins in this way ? like: jsc: { experimental: { plugins: [ ['swc-plugin-xxx', {}] ], },

you mean the swc wasm plugin?

Thank you for your reply ，
I plan to migrate some old projects to rspack,In these old projects I used a custom babel plugin to help configure cssmodule automatically, the babel plugin transform
import a from 'foo.less';
Import 'foo.less';
import c from 'foo.sass';
import d from '.. /foo.css';

to
import a from "foo.less?modules";
Import 'foo.less';
import c from "foo.sass?modules";
import d from ".. /foo.css?modules";

Then , with webpack rule.resourceQuery(/modules/)  open cssmodule。
Now , use repack， Do you have any suggestions for this

why not just configure rule directly
{
  module: {
   rule: {
      test: /\.less$/,
      use: [{loader:'css-module', options: {module:true}},'less-loader'],
   }
}
}

The same as the demo above, when we use import 'foo.less', the CSS module is not enabled.. It's easier for users to maintain the global style. I also thought about automatically enabling the CSS module by using a file name suffix like 'index.module.less'. However, changing the file names manually would be too expensive。🤔

The same as the demo above, when we use import 'foo.less', the CSS module is not enabled.. It's easier for users to maintain the global style. I also thought about automatically enabling the CSS module by using a file name suffix like 'index.module.less'. However, changing the file names manually would be too expensive。🤔

can you provide a repro？

@thinkey-yang resourceQuery is also supported in Rspack, it seems that you can write like this:
    rule: {
      test: /\.less$/,
      oneOf: [
        {
          resourceQuery: /modules/,
          type: 'css/module',
          use: [
            // xxx
          ],
        },
        {
          type: 'css',
          use: [
            // xxx
          ],
        },
      ],
    },

@hardfist my project is build by umi ,  you can get more info form : https://github.com/umijs/swc-plugin-auto-css-modules and https://github.com/umijs/umi/blob/3.x/packages/bundler-webpack/src/getConfig/css.ts.

@hardfist my project is build by umi , you can get more info form : umijs/swc-plugin-auto-css-modules and<EMAIL_ADDRESS>
to be honest this is a bad design of umi, we have no plan to support this bad design, we suggest you configure css module by module.rules other than auto detect in import style in module.

Closed as it has been supported. Let's move the further questions to another issue or here: https://github.com/web-infra-dev/rspack/issues/3067


code release time?

Could you please release the code? There is only readme.md.......

In one or two weeks.

Could you please release the code? There is only readme.md.......

probably in two weeks.

Thank you for your interest. We are working with company legal team to get opensource approval. This process should take no more than two weeks. I will try my best to push it forward.

We have released the code. Thanks again for your interest.

We have released the code. Thanks again for your interest.

Nice!!! Thank you.


how to move unused css rules to new file in grunt uncss task

Grunt uncss remove the unused css rules. My question is that is there a way by which instead of removing unused css rules, it will put them in a separate file

If you enable report:true and use my branch https://github.com/giakki/uncss/pull/256 then you can get a list of unused css selectors.

#256 has been merged. Is this a satisfactory resolution @atul-bajpai?

yes


docs(AvatarGroupTooltipExample): not working with tooltip around avatar

🔗 Linked issue

Resolves #2132
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Closing in favor of https://github.com/nuxt/ui/commit/a6ecef0f0d87a8dff4e4cb9ec507058ec94ed82b.


test(MenuItem) MenuItem screenshot test

Summary
MenuItem
Github issue: #479
Still to fix:

[ ] The sdsIcon prop is not recognizing the type I assigned it
I think because icons used within MenuItem are already assigned their own type (IconName) in the index.tsx file. But I cannot figure out how to transport that "type" into the Screenshot Test story...
I tried similar approaches to what Timmy helped me with, in the ButtonIcon Screenshot Test (not yet merged in, so will have to look at the PR for it), but I don't know TypeScript yet, so I just don't know what is going wrong with my attempts...
[x] details not rendering: EDIT: WE WILL BE REMIVING details FROM DropdownMenu SO IT CAN BE FULLY OWNED BY MenuItem, BUT AS OF NOW IT IS NOT A PROP FOR MenuItem; THIS TEST CAN BE UPDATED ONCE THAT CHANGE IS MADE. SEE #483 FOR MORE.

Permutation dimensions to include

[x] isMultiSelect: false, true
[x] columnValue: [sample text], undefined
[x] sdsIconProps: [include a sample icon], undefined
[x] selected: false, true
[x] disabled: false, true
[x] pseudo-state: default, hover, active, focus

Here's a screenshot of the current UI (most of it; it si too long to get it all in one screen!):

Exceptions

[x] I will only render disabled=true if pseudo-state=default, since that is the only state wherein MenuItem could be disabled anyway, and this follows the pattern for how other Chromatic tests deal with disabled state, and how the states are shown in Zeroheight

Checklist

[x] Default Story in Storybook
[x] LivePreview Story in Storybook
[x] Test Story in Storybook
[x] Tests written
[ ] Variables from defaultTheme.ts used wherever possible
[ ] If updating an existing component, depreciate flag has been used where necessary
[ ] Chromatic build verified by @chanzuckerberg/sds-design

@liaprins just pushed a commit to fix type error 🤩 That one was hard lol


Add logos for new Sources

Problem

We have the following sources come online soon:

NASA (nasa.gov)
Biodiversity Library (https://www.biodiversitylibrary.org/)
SMK (https://www.smk.dk/)
Science Museum (https://www.sciencemuseumgroup.org.uk/)
-- Note this may already exist, since we previously integrated, but updated the integration now
Europeana (https://www.europeana.eu/en)

We need to make sure that we have the logos set up in the front end for them.
Note also, that currently the Collections page is split into "Museums" and "Other Collections".
NASA and Biodiversity Library should be in the "Other Collections" section, and SMK, Science Museum, and Europeana should be in the Museums section.

@mathemancer I added Europeana to the list, just flagging that for you in case it's premature for some reason.
Also added notes on what part of the page these belong on. (Not sure how that's currently handled, so if it's outside the scope of this, it can be ignored).

@mathemancer Can you please tell what would be the source_name in the api for each of them?

Where should we get the logos from? Just take it from each link?

Sometimes the sources will have a press kit with logo images, other times they're available on Wikimedia Commons.

The source_names are:
nasa
bio_diversity

There's sciencemuseum and europeana, but I can't say for sure what SMK is (I would imagine it's smk but Brent will have to confirm)

SMK is statensmuseum

Thanks everyone. Opening a PR soon.

To summarize:
         provider_name          | provider_identifier |             domain_name
--------------------------------+---------------------+--------------------------------------
 Biodiversity Heritage Library  | bio_diversity       | https://www.biodiversitylibrary.org/
 Europeana                      | europeana           | https://www.europeana.eu
 NASA                           | nasa                | https://www.nasa.gov/
 Science Museum – UK            | sciencemuseum       | https://www.sciencemuseum.org.uk
 Statens Museum for Kunst (SMK) | statensmuseum       | https://smk.dk

@mathemancer should SpaceX be part of this list since I plan to pull it out from Flickr?

@ChariniNana  #1021 solves it I guess?

Ah yes, it does


Broken Link

Broken links from cumulus tutorial (custom specs)
https://docs.substrate.io/assets/tutorials/cumulus/chain-spec/rococo-custom-2-plain.json/
https://docs.substrate.io/assets/tutorials/cumulus/chain-spec/rococo-custom-2-raw.json/

duplicate #1162


Terminal: Can't press Escape key

Testing #6654
The escape key surfaces to the workbench, closing the terminal. This is bad in situations where commands really need the escape key, such as vim.

Duplicate of https://github.com/Microsoft/vscode/issues/6455, I'm interested in your thoughts on this @joaomoreno if you want to comment. esc to dismiss would certainly be useful to close the terminal, and vim is the only example I could think of. Not sure if it should be a setting or what.


URL builder fixes

Implemented use_ssl, fixes #51
base_url is now created in Client
base renamed to base_path

Coverage remained the same at 100.0% when pulling 44c0bb54e57ed2f17374056d2bf9a0049b5678b3 on branch0.4.9 into e64e774e277b79e73c9208ed268d976582522676 on master.


Fix Prototype Factory Providers

Before, prototype scoped Providers were generating incorrectly.

Fixes ProtoType Providers
Simplifies lazy inject generation (it turns out registering as a normal provider is already lazy)

Now can do:
@Factory
public class FactoryProvider {

  @Bean
  @Prototype
  Provider<Integer> random() {
    return new Random()::nextInt;
  }
}

And this will generate:
@Generated("io.avaje.inject.generator")
public final class FactoryProvider$DI  {
  /**
   * Create and register Provider via factory bean method FactoryProvider#random().
   */
  public static void build_random(Builder builder) {
    if (builder.isAddBeanFor(Integer.class)) {
      var factory = builder.get(FactoryProvider.class);
      var bean = factory.random();
      builder.asPrototype().registerProvider(bean);
    }
  }
}

Fixes ProtoType Providers

In that a @Prototype Provider<T> registers a Provider<Provider<T>>  - with double nested Provider and really it should only be Provider<T> in this case.

Thanks. I've ended up pulling this out into 2 separate PRs because I kind of needed to do that to understand the changes and see the impact and also because we should really have bug fixes in their own PR and not combined with other things like a refactor.
So yeah, created #541 and #542 and yes these are pretty much exactly what is in this PR.
Cheers, Rob.


!alog - Bad Request/Couldn't get playerinfo from the api at this time.

There has been an ongoing issue with '!alog Quavelen', where it will say it was a bad request or that it is unable to get the info from the api.  Here are a few screenshot of it:

The server in question, is the RuneScape Wiki discord server. My adventurer's log is public, and viewable by anyone.

This issue seems to have resolved itself, today:

Nothing on my alog has changed, so it's strange that it suddenly works now despite not functioning for several days previously.


stgquery Files not Opening

Storage Explorer Version: 1.6.2
Platform/OS: Windows 10
Architecture: x64
Regression From: 1.6.1
Bug description
Previously saved Cosmos queries (stgquery) are not working. Instead of the saved clauses, an empty line for each clause is created and all queries have to be recreated from scratch.
Steps to Reproduce

Open Cosmos Table
Select Query

Expected Experience
Query is opened, but not displayed
Actual Experience
Additional Context

Azure Storage Explorer support for Azure Cosmos DB has been discontinued as of v1.24.0. We recommend users to use Azure Cosmos DB’s Data Explorer, which can be found in Azure Portal or as a stand-alone version in http://cosmos.azure.com/ for the best Azure Cosmos DB experience. You can also find additional Azure Cosmos DB tooling here: Azure Cosmos DB Tools


Separate Technology and ArtificialObjects

make Technology dependent continuant and technological objects like generators independent
create object properties:

applies_technology: "the property of an ArtificialObject to apply to a Technology."
is_applied_by_object: "The property of a technology to be applied (to?) by an ArtificialObject

further changes:

delete the class ModelingTechnology
move Software to InformationArtifact

solves #86

should the property itself then be called "is_applied_to_object" ?

should the property itself then be called "is_applied_to_object" ?

oh, yes, right

The changes listed in the PR's description are all implemented, however, there are new classes created such as "FossilGenerator" which are not documented in the changelog.
I would write in the changelog under "remove" and "added" the classes you added (there is no mention of ArtificialObject in the changelog message) and removed in this PR, maybe it is cumbersome and not useful? I let you judge and update the changelog only if you also think it can be improved :)

I added a line describing the added classes. They are just the associated classes of existing technology classes so naming them wouldnt really help


Bump requests version once https://github.com/urllib3/urllib3/pull/1524 is released

The version of urllib3 via requests that we currently have hides HTTP early-termination-followed responses from the server. https://github.com/urllib3/urllib3/pull/1524 fixes this issue. To have the fix in cloudant-python-sdk, requests needs to be updated once the fix is available in a new requests version.
See related https://github.com/cloudant/java-cloudant/issues/317

All dependency version ranges allow for consuming the fix in some latest urllib3 release, so a recent clean install works fine with the informative, correct exceptions.
I'm closing this.
For people who encounter Broken pipe issues, a local upgrade to a recent urllib3 (>=1.26.0) should resolve the issue.


upsert-success check fails

@Joannis This problem probably also arises in 7.0 but I will test this soon.

This also would need a unit test.

@Joannis the current test already checks if the second call to .save() fails! 👍
This is good to go I think!


Issue at the moment of submitting a form in /submit-new-question endpoint

Description
Although the "/submit-new-question" endpoint is working fine, there is an issue at the moment of submitting the form when the checkboxes are empty. The message error is working, but the text fields are empty once the error message appears. This is not convenient for the user since it would need to write all the questions and the answers again.
Steps to Reproduce

Open the /submit-new-question view
Fill the text fields but leave the checkboxes empty, then submit the form.
Once the message error appears, you can see how the text added have disappeared

Expected Behavior
The text must remain even when the message error appears, so the user only need to mark a checkbox to submit again.
Actual Behavior
The text fields gets clear once the error message appear.
Screenshots (optional)

##Possible solution
Checking the script in the /submit-new-question view, I have noticed that there is a function that should prevent the text to be cleared from the form before submitting the data. That function is actually commented code and therefore is not working.

Clear steps to reproduce the issue, well done!


Markdown implementation can have NPE

If null is passed as the markdown parameter, then the renderMarkdown(String markdown) method throws a NullPointerException.

Fixed by commit bfc1a97c5e0e3e322b9587953496a075be96f140


[Tracker Request] Animebytes and Bemaniso

Looking to see if support for https://animebytes.tv and https://bemaniso.ws would be possible. I can send an invite for the latter if needed!
Thank you! Love the userscript btw!

For animebytes I could reuse entry from IMDb Scout, you would need to post URL when you search there for Band Album, select music categories before doing search.
You can send bemaniso invite to purfview at protonmail com

URL: https://animebytes.tv/torrents2.php?tags=-lolicon+-shotacon+&sort=relevance&way=desc&showhidden=0&cdtype[album]=1&cdtype[soundtrack]=1&cdtype[single]=1&cdtype[ep]=1&cdtype[compilation]=1&cdtype[remix_cd]=1&cdtype[live_album]=1&cdtype[spokenword]=1&cdtype[image_cd]=1&cdtype[vocal_cd]=1&theme[Opening]=1
Hope that works alright. Thank you! Invite sent.

I don't see you searching anything in that URL, you need to search for something.
Anyway, I tried to guess correct URL, check if it works properly:
Added AnimeBytes - https://github.com/Purfview/Discogs-Scout/commit/2a02624ec8273e97b75fa1baa611844c9f4d1011
Added Bemaniso- https://github.com/Purfview/Discogs-Scout/commit/573a34d047b45214f1f0eb845d86430069b3feef

Works! Thank you Purfview. Have a good one! :)

A complete URL for future reference (should have included this originally, apologies.).
https://animebytes.tv/torrents2.php?artistnames=Suga+Shikao&groupname=Sweet&tags=-lolicon+-shotacon+&sort=relevance&way=desc&showhidden=0&cdtype[album]=1&cdtype[soundtrack]=1&cdtype[single]=1&cdtype[ep]=1&cdtype[compilation]=1&cdtype[remix_cd]=1&cdtype[live_album]=1&cdtype[spokenword]=1&cdtype[image_cd]=1&cdtype[vocal_cd]=1

That URL is advanced search, I guess.
What I used in script is basic search, if it works then I'll leave it as it is.
By "works" I mean that icon should show green border on found and yellow border on not found.


Benefit date change

Corrects date for the benefit

@ksmacleod99 there are no file changes here

Can't win for losing. Hold on.


Update CA2002 to detect usage of lock (this) and SyncLock Me

In https://github.com/dotnet/roslyn-analyzers/pull/2869 I have updated the rule CA2002 to also detect locks on this. Could you please update the documentation to match the new rule specification?

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

ID: b97ee078-36f0-1f9b-cb29-93293989d5f6
Version Independent ID: 786d0d32-ffdc-a6e5-fcd7-484b04cc3cf1
Content: CA2002: Do not lock on objects with weak identity - Visual Studio
Content Source: docs/code-quality/ca2002-do-not-lock-on-objects-with-weak-identity.md
Product: visual-studio-windows
Technology: vs-ide-code-analysis
GitHub Login: @gewarren
Microsoft Alias: gewarren

Additional note: This change will first be released as part of FxCop analyzers package 3.0.0

Updating in MicrosoftDocs/visualstudio-docs-pr/pull/5930


[BUG]: Add Spring or Fall as 1/2 in barcode

Is there an existing issue for this?

[X] I have searched the existing issues

Description of the bug
Add barcode (1/2) based on spring or fall
Based on call with Rick, this is desirable
Steps To Reproduce

Add an attendee
Look at barcode generated
Notice no 1/2 was inserted in

Won't do - we are putting convention ID in the barcode which is sufficient IMO


List of watchable resources and list of checks in the docs

It sure would be great if the docs would list:

Which resources SM will watch and audit
All of the checks that are available out of the box

In order to find an answer to the second question I had to search through all of the auditor modules and count the individual check methods. By my count there are 152 checks all together, but that could easily be incorrect.

@cheesuslovesme We would love a PR ;)

You would want to look under for the code under watchers and auditors to see what is there.

I am excited to make some valuable contribution. Where can be a good starting point?


fix(toggleterm): expects string instead of table

@carlitux Thank you. I've missed this. But we need to escape command arguments for make it work.


Improve documentation about XamlRoot property

It sometimes surprises folks that UIElement.XamlRoot returns null when it's queried before the element is added to a live tree of XAML.  Maybe we could add more info about that here?
Example: When a UIElement is first created, XamlRoot returns null.  After it's parented to a live XAML object, it will return the same XamlRoot object as its parent.

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

ID: 4437660c-c9b0-4f4e-ce20-3d62787c5b76
Version Independent ID: fddaa5db-2fa7-fde7-a6d3-f776b5e131fb
Content: UIElement.XamlRoot Property (Windows.UI.Xaml) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.UI.Xaml/UIElement.xml
Product: uwp
Technology: winui
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

I would add that the most frequent scenario of null xamlroot would be calling Xamlroot from constructor of the app.

Thanks for the suggestion; the documentation has been updated.


[6.1] Span gardening

This PR improves how Span.withUnsafeBytes() is written, making swiftinterface files that define it compatible with older compilers. We also remove _elementsEqual() here, since it was only used for testing; it also caused swiftinterface issues. Includes a few updated code comments.
This is a cherry-pick of https://github.com/swiftlang/swift/pull/77688

@swift-ci please test

@swift-ci please test

@swift-ci please test


Add DBeaver-Community v3.5.5

Moving dbeaver-community to caskroom/versions based on discussion for https://github.com/caskroom/homebrew-cask/pull/15555.

Thank you.


Stop button not work in firefox 14

When playing mp3 stream stop button does reset and starts to play first. Perhaps because of the Flash.
And it does not stop loading track.

@ghost Closing this one since FF14 is now deprecated


Allow hypenated variables in interpolation

Hi,
I've noticed that media-feature-value-dollar-variable does not account for hyphenated variables in the regex. This seems to originate from a slight oversight when composing the interpolationVarRegex.
@mixin respond-lg {
  // This throws an error
  // Expected a dollar-variable (e.g. $var) to be used as a media feature value
  @media (min-width: #{$bp-lg}) {
    @content;
  }
}

@mixin respond-to ($bp) {
  // This works just fine
  @media (min-width: #{$bp}) {
    @content;
  }
}

Good call! Does it still work with $var-1px, which is not a variable, but an expression?

It'll match that expression too, yes. All I did is match the regex to the one that is used for the variable detection.
If $var-1px should throw a warning though, I don't know how we can spot the difference (syntax-wise) between $my-var and $var-1px...

Well, yeah, that is an oversight, as it seems. On the other hand, we have a somewhat robust but a bit messy Sass value parser that can tell such things apart. I think it could be used here as well, at least for checking if the - is an operator or just a dash in a variable name. So if you'd like to dig a bit deeper, we're perfectly ok if this PR gets some more commits :)
And one more thing: tests are always a great thing :) So it would be nice if you added some tests here as well.

Well, I added the extra check and some tests, but seem to have broken some others...
I don't really see where it goes wrong though, can you perhaps provide me with some instructions? :-)


[Workers] Fix video URL

Summary
Closes #17664.

FYI @KianNH - Had to use an absolute URL for the video URL, or else it would fail schema validation. Not sure if there's something we can do about it, or just use the production Dev Docs hostname.


Cmd+Click (Go to Definition) not working when using require.context

VSCode Version: 1.25.1
OS Version: macOS 10.13.6

I'm using require.context API to export everything within a directory automatically. It works nicely, but 'Go to definition' is broken when I import those exports from other files. To give an example about my use case, consider that I have the following directory structure:
.
├── store
│   ├── actions.js
│   ├── app
│   │   ├── actions.js
│   │   ├── reducer.js
│   │   ├── sagas.js
│   │   └── selectors.js
│   ├── reducer.js
│   ├── sagas.js
│   ├── selectors.js
└── tools
    ├── lib
    │   └── fs.js
    ├── messages.js
    └── run.js

I have this piece of code in the store/actions.js file:
const req = require.context('.', true, /\.\/.+\/actions\.js$/)

req.keys().forEach((key) => {
  const actions = req(key)

  Object.keys(actions).forEach((name) => {
    module.exports[name] = actions[name]
  })
})

This code goes through all directories under store, finds all action.js files, get all their exports and re-exports them in a specific format. The use case is that when I want to import an action store/app/actions.js, I just use
'import { fetchAllAppConstants } from 'store/actions'
So in a way, it makes me agnostic as to the directory structure under store and treats that directory as an API boundary. But cmd+clicking that fetchAllAppConstants doesn't work in VSCode. Is there a way to make it work?
Steps to Reproduce:

Prepare the above directory structure
Write the code above into the specified files
See that cmd+clicking doesn't work

Does this issue occur when all extensions are disabled?: Yes

IntelliSense for dynamic requires statements is a limitation of our intellisense, see: https://github.com/Microsoft/TypeScript/issues/26139 and https://github.com/Microsoft/TypeScript/issues/18656 and


creat gpio.c

W600的GPIO函数，相关部分均已测试。

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Hashmap changes causing rust binary non-reproducible

Hello,
The changes referred below are adding the rust generated objects with a unique hash extension (as I understood, this to avoid overwriting the objects with same name).
https://github.com/rust-lang/cc-rs/blob/e5bbdfa1fa468c028cb38fee6c35a3cf2e5a2736/src/lib.rs#L1040C1-L1057C15
But this change making the rust binaries are non-reproducible. The rust libs/binaries containing objects names in it and those are differed between the builds with a different hash-id. Currently as a workaround, we reverted the respective changes and that fixed the problem for us.

Hmm maybe we could use something that is more stable for the hashing.
BTW if you need to use the object files generated, then maybe you can use cc::Build::compile_intermediates?

I doubt that code is the problem, current implementation of DefaultHasher is reproducible: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=a9c791e10dcddcc0a72c6a17d1b66ea1
HashMap is not because it purposely randomizes seed but I don't see it there.


Translatable?

Hi @Tarpsvo @marttinnotta ,
Is it correct that this package from @optimistdigital doesn't have translation files that can be easily changed in my own language?

Currently there are none so you would have to manually search for them.It will be added in the future when front end code will be fully refactored.


Hitbox

https://github.com/PingIsFun/HitBoxPlus/issues/6#issue-1433477583

idk what do you mean with this
Originally posted by @PingIsFun in https://github.com/PingIsFun/HitBoxPlus/issues/6#issuecomment-1302156101

https://github.com/PingIsFun/HitBoxPlus/issues/6#issue-1433477583

idk what do you mean with this
Originally posted by @PingIsFun in https://github.com/PingIsFun/HitBoxPlus/issues/6#issuecomment-1302156101


Remove deprecation warning

The deprecation due to Pane::addItem change is now removed.
The function is called correctly Pane::addItem(item, {index: 0})
close #225

Already merged with #222
Thanks for your contribution, though.


Base64String of PDF (Save) into PNG image

Hi guys,
Good day.
I've been using this library lately. This is what I am trying do and some finished activity.

Load the PDF from local - Done and OK
Create a markup to control the page selection - Done and OK
Create a control markup to do a Cropping inside the PDF document - Done and OK
Finalize the cropped PDF and save it as an Image. - Struggling here

I've been using Laravel-vue-spa with vuetify.
This is the code I am struggling with
await this.loadPdf()
await this.doSelectPage(false)
this.selectedPage.setCropBox(this.pdfCropbox.x,this.pdfCropbox.y,this.pdfCropbox.width,this.pdfCropbox.height)
this.selectedPage.setMediaBox(this.pdfCropbox.x,this.pdfCropbox.y,this.pdfCropbox.width,this.pdfCropbox.height)
this.selectedPage.setBleedBox(this.pdfCropbox.x,this.pdfCropbox.y,this.pdfCropbox.width,this.pdfCropbox.height)
const pdfResObj = await this.loadedPDF.save()
this.loadedImg = URL.createObjectURL(new Blob([pdfResObj], { type: 'image/png' }))
I already tried almost everything but it just shows a small blob box in the new tab.
The final result will be used in an  or  only.
Hope can anybody help me with saving the result into PNG file.

PDF.js - pdfjslib help me get it to render and allowed me to display the image 💯 👍🏽


Bump to 0.14.1

r? @philipc

Coverage remained the same at 94.116% when pulling 2e8fa9ee9ba8fd7cd9a72110120b839bd139dc9a on fitzgen:version-bump into ad0019a37128cc2425f2ac53573debe5dbb3393a on gimli-rs:master.

Just realized I need a couple more things. Will close this, make PRs for those other things, and then make a new version bump PR.


Feature Request: Permanent Whitelist

Users have requested the ability to add domains to a whitelist that will not be blurred, even if Tahir is on. Tahir popup modal should have an area to "Manage Whitelist" where domains can be added/removed. When Tahir runs on the page, it should first check to see if the current tab domain is included on the whitelist, before automatically blurring.

Tahir Spec: Whitelist Feature
Problem: When a user turns Tahir off for a website, they sometimes forget Tahir is off when loading a new tab and then accidentally view impermissible images.
Solution: Allow users to white-list safe domains, so they never need to manually turn Tahir off. Instead, white-listed domains will be excluded from Tahir filtering.
Implementation

Allow user to add or delete whitelist website domains in the Tahir popup modal. This should be saved in the 'settings' localstorage that is already in use.

When Tahir is on, it first checks whether the current tab URL matches any domain in the whitelist. If it matches, no filtering is provided. If it is not, default filtering is provided.

When checking the websitelist, Tahir should check if the current tab domain or subdomain matches any domain in the whitelist. Do not check the exact URL. For example, if a user has put "https://mail.google.com/mail/u/0/#inbox" in their whitelist, then all webpages with the domain mail.google.com should match and be part of the whitelist.

Maintain the same function naming scheme, indentation, and comment system that is present in the rest of the Tahir app when writing this feature. All of this should be written in plain javascript, without the use of libraries like jQuery, etc.

Hi, is there any progress being made on this?

@NolanChan  Basic whitelist management is working on the chrome version of Tahir, can be downloaded from the github (https://github.com/fushatech/tahir/tree/master/chrome). We pushed the update to the Chrome store and are awaiting review.

My suggestion is to move the whitelist out of localstorage, optionally, if the user signs in with a google or microsoft account, to get permissions for uploading the to the drive implementations of the providers (dbox/ms/googl). I use multiple browsers with Tahir, ffox, brave, chrome. have to whitelist the same domain across browsers. It be nice to get the whitelist synced across browsers.


Open Graph data URLs are using "http" protocol always

Open Graph data URLs are using "http" protocol doesn't matter that website is over "https".
I have my Ghost blog published on https://juank.io but when I look at OG meta tags they are linking to http:// Urls.
I have configured iisnode (Azure) to redirect http request to https without problem. But redirections are bad indicators for twitter cards or facebook posts causing (sometimes) images won't be loaded.
Specially in facebook this redirect issues could rank down the post on timeline.
I'm not sure if this issue is related to Ghost or Azure related. Temporarily I have tweaked
ghost-head.js to construct OG data using https insted of http.

Hi Juan,
So far I have not been able to reproduce this. It may be related to azure which I will investigate further but first can I just check one thing with you. In your config.js file have you set url to https?

Hi @cobbspur and @ErisDS EriDS ,
I've been reviewing this a little bit more.
My site is already configured in https but browser is getting TOO_MANY_REDIRECTS because there are a infinite redirection loop caused by this code in
core/server/middleware/index.js
function isSSLrequired(isAdmin) {
    var forceSSL = url.parse(config.url).protocol === 'https:' ? true : false;

    var forceAdminSSL = (isAdmin && config.forceAdminSSL);

    if (forceSSL || forceAdminSSL) {
        return true;
    }
    return false;
}

// Check to see if we should use SSL
// and redirect if needed
function checkSSL(req, res, next) {
    if (isSSLrequired(res.isAdmin)) {
        if (!req.secure) {
            var forceAdminSSL = config.forceAdminSSL,
                redirectUrl;

            // Check if forceAdminSSL: { redirect: false } is set, which means
            // we should just deny non-SSL access rather than redirect
            if (forceAdminSSL && forceAdminSSL.redirect !== undefined && !forceAdminSSL.redirect) {
                return res.sendStatus(403);
            }

            redirectUrl = url.parse(config.urlSSL || config.url);
            return res.redirect(301, url.format({
                protocol: 'https:',
                hostname: redirectUrl.hostname,
                port: redirectUrl.port,
                pathname: req.path,
                query: req.query
            }));
        }
    }
    next();
}

Looks like
var forceSSL = url.parse(config.url).protocol === 'https:' ? true : false;

Is returning true when site is already running on https, but if ghost  is already configured to run over https and IIS is redirecting http traffic to https there's no need to redirect again.
I suggest the right valitation could be.
//if site is already running over https there is no need to forceSSL
var forceSSL = url.parse(config.url).protocol === 'https:' ? false:true;

On IIS you configure a website to run over https with this rule in web.config file:
        <rule name="Force HTTPS" enabled="true">
          <match url="(.*)" ignoreCase="false" />
          <conditions>
            <add input="{HTTPS}" pattern="off" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>

So because of that my current blog config.js is configured forceAdminSSL: false
Actually isSSLrequired method execution looks like
function isSSLrequired(isAdmin) {
//forceSSL = true;
var forceSSL = url.parse(config.url).protocol === 'https:' ? true : false;
//forceAdminSSL = false;
//true && false = false
var forceAdminSSL = (isAdmin && config.forceAdminSSL);

//true || false = true
if (forceSSL || forceAdminSSL) {
    ///TRUE
    return true;
    }
    return false;:
}

That method reponse is causing that checkSSL method redirect url over https even if url is already over https.
For test purposes I've changed the code in my own repository and looks everything is working ok.
I don't know Ghost blog deeper in code, so my solution couldn't the best one any lights?


azure: resource groups naming errors handled by creation

This commit represents the elimination of manual tests for resource group name and instead utilizes errors on resource group creation.
Signed-off-by: HashedDan<EMAIL_ADDRESS>Many thanks to @jorgecotillo for insight / recommendations!

Description of your changes: Manual checking of resource group names was subject to fall behind Azure naming requirements, so it has been eliminated, and errors are checked for when the attempt to create or update the resource group takes place. Original idea (#415) was to validate using ARM templates, but this was deemed be inefficient and cumbersome.
Which issue is resolved by this Pull Request:
Resolves #415
Checklist:

[x] Documentation has been updated, if necessary.
[x] Pending release notes updated with breaking and/or notable changes, if necessary.
[x] Upgrade from previous release is tested and upgrade user guide is updated, if necessary.
[x] Code generation (make generate) has been run to update object specifications, if necessary.
[x] CRD manifests generation (make manifests) has been run to update CRD manifests yaml file specifications, if necessary.
[x] Update dependencies (make vendor) has been run to update Gopkg.lock file, if necessary
[x] RBAC permissions in clusterrole.yaml have been updated to include new types, if necessary
[x] All related commits have been squashed to improve readability.
[x] Comments have been added or updated based on the standards set in CONTRIBUTING.md

@negz any further work desired here?


read/write tenant info

How would I go about having a set of tenant specific values (e.g. colors, images, text) that could be changed by the tenant -- like an admin for the tenant?

Do you use Entity Framework? There is a good guide here on per-tenant data - https://www.finbuckle.com/MultiTenant/Docs/EFCore
You'd restrict the Admin page to a specific role/claim/whatever and then implement just as you would anything else.

I looked at that, but I use IdentityDbContext() and could reconcile it with using MultiTenantDbContext

Do you use Entity Framework? There is a good guide here on per-tenant data - https://www.finbuckle.com/MultiTenant/Docs/EFCore
You'd restrict the Admin page to a specific role/claim/whatever and then implement just as you would anything else.

Hi @pkavan and thanks @markgould
I would suggest storing this type of thing in the multitenant store. You could use the Items collection in the TenantInfo to store various setting and such. What type of store are you using?
If you are using the EFCoreStore then Mark's approach makes a lot of sense. You would add the settings as fields on the entity class for the tenant (which must implemenet IEFCoreStoreTenantInfo). So in the EFCoreStore example you could add the fieds here:
https://github.com/Finbuckle/Finbuckle.MultiTenant/blob/master/samples/EFCoreStoreSample/Data/AppTenantInfo.cs
Of course you would still need to build a UI that lets users enter and save the settings and a way to retrieve them. The EFCoreStore doesn't populate the Items collection so you would have to modify the store to do that how you want it.
If you are using a different type of store the same idea would apply but the specifics of how you add new fields will differ. The InMemory store is probably not a good one to use for this use case because it would be difficult to save any changes back to the configuration files.

I am using the in memory store. If I understand it correctly, I agree that it would make more sense to use the EFCoreStore. Does the EFCoreStore create a database for the tenant info? And then TenantInfo would be a table and each tenant would have an entry?
I have said before that the middleware adjustments are my weak point, so I am struggling to see how this all works.
This is what my config in startup looks like now:
public void ConfigureServices(IServiceCollection services)
{
	// Add multitenancy
	services.AddMultiTenant().
		WithInMemoryStore(Configuration.GetSection("AnyCoreAg:MultiTenant:InMemoryStore")).
		WithHostStrategy();

	services.AddDbContext<ApplicationDbContext>();

	services.AddIdentity<ApplicationUser, IdentityRole>(options =>
	{
		//Password Options
		options.Password.RequiredLength = 6;
		options.Password.RequireNonAlphanumeric = false;
		options.Password.RequireLowercase = false;
		options.Password.RequireUppercase = false;
		options.Password.RequireDigit = false;

		// Lockout Options
		options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(3);
		options.Lockout.MaxFailedAccessAttempts = 7;
		options.Lockout.AllowedForNewUsers = true;
	})
		.AddEntityFrameworkStores<ApplicationDbContext>()
		.AddDefaultTokenProviders();

	// Add application services.
	services.AddTransient<IEmailSender, EmailSender>();
	services.AddMvc();
}

and
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
	if (env.IsDevelopment())
	{
		app.UseBrowserLink();
		app.UseDeveloperExceptionPage();
		app.UseDatabaseErrorPage();
	}
	else
	{
		app.UseExceptionHandler("/Home/Error");
	}

	app.UseMultiTenant();
	app.UseHttpsRedirection();
	app.UseStaticFiles();
	app.UseAuthentication();
	app.UseMvc(routes =>
	{
		routes.MapRoute(
			name: "default",
			template: "{controller=Home}/{action=Index}/{id?}");
	});

}

with my ApplicationDbContext like:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
	private TenantInfo _tenantInfo;

	public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, TenantInfo tenantInfo)
		: base(options)
	{
		_tenantInfo = tenantInfo;
	}

	#region Tables
        //All my app specific tables here
	#endregion Tables

	protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
	{
                // We do this check for when we are adding migrations to the dev DB
		if (_tenantInfo == null)
		{
			optionsBuilder.UseSqlServer("Server=(localdb)\\MSSQLLocalDB;Database=AppCore.Beta;Trusted_Connection=True;MultipleActiveResultSets=true");
		}
		else
		{
			optionsBuilder.UseSqlServer(_tenantInfo.ConnectionString);
		}

		base.OnConfiguring(optionsBuilder);
	}

	protected override void OnModelCreating(ModelBuilder builder)
	{
		base.OnModelCreating(builder);
		// Customize the ASP.NET Identity model and override the defaults if needed.
		// For example, you can rename the ASP.NET Identity table names and more.
		// Add your customizations after calling base.OnModelCreating(builder);
	}
}

I assume I am going to need two databases. My current ApplicationDbContext above and a second one based on EFCoreStoreDbContext<AppTenantInfo> since my App Context is one/per tenant and the EFCoreStore should be one for all of the tenants. I also assume the EFCoreStoreDb has to be created first, since I will need access to the TenantInfo to create my Application DB context.
Does that all seem correct?

I think I have it now....with a few things left to figure out.
I went ahead and built another context just for the tenant info.  I added the DB and created an entry for my dev instance. I removed the memory store from the AppSettings to make sure I was grabbing from the database. That all seems to work well.
Where I am stuck now is that I had a couple of 'Items' that I added to my AppTenantInfo class. They were 'Items' there, but I added them thus:
public class AppTenantInfo : IEFCoreStoreTenantInfo
{
	public string Id { get; set; }
	public string Identifier { get; set; }
	public string Name { get; set; }
	public string ConnectionString { get; set; }
	public string PrimaryColor { get; set; }
	public bool HasSubscription { get; set; }
}

They show up in the database, but they don't seem to come over when I try to call tenantInfo into a form. Before I had
<nav class="navbar fixed-top navbar-light navbar-expand-sm"<EMAIL_ADDRESS>Now, it doesn't seem to have entries for Primary Color.
Am I missing something?

Figured out a work around. Basically, I have the tenantInfo, which contains the Id, so then I just call the table entry into the class I made that contains the extra fields..
TenantInfo tenantInfo = Context.GetMultiTenantContext().TenantInfo;
var tenantOptions = (AppTenantInfo)tenantContext.TenantInfo.Find(tenantInfo.Id);

Hi @pkavan glad you found a workaround. I'll try to answer some of your questions:

Does the EFCoreStore create a database for the tenant info? And then TenantInfo would be a table and each tenant would have an entry?

Yes! Well if the database already exists it won't create it, but you have the right idea.

I assume I am going to need two databases.

Not necessarily. You can add an entity to your app or Identity dbcontext and use the same dbcontext. It really depends on what you prefer and what works best for you.

since my App Context is one/per tenant and the EFCoreStore should be one for all of the tenants.

I see what you mean here. I can't see your ApplicationUser but I'm assuming it derives from MultiTenantIdentityUser or  has the [MultiTenant] attribute. That being said, the dbcontext itself isn't one per tenant and is really one per request under the hood. You could add an entity for your tenant info onto the same context and it shouldn't be a problem.
I don't like to mix my own stuff with the Identity context thought because it is already pretty complicated and MS might change it in the future. I like your approach.

They show up in the database, but they don't seem to come over when I try to call tenantInfo into a form. ... am I missing something

Yeah you have run into a limitation of the EFCoreStore if you look at the source below for TryGetAsync  which populates the tenantinfo you would normally use you can see it puts in NULL from items because it has no idea what extra things were added to the entity. Maybe I can make this smarter in a future release. I think your workaround is perfect.
public async Task<TenantInfo> TryGetAsync(string id)
{
    return await dbContext.Set<TTenantInfo>()
                    .Where(ti => ti.Id == id)
                    .Select(ti => new TenantInfo(ti.Id, ti.Identifier, ti.Name, ti.ConnectionString, null))
                    .SingleOrDefaultAsync();
}

I run into a similar issue as well; not sure if it's the best approach but here's how I made it work for me.
I created my implementation of IMultiTenantStore and modified the TryGetAsync and TryGetByIdentifierAsync methods to retrieve tenant information from the store and convert the extra items into Dictionary<string, object> as the TenantInfo Items property expects it.
      var tenant =  await dbContext.Set<TTenantInfo>()
                        .Where(ti => ti.Id == id)
                        .SingleOrDefaultAsync();
        if(tenant != null)
        {
            var tenantItems = tenant.Items.Select(c => new
            {
                c.ItemName,
                c.Item
            })
            .ToDictionary(pair => pair.ItemName, pair => (object)pair.Item);

            var tenantInfo =  new TenantInfo(
                tenant.Id,
                tenant.Identifier,
                tenant.Name,
                tenant.ConnectionString,
                tenantItems
            );
            return tenantInfo;
        }

@MesfinMo Thanks for your response! I've been thinking about this as well (mainly for an http/REST store) and I think a similar approach could work for EFCoreStore or really any store. I hope to have something added to the library for this in a future release.


Transformers: Write trade json -to- simulationstate (trade-tape) mapping function

function receives as input the location of trade data provided by the data team (e.g. an s3 bucket address)
function delivers as output a simulators.(New)SimulationState object with the full trade-tape as if the trades had happened in elfpy sim world.

json is returning trade info (trade details are deltas going into market, and then receipt emitted is deltas coming out) --> need to turn this into a "trade tape", i.e. NewSimulationState


Error Rich Presence Discord

Hello, I'm here to report an error with the Discord presence.
A few hours ago I uploaded my server to the LunarClient ServersMappings Repository with its data, these were accepted but when I enter my server, it shows the information of another server that is not mine, I will attach an image and I hope the error can be corrected.
Link: https://github.com/LunarClient/ServerMappings/tree/master/servers/vyrexmcnet

Discord takes a long time to update it

Hi @Anakinnnnn
I've been waiting a few days for what you told me through this conversation but the same thing still appears from another server. Could you help me please?


Crash starting up the game

Hey, I'm developing a pack and we were trying to use the mod but encountered a crash. One of my devs said it might have to do with Reflection and an internal field name got changed in 1.12.2
Here's the report!
crash-2017-09-25_22.48.41-client.txt

No, I did not change the field in these places.
Maybe this is the influence of another mod?

https://gist.github.com/Divineaspect/c57d1e6dd948c8832991b59d8b615978
having the same crash, nothing else is erroring.

I'm experiencing the same crash; https://pastebin.com/5bMva6KR
Some mods have updated recently with update notes similar to "Fix for sneaky mcp naming that renamed AABB.expand to a different method with same signature, causing bugs in every mod". Perhaps this is related?

If I'm interpreting what my dev said to me correctly, it was the lack of change which may have been the issue.

I did not understand a bit, what should I do?
Should I just update to the latest version of forge?
This is the crash place. It's just a stairs constructor. There is nothing special.
`public class MistBlockStairs extends BlockStairs implements IDividable {
private final Block fullBlock;

public MistBlockStairs(IBlockState modelState) {
	super(modelState);
	this.useNeighborBrightness = true;
	this.fullBlock = modelState.getBlock(); //line 23
}

...`

field_149787_q is fullBlock if you look at the mappings.
Maybe a newer forge version made this field deprecated.

But "fullBlock" is my own field.
There should not be any crash ... It's very strange.

Wait, now I am confused. I looked at the Forge Field list and the field in question in the log is named fullBlock as well. So maybe you are accidently overriding one.

Ok. I tried to rename this field.
Test it, please: https://cloud.mail.ru/public/8Jwd/BM5mJYpJ9

Fixed


Check for chocolatey's presence before trying to install

Added a check for Chocolatey's presence locally to decide if it should be installed.

Hiyo!  Could we do something with get-command?  Might make it a little more readable?  Sorry, completely missed this PR!
Thanks!


[Impact Metric Submission]: Summary Zora Onchain Metrics by month

Summary Zora Onchain Metrics by month
Tags

Zora
l2
NFT

Brief description
This metric calculated using the superchain subproject on the opensource-observer directory/repository (zora_traces table).  Yes
Query Meets Challenge Spec? Yes
Complexity Score: -
Utility Score: 🌟
Total Points: 0.5
Comments: Good metrics, but same as Base model


Usable hotkeys limited

OS:  Ubuntu
Issue Descriptions: I am unable to set hotkeys to anything using number keys, plus/minus or function keys. I don't believe I have intellitype or setpoint.
Steps to Reproduce: Go into hotkeys section of settings, try to enter ctrl alt + or ctrl alt F2 as a keybind.

Hotkeys are a known issue. See #413


Add exception for veclibfort linking to Accelerate

veclibfort exists solely to wrap Apple's accelerate and provide BLAS/LAPACK
access to Accelerate

Improve the help message for that audit to mention veclibfort

See discussion in #6130

[X] Have you followed the guidelines in our Contributing document?

[X] Have you checked to ensure there aren't other open Pull Requests for the same change?

[X] Have you added an explanation of what your changes do and why you'd like us to include them?

Add an Accelerate linkage audit exception for veclibfort since its raison d'etre is to wrap accelerate.

[ ] Have you written new tests for your changes? Here's an example.

@MikeMcQuaid @jonchang no idea why the linux check is failing.

@zbeekman Did you read the output? The reason seems pretty clear to me.

https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=9351&view=logs&jobId=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&taskId=6c56d998-158d-5232-283c-5140104799fc&lineStart=498&lineEnd=516&colStart=1&colEnd=1

@MikeMcQuaid Yup, read the output and saw that, however, I did NOT touch the file with the audit failure! I can look into fixing it, even though I didn't introduce the audit failure.

@zbeekman Ok, I see now. I think it was a RuboCop bump happening before another PR was merged. Thanks for fixing it 🎉

Thanks @zbeekman!


Incremental rebuilds

Related: ardatan/graphql-tools#2816
incremental re-builds in codegen. It skips running any computations related to outputs when their documents, schemas didn’t change. Later on we could cache plugin outputs as well and run only those relevant. Even more interesting, we could calculate checksums and avoid generating unnecessary file even outside of watch mode
4s vs 0.4s
https://user-images.githubusercontent.com/8167190/122384173-b9c3cf80-cf6b-11eb-8cd9-e6632e8a1e9d.mov

@kamilkisiela is this still being actively worked on? Would love to see this sort of improvement and wanted to see if there's anything I could do to assist.

I would have to rebase the PR and adjust it a bit, because of the change in GraphQL tools Loaders.
The Loaders changed quite a bit :(

The idea here was to also persist some kind of metadata file to build/skip things between executions of graphql-codegen command.

The idea here was to also persist some kind of metadata file to build/skip things between executions of graphql-codegen command.

Ah nice, yeah that would be pretty useful - was starting to look into different options for speeding up the codegen by potentially building a smarter in-process watcher, which it looks like this is trying to do. We're using graphql-codegen (and several other graphql-tools) in the new v10 branch of Cypress: https://github.com/cypress-io/cypress/blob/10.0-release/graphql-codegen.yml and the codegen is a bit of a bottleneck when doing local development

We will keep this PR as an inspiration for the upcoming work on CLI improvements.