New 'lodash' Dependency Breaks JavaScriptCore

I use JavaScriptCore (the low-level C library that powers JavaScript in WebKit) to run JSHint. (Note: This is NOT the JSC CLI runtime that you guys deprecated support for a long time ago.)
When I attempted to run JSHint 2.7.0 in this environment, it failed. In the past, this was caused by a bad version of Browserify. (See #1963). This time, it appears to be caused by the recent replacement of underscore with lodash.
This commit is the issue: https://github.com/jshint/jshint/commit/2fc1e2377ac590eb0455f0a2b0ffef76f3f0b0ef
How I Diagnosed the Issue
The first thing I did was roll back all the dependencies in package.json to their values before this commit: https://github.com/jshint/jshint/commit/6f83a1a78a5f1edec3fc7ac4cb4fa116661c7d7e
I then ran npm install and ./bin/build, but the built version of JSHint continued to fail.
At that point, I noticed that underscore had been replaced by lodash. I undid only that change, leaving all the other dependencies updated as they are in the 2.7 release. I ran npm install and built JSHint. The compiled jshint.js file worked flawlessly in JavaScriptCore.
lodash 3.6.x and 3.7.x Are Buggy
Next, I wanted to see if lodash fixed whatever bug causes this in their 3.7.x release. (JSHint's package.json currently requires 3.6.x.) So I installed a fresh copy of JSHint from npm and then edited package.json to require lodash 3.7.x instead of lodash 3.6.x. That made no difference. The built version of jshint still failed.
Reason for Dependency Change?
Was there a pressing need to use lodash instead of underscore? What was the reason for this switch?

JSHint doesn't officially support JavaScriptCore, but there's no reason why it shouldn't. If we extend the testing environment to run the project in that engine, then we'll be able to avoid breaking support (for a third time) in the future.
You'll have to bear with us on this: believe it or not, we're still working on testing JSHint in a browser (see gh-2128). JSC isn't nearly as familiar to me, so it may take some time to figure out the necessary extensions to the testing infrastructure. The good news is that once that's done, it should be easy to update our continuous integration process; I think we can just install the rhino package from apt on the TravisCI Ubuntu machine and use rhino-jsc.
Apologies for the late reply!

we could be able to build a native ObjC app that links with the system JSC library on travis in order to test JSC support, that seems like a pretty fun side project actually

or just test the browser build against safari, ofc

It'd be great if you could include it in the test suite! That would save me a lot of headaches!
Sent from my iPhone

On May 9, 2015, at 17:39, ⭐caitp⭐<EMAIL_ADDRESS>wrote:
or just test the browser build against safari, ofc
—
Reply to this email directly or view it on GitHub.

Any chance you guys could drop lodash and go back to underscore? This issue is still a problem with JSHint 2.8 and it looks like a few other folks are having problems.
The "new" lodash replacement is what breaks everything and hacking it back to underscore for every release is a bit tedious.

Hi Bryan!
I'm still leery to commit any fix without some automated test to prevent
regressions. I kind of left you high-and-dry on this one; sorry about that. I
took some time to investigate testing in JavaScriptCore today, but I couldn't
quite finish. I was thinking that as an actual JSC user, you might have some
insight that would help.
The work-in-progress is on the jsc branch of my fork here:
https://github.com/jugglinmike/jshint/tree/jsc . We already maintain logic for
bundling the unit test suite into a standalone JavaScript file for the purposes
of testing in browser-like environments. On this feature branch, I've
abstracted that logic for re-use in the JSC tests. The tests actually pass on
my local machine! There are two things that need fixing before it's ready for
prime time, though:

Installing JSC in TravisCI. The naive
approach
works on my machine, but not on TravisCI's
servers.
A real implementation of setTimeout. The hack I
found
is way too fragile to trust for master. This may require using some
other runtime to "wrap" JSC and install a setTimeout implementation with
native code...

I don't know your background or expertise, but I thought it couldn't hurt to
ask. Do you have any ideas for where we might go from here?

I think @caitp may have been on to something when it comes to #2

we could be able to build a native ObjC app that links with the system JSC library on travis in order to test JSC support, that seems like a pretty fun side project actually


Including None or null explicitly as featurized Slot Value leads to failing Rule Policy

Rasa version: 2.0.3
Rasa SDK version (if used & relevant): -
Rasa X version (if used & relevant): -
Python version: 3.8.5
Operating system (windows, osx, ...): Linux Ubuntu16.04
Issue:
When adding the value "None"(str) or null explicitly into the value configuration of a possible slot inside the domain.yml, the RulePolicy cannot handle the content "None"(NullObject) as condition to match rules.
See the following setup:
General:

Rules:

version: '2.0'
rules:
- rule: set_A
  steps:
  - intent: intent_A
  - action: action_set_A
- rule: set_None
  steps:
  - intent: intent_None
  - action: action_set_None
- rule: utter_A
  condition:
  - slot_was_set:
    - X: A
  steps:
  - intent: trigger_utter
  - action: utter_A
- rule: utter_None
  condition:
  - slot_was_set:
    - X:
  steps:
  - intent: trigger_utter
  - action: utter_None

Test Story:

stories:
- story: utter A and None
  steps:
  - intent: intent_A
  - action: action_set_A
  - slot_was_set:
    - X: A
  - intent: trigger_utter
  - action: utter_A
  - intent: intent_None
  - action: action_set_None
  - slot_was_set:
    - X:
  - intent: trigger_utter
  - action: utter_None

Example 1 (without setting explicitly None as value):

Domain: (name of the file: "domain_wout.yml")

version: '2.0'
intents:
- intent_A
- intent_None
- trigger_utter
responses:
  utter_A:
  - text: "A"
  utter_None:
  - text: "None"
forms: []
slots:
  X:
    type: categorical
    values:
    - "A"
actions:
- action_set_A
- action_set_None

Example 2 (with setting explicitly null as value):

Domain: (name of the file: "domain_w_null.yml")

version: '2.0'
intents:
- intent_A
- intent_None
- trigger_utter
responses:
  utter_A:
  - text: "A"
  utter_None:
  - text: "None"
forms: []
slots:
  X:
    type: categorical
    values:
    - "A"
    - null
actions:
- action_set_A
- action_set_None

Example 3 (with setting explicitly "None" as value):

Domain: (name of the file: "domain_w_None.yml")

version: '2.0'
intents:
- intent_A
- intent_None
- trigger_utter
responses:
  utter_A:
  - text: "A"
  utter_None:
  - text: "None"
forms: []
slots:
  X:
    type: categorical
    values:
    - "A"
    - "None"
actions:
- action_set_A
- action_set_None

Example 3 (with setting explicitly an additional random string as value):

Domain: (name of the file: "domain_w_random.yml")

version: '2.0'
intents:
- intent_A
- intent_None
- trigger_utter
responses:
  utter_A:
  - text: "A"
  utter_None:
  - text: "None"
forms: []
slots:
  X:
    type: categorical
    values:
    - "A"
    - something_else
actions:
- action_set_A
- action_set_None

Error (including full traceback):
>>> Start Setup: wout
Training Core model...
Core model training completed.
Your Rasa model is trained and saved at '/tmp/rasa_featurized_slot_w_none/models/wout.tar.gz'.
No NLU model found. Using default 'RegexInterpreter' for end-to-end evaluation. If you added actual user messages to your test stories this will likely lead to the tests failing. In that case, you need to train a NLU model first, e.g. using `rasa train`.
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 353.44it/s]
<<< End Setup: wout
>>> Start Setup: w_null
Training Core model...
Core model training completed.
Your Rasa model is trained and saved at '/tmp/rasa_featurized_slot_w_none/models/w_null.tar.gz'.
No NLU model found. Using default 'RegexInterpreter' for end-to-end evaluation. If you added actual user messages to your test stories this will likely lead to the tests failing. In that case, you need to train a NLU model first, e.g. using `rasa train`.
  0%|                                                                                | 0/1 [00:00<?, ?it/s]
WrongPredictionException: Model predicted a wrong action. Failed Story:

version: "2.0"
stories:
- story: utter A and None
  steps:
  - intent: intent_A
  - action: action_set_A
  - slot_was_set:
    - X: A
  - intent: trigger_utter
  - action: utter_A
  - intent: intent_None
  - action: action_set_None  # predicted: action_listen

<<< End Setup: w_null
>>> Start Setup: w_None
Training Core model...
Core model training completed.
Your Rasa model is trained and saved at '/tmp/rasa_featurized_slot_w_none/models/w_None.tar.gz'.
No NLU model found. Using default 'RegexInterpreter' for end-to-end evaluation. If you added actual user messages to your test stories this will likely lead to the tests failing. In that case, you need to train a NLU model first, e.g. using `rasa train`.
  0%|                                                                                | 0/1 [00:00<?, ?it/s]
WrongPredictionException: Model predicted a wrong action. Failed Story:

version: "2.0"
stories:
- story: utter A and None
  steps:
  - intent: intent_A
  - action: action_set_A
  - slot_was_set:
    - X: A
  - intent: trigger_utter
  - action: utter_A
  - intent: intent_None
  - action: action_set_None  # predicted: action_listen

<<< End Setup: w_None
>>> Start Setup: w_random
Training Core model...
Core model training completed.
Your Rasa model is trained and saved at '/tmp/rasa_featurized_slot_w_none/models/w_random.tar.gz'.
No NLU model found. Using default 'RegexInterpreter' for end-to-end evaluation. If you added actual user messages to your test stories this will likely lead to the tests failing. In that case, you need to train a NLU model first, e.g. using `rasa train`.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 364.22it/s]
<<< End Setup: w_random

Command or request that led to error:
for setup in wout w_null w_None w_random;do
	echo ">>> Start Setup: $setup"
	rasa train core -s data.yml -d domain_${setup}.yml --fixed-model-name $setup --quiet
	rasa test core -s test_story.yml -m models/${setup}.tar.gz --out results/${setup} --fail-on-prediction-errors --quiet
	echo "<<< End Setup: $setup"
done

Content of configuration file (config.yml) (if relevant):
language: en

pipeline:
  - name: WhitespaceTokenizer
  - name: LexicalSyntacticFeaturizer
  - name: CountVectorsFeaturizer
    token_pattern: (?u)\b\w+\b
  - name: DucklingHTTPExtractor
    url: http://localhost:8000
  - name: DIETClassifier
    epochs: 1
  - name: FallbackClassifier
    ## If the highest ranked intent has a confidence lower than the threshold than
    ## the NLU pipeline predicts an intent `nlu_fallback` which you can then use in
    ## stories / rules to implement an appropriate fallback.
    threshold: 0.2

policies:
  - name: RulePolicy
    core_fallback_threshold: 0.3
    core_fallback_action_name: action_listen
    enable_fallback_prediction: true

My guess would be that the content of the slot is cast into a string, when the heads of the rules are matched against the current event list and the whole thing somehow has a problem with featurizing the slot properly. I don't know if this is intended

Thanks for the issue, @b-quachtran will get back to you about it soon!
You may find help in the docs and the forum, too 🤗

@b-quachtran Could you please follow-up with the user?

@b-quachtran Could you please follow-up with the user?


Centralizing Eco-System, Package Manager and Language Information

What are you trying to accomplish?
This PR extends the abstract package manager to support ecosystems by storing version-related information in a nested structure that includes ecosystem, and package_manager details. This refactor centralizes ecosystem information, making it easily accessible for Dependabot and metrics collection.
Here’s an example of the nested structure:
{
  "ecosystem": {
    "name": "npm_and_yarn",
    "package_manager": {
      "name": "npm",
      "raw_version": "2.1.4",
      "version": "2.1.4"
    }
  }
}

Anything you want to highlight for special attention from reviewers?
This PR aims to centralize common functionality into a generalized ecosystem structure, allowing us to use it across different parts of the main flow. We've already implemented a generalized package manager structure, with Bundler and Composer utilizing it for deprecation warnings and unsupported errors. This enhancement extends the structure to include more ecosystem, package manager, and language-specific details.
The refactor updates existing ecosystems like Bundler and Composer to leverage this structure, making it easier to maintain and extend in the future.
How will you know you've accomplished your goal?

All tests pass, ensuring no regressions.
The refactor does not break current functionality, and all package managers continue to work as expected.
New functionality (e.g., additional attributes in the abstract package manager) is fully covered by tests.

Checklist

[x] I have run the full test suite and ensured all tests and linters pass.
[x] I have thoroughly tested my changes, adding additional tests where necessary.
[x] I have written clear and descriptive commit messages.
[x] I have provided a detailed description of the changes, including the problem addressed and the implementation details.
[x] I have ensured that the code is well-documented and easy to understand.

After merging this PR, the following PRs will be like:

2nd PR: Move npm_and_yarn into the generalized ecosystem-package_manager structure.
3rd PR: Create the feature flag package_manager_metrics_for_update_process for metrics collection.
4th PR: Collect metrics for the generalized ecosystem, applying to bundler, composer, and npm_and_yarn.
5th PR: Parse additional details beyond package manager versions, including package manager requirements, language versions, and language requirements.
6th PR: Send metrics to kusto from dependabot-core, gated by the feature flag.
7th PR: Receive and send metrics to kusto via dependabot-api. Metrics will be sent directly to kusto without storing them in the database.

The requirements parameter under VersionManager has been temporarily removed in this PR. We will reintroduce it when we start implementing the metrics collection feature in a upcoming PR.
{
  "raw_constraint": ">= 2.0",
  "min_raw_version": "2.0",
  "min_version": "2.0",
  "max_raw_version": "3.0",
  "max_version": "3.0"
}

@jakecoffman,
I’ve made changes to remove all the new dead code, and this PR now focuses solely on moving the package manager into an ecosystem wrapper. I also applied these changes for Bundler and Composer to set up the structure for future expansion. I believe this approach will make the current PR easier to review and simplify reviewing subsequent PRs. Here's the breakdown:

Added package_manager (now VersionManager) support for npm_and_yarn (npm, yarn, pnpm).
Created an endpoint in dependabot-api to receive ecosystem and package manager information and send this data to kusto.
Sent ecosystem and package manager information to kusto via the created dependabot-api endpoint.

At this point, we have a small MVP, allowing us to see the raw and normalized package manager versions in kusto.
From here, we can work to expand the metrics with the following steps:
** Package Manager Requirements**

Add requirements  for package_manager and apply it for Bundler.
Apply requirements for Composer.
Apply requirements for npm_and_yarn (npm, yarn, pnpm).
Send requirements metrics to kusto through dependabot-api by using existing endpoint.

** Language Versions**

Add language support in VersionManager for Bundler.
Add language support in VersionManager for Composer.
Add language support in VersionManager for npm_and_yarn.
Send language metrics to kusto through dependabot-api by using existing endpoint.

** Language Requirements**

Add language requirements for Bundler.
Add language requirements for Composer.
Add language requirements for npm_and_yarn.
Send   language requirements metrics to kusto through dependabot-api by using existing endpoint.

Please let me know if that is good plan?
CC: @abdulapopoola

Ecosystem and PackageMa

Thanks.


Debug freezes on splash screen

Godot version
v4.0.3.stable.official [5222a99f5]
System information
Windows 11 AMD Ryzen CPU Radeon Integrated Graphics
Issue description
My project debug freezes on splash screen, it no longer works despite me reverting the changes, there are no unending while or for loops, it just freezes, for no apparent reason, other versions, such as steam beta 4.0 stable do not work either, it just froze without debug, for some reason deleting all nodes of a viewport within the player node fixes it, but deleting individual nodes won't, there is no consistent node causing it within the viewport

Steps to reproduce
I haven't any EARTHLY idea how, i added some code, it did this, i removed the code, it STILL did this
Minimal reproduction project
Refer to Steps to reproduce

I figured it out, it turns out one of my .tres files for the UI was probably corrupted, as adding a new label with this theme broke it, slowly adding back files and nodes now

Yup, it got corrupted, I guess there's no debug warning that a file may be corrupted

So no error anywhere in the output?

Is this issue resolved?


NuGet Task Succeeded When Azure DevOps Artifacts Was Down

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: NuGetCommand
Environment
Hosted Agent
Issue Description
When running a simple NuGet push, the push didn't actually occur because ADO services was returning a 503.  The NuGet Task ran successfully anyway.

2021-03-03T20:44:00.3276702Z ##[section]Starting: NuGet push
2021-03-03T20:44:00.3406274Z ==============================================================================
2021-03-03T20:44:00.3406606Z Task         : NuGet
2021-03-03T20:44:00.3407163Z Description  : Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
2021-03-03T20:44:00.3407763Z Version      : 2.179.0
2021-03-03T20:44:00.3407979Z Author       : Microsoft Corporation
2021-03-03T20:44:00.3408292Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget
2021-03-03T20:44:00.3408653Z ==============================================================================
2021-03-03T20:44:01.0121042Z Caching tool: NuGet 4.1.0 x64
2021-03-03T20:44:01.0387766Z Found tool in cache: NuGet 4.1.0 x64
2021-03-03T20:44:01.0458710Z Resolved from tool cache: 4.1.0
2021-03-03T20:44:01.0459280Z Using version: 4.1.0
2021-03-03T20:44:01.0461995Z Found tool in cache: NuGet 4.1.0 x64
2021-03-03T20:44:01.1338107Z SYSTEMVSSCONNECTION exists true
2021-03-03T20:44:01.1904185Z SYSTEMVSSCONNECTION exists true
2021-03-03T20:44:01.6570254Z ##[warning]

Azure DevOps Services Unavailable

Azure DevOps Services

Sorry! Our services aren't available right now.
We're working to restore all services as quickly as possible. Please check back soon.
To see the latest status on our services, please visit our support page.

                    Ref A: 1AB70CA69FE74CE2A15E70DC089E730B Ref B: STBEDGE0222 Ref C: 2021-03-03T20:44:01Z

2021-03-03T20:44:03.1191835Z ##[warning]

Azure DevOps Services Unavailable

Azure DevOps Services

Sorry! Our services aren't available right now.
We're working to restore all services as quickly as possible. Please check back soon.
To see the latest status on our services, please visit our support page.

                    Ref A: DFADD9FEF7E14A56AE5CB4A754CBF9FF Ref B: STBEDGE0211 Ref C: 2021-03-03T20:44:03Z

2021-03-03T20:44:04.5524290Z (node:3292) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error:
2021-03-03T20:44:04.5525935Z
2021-03-03T20:44:04.5526219Z
2021-03-03T20:44:04.5526559Z
2021-03-03T20:44:04.5526940Z
2021-03-03T20:44:04.5538837Z         Azure DevOps Services Unavailable
2021-03-03T20:44:04.5539175Z
2021-03-03T20:44:04.5539424Z
2021-03-03T20:44:04.5540132Z
2021-03-03T20:44:04.5541501Z
2021-03-03T20:44:04.5542970Z             Azure DevOps Services
2021-03-03T20:44:04.5543327Z
2021-03-03T20:44:04.5543714Z
2021-03-03T20:44:04.5571593Z
2021-03-03T20:44:04.5590573Z
2021-03-03T20:44:04.5590961Z                 Sorry! Our services aren't available right now.
2021-03-03T20:44:04.5591473Z                 We're working to restore all services as quickly as possible. Please check back soon.
2021-03-03T20:44:04.5592203Z                 To see the latest status on our services, please visit our support page.
2021-03-03T20:44:04.5592793Z
2021-03-03T20:44:04.5593071Z
2021-03-03T20:44:04.5593349Z
2021-03-03T20:44:04.5594009Z                     Ref A: 3B580CAF9E854EE9A7B21031ED32E70D Ref B: CO1EDGE1610 Ref C: 2021-03-03T20:44:04Z
2021-03-03T20:44:04.5594462Z
2021-03-03T20:44:04.5594742Z
2021-03-03T20:44:04.5594997Z
2021-03-03T20:44:04.5595287Z
2021-03-03T20:44:04.5595540Z
2021-03-03T20:44:04.5595641Z
2021-03-03T20:44:04.5631740Z ##[section]Finishing: NuGet push

I hit exactly the same issue. The Nuget restore task succeeded, although a timeout occured

I hit a similar issue where pack succeded, but no package was produced 🙃


vendor: Revendor govmm for VSOCK support

We want VSOCK for the kata_agent implementation
Short log:
5316779 qemu: Add VSOCK support
Signed-off-by: Samuel Ortiz<EMAIL_ADDRESS>

lgtm

lgtm


ending a line with ` starts a new line that can't be exited

What is the issue?
I was trying to find a way to enter multi-line text and tried the powershell solution of ending a line with `
The line was not evaluated and I was prompted to "Enter new command" but nothing after the tilda was evaluated and I was unable to quit Ollama.  Cmd+Q didn't even work.
OS
macOS
GPU
Apple
CPU
Apple
Ollama version
0.1.32

I tried this in both Windows Powershell and in Terminal and couldn't duplicate it.
If you want to do multiline, you can start a line with """. It also should work with cut+paste (we use bracketed paste mode in the CLI). I'm going to go ahead and close the issue, but please keep commenting/re-open if I missed something.


MWPW-159560

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

Project coverage is 88.62%. Comparing base (5295271) to head (a36877e).
Report is 5 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #843      +/-   ##
==========================================
- Coverage   88.72%   88.62%   -0.11%
==========================================
  Files          51       51
  Lines        7805     7814       +9
==========================================
  Hits         6925     6925
- Misses        880      889       +9

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


Fix the workbench shell

Using cabalWrapped also requires us to mess with haskell.nix's choices for what packages to prepare the shell for.

Using cabalWrapped also requires us to mess with haskell.nix's choices for what packages to prepare the shell for.

To clarify, this is how it used to work, and that standard behavior was changed by https://github.com/input-output-hk/cardano-node/commit/814b6d8d5ea0822c5460b455b7caba105a9eaab4#diff-65f4ca594d8a70559d53a677a686f5245807d0d094bbbb159e367766bf316ea2L81

Yes, to be clear, I messed it up first!

bors r+


Weird output with PMID search

check this out:

I never saw this before, it's reporting GO reefs s the IDs?

and not finding the publication match?

That's very weird.
I tried PMID:38830897 and got the expected result:

I noticed that we get the same weird result if we change the colon to a space "PMID 38830897" or an underscore "PMID_38830897".  It's probably related and I can fix that.
Also we get no matches at all for PMID38830897.  We should fix that too.

I noticed that we get the same weird result if we change the colon to a space "PMID 38830897" or an underscore "PMID_38830897". It's probably related and I can fix that.
Also we get no matches at all for PMID38830897. We should fix that too.

I've fixed all those cases for the morning.
Still don't know what caused your bug though.

Since we can't reproduce this problem should we close the issue?

yep, maybe there were some funny charcters in my string

If you see other weird search box behaviour in future could you try pasting into an email or GitHub issue?  Thanks.


[104] Improved compute infra payments

Implement a new way for infrastructure payments to prevent over or underpayment for computation. E.g. credit or escrow systems via smart contracts.

[ ] c2d escrow smart contract
[ ] ocean node refactor
[ ] c2d refactor
[ ] ui changes

This will be implemented into the community version of Ocean Node.


changing gs.Spec.PodSpec to PodTemplateSpec

Fixes #105
This PR should be merged just before we ship 0.2.0, since it will change all the sample yaml files unfortunately.
This PR alters GameServerBuild to accept PodTemplateSpec instead of PodSpec. This will allow the user to set custom Labels and Annotations for their Pods (PodTemplateSpec contains ObjectMeta whereas PodSpec does not). Other fields on the PodTemplateSpec are ignored.

The reason for the controller-gen upgrade is this thread https://github.com/kubernetes/kubernetes/issues/80330, basically the embedded ObjectMeta was ignored during CR creation
Removed the CustomReported from the unit tests, since it's being deprecated and it emitted warnings

                                exec:

Does all of this get autogenerated? Otherwise, it's a lot of things to review

Refers to: pkg/operator/config/crd/bases/mps.playfab.com_gameservers.yaml:1260 in 18d5660. [](commit_id = 18d566093b2107baf43d386ac4e156ab507b4a97, deletion_comment = False)

Unfortunately no, I had to edit everything by hand :(


Update RecordsManagementExtensions.cs

Q
A

Bug fix?
no

New feature?
yes

New sample?
no

Related issues?

What's in this Pull Request?
This changes makes it possible to use the Methode onpremise by adding manually the right SharePoint Version number.
Guidance
You can delete this section when you are submitting the pull request.

Please update this PR information accordingly. We'll use this as part of our release notes in monthly communications.
Please target your PR to Dev branch.
Possibility to handle the SharePoint Version manually. This enables the onpremise usage.

Hi @twimon, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Hey @twimon ,
Can you please resubmit this PR but then targeting our DEV branch. We can only accept changes on our dev branch...on a monthly basis we then do a master merge which pushes changes from dev back into the master branch.
See https://channel9.msdn.com/blogs/OfficeDevPnP/PnP-Web-Cast-How-to-contribute-to-Office-Dev-PnP-initiative for a web cast explaining how you can create a pull request targeting the DEV branch.
Thx.


Windows docs missing images

Bug Report
Problem
Can't see the docs images.
What is expected to happen?
See images.
What does actually happen?
Image urls returns 404.
Information

https://cordova.apache.org/docs/en/latest/guide/platforms/windows/index.html
Command or Code

Environment, Platform, Device

Web browser.
Version information

Checklist

[ X ] I searched for existing GitHub issues
[ X ] I updated all Cordova tooling to most recent version
[ X ] I included all the necessary information above

Can confirm: getting the 404. @janpio any ideas why images might be disappearing?

@dblotsky Paths has been changed and appears to be because we dropped win8 from docs 8.x and newer. windows is now the platform name.
Example File Paths:
https://cordova.apache.org/static/img/guide/platforms/windows/win8_installTools.png
is now
https://cordova.apache.org/static/img/guide/platforms/win8/win8_installTools.png
win8 was last used in 7.x. Images still work for this version.
https://cordova.apache.org/docs/en/7.x/guide/platforms/win8/index.html
I can either
A. Use the old path in docs 8.x, 9.x, and dev.
B. Copy the images to the new folder path.

@erisu you might want to take a look at this: https://github.com/apache/cordova-docs/blob/master/doc/redirects.md. If that wouldn't resolve this issue, then I think option B is good.

@dblotsky Also, I just found and believe this was the PR that made this change. https://github.com/apache/cordova-docs/pull/797

@erisu yep, it looks like the PR renamed paths, but didn't copy over images. Sounds like option B (copying images so that they're in both win8 and windows) is the way to fix this.


Caught IndexError in DataLoader worker process 0

Hi,When I try to generate point cloud I am getting this error
Caught IndexError in DataLoader worker process 0
I changed the gpu num in the json but it didn't work, do you know what is causing it

Could you give some more details regarding your configuration? It seems to me that there is an issue with the configuration of your dataset.


[Kotlin] JVM support (part 2)

Added helper class for library loading on JVM: WalletCoreLibLoader
Added first test for Kotlin project (copied from Android project)
Run tests on CI for Kotlin (only JVM target)

Brilliant! Could you advice, tools/kotlin-release will automatically put the dynamic libraries to the jar file, right? So I can start working on the release workflow now?

Yes, we just need to move native libraries to corresponding folders:

kotlin/wallet-core-kotlin/src/jvmMain/resources/jni/linux-x86_64/
kotlin/wallet-core-kotlin/src/jvmMain/resources/jni/macos-arm64/


MetaData Tagging

Metadata Tags are not being properly assigned from last.fm

Corrected to add Artist - Song and genre if available from last.fm


Core modules split

What:

Project split into core and operations-api.
Some minor workflows modification, detekt -> detektAll
Gradle scripts

Why:

To introduce architecture which allows creating plugins with additional operations. By using only operations-api module user is able to create new library and attach operations from it during engine initialisation process.

Example:

Internal usage of operations-api to create stdlib module: https://github.com/allegro/json-logic-kmp/pull/41

I removed comments left by reviewdog because of wrong detekt config in the previous commits

FIles I think we should consider adding to core:

JsonLogicException (because other operations may also want to throw exceptions, right?)
Array, Boolean and StringUtils? - I may be wrong so we probably should not do it right away, but I think other operations may also need some type checking and parsing

Also: wasn't json logic operators supposed to be in separate module? Now jsonlogic operations are in core  (maybe it was wrong assumption and jsonLogic operators should be in core. For DSL moving jsonLogic operations out of core would also generate problems (would break autocomplete).

I agree with the first point - I will move the exception to the API module 👍🏽
Utils are quite controversial because they are here mainly because of how JS works. I would not extract them to the API module because external plugins probably will not need them(?). If we want to really reuse them I propose creating new module with utils/common. By doing so we will not bother new developers with some strange JS specific parsing utils and keep them for internal usage.
Last but not least, the core/contract operators. Solution I prepared is some kind of proposal. I discussed it with Marek to be more sure about my idea.
What I think is:

Operations from contract is core functionality which are always included to the engine and there is no way to build one without them.
All of the operations has been tested with use of the engine so far. If we want to change it we would need to reorganise the way we test them and also new operations from stdlib(for them it is inevitable).
(Common)engine builder needs information about standard/contracted operations to add them by default

To sum up from the practical point of view the dependency diagram needs some changes because of the implementation details.


Localization contributing and maintaining guide

Issue

discussed in the SIG Docs weekly meeting on 8/4/2020

SIG Docs has a guide on getting started with localizing the docs for a new language: https://kubernetes.io/docs/contribute/localization/
However, the content covering how to continue contributions for each specific localization is lacking. For example, specific on boarding, strategy, process, approach, etc.
As a result, some localization teams have created their own guides (website forks, readme.md, etc) for their specific language.
Resolution
SIG Docs, in coordination with all localization teams, should define and document a process to create their own guide.
For SIG Docs (english), a reasonable outcome would be updating https://kubernetes.io/docs/contribute/localization/ with a process and framework to follow. For SIG Docs (localization), a reasonable outcome would be aligning with the process and providing input along the way.
Optional
Create generic scripts, automation, or tooling to assist with continued contribution efforts for all localization. Even if it's only a starting point.
For example, it would be nice if there was a generic script or automation to view recent English changes given a set of inputs to assist with localization efforts when a previously translated doc changes. I believe this exists for certain teams but it is not a generic utility.
Questions / Comments?
/cc @inductor @sftim @kbarnard10 @onlydole @kbhawkey @zacharysarah
(TODO: share this issue with localization groups and raise awareness at APAC)

language name
language code
assigned to

Arabic
ar
sftim

Belarusian
be
sftim

German
de
sftim

Indonesian
id
inductor

Japanese
ja
inductor

Korean
ko
seokho-son

Spanish
es
a-mccarthy

French
fr
a-mccarthy

Hindi
hi
a-mccarthy

Mandarin
zh
reylejano-rxm

Portguese
pt
divya-mohan0209

Russian
ru
divya-mohan0209

Italian
it
divya-mohan0209

Vietnamese
vi
reylejano-rxm

Ukrainian
uk
reylejano-rxm

Persian
fa
reylejano-rxm

OK, I'll share this with:
Arabic - ar
Belarussian (?) - be
German - de
and can pick up another group later if that's useful.

I shared this in Korean channel!

Korean l10n team is aware of this issue :)
We are preparing a document to share workflow for Korean l10n to other l10n teams.

I'll share this with:

[ ] Spanish - es
[ ] French - fr
[ ] Hindi - hi

I can help share with other groups as well if you need me too.

@inductor @jimangel  I copied the table from https://github.com/kubernetes/website/issues/22960#issuecomment-668981556 into the main issue description, hope that's OK.

@divya-mohan0209 & @reylejano-rxm you also mentioned you might pick up tasks here - mentioning it for visibility.

I'd be happy to take it up for Portuguese, Italian, Russian.

@divya-mohan0209  feel free to edit the table for assignment. If you dont have the permission bump me on Slack so that I will do it for you :)

I'll take

[x]  Mandarin - zh
[x]  Vietnamese - vi
[x]  Ukrainian - uk
[x]  Persian - fa

Hi folks!
Here is flow that used Ukrainian translation team: https://github.com/kubernetes/website/issues/20786
It mostly same as other onboarding guides.
For creating translation issues from scratch I created this script
It can be helpful for coordination and focus on most wanted pages for new localization teams.

In the discussion, @jimangel mentioned that we could use GitHub wiki for sharing the localization tips from each localization team.

I found this page but it looks very old(2017 last edited)
https://github.com/kubernetes/website/wiki/Guidelines-for-Reviewing-and-Merging-PRs

Hi folks!
Here is flow that used Ukrainian translation team: #20786
It mostly same as other onboarding guides.
For creating translation issues from scratch I created this script
It can be helpful for coordination and focus on most wanted pages for new localization teams.

Hi guys,
@MaxymVlasov the idea is totally fine, is that possible to consider the page hit instead of how it is popular?

@sattarfeizollahibarough sure.
'Page popularity' is 'how many times page was open duiring period'
And you can provide any other 'popularity' list just replace locations file.
Now locations file include data from https://github.com/kubernetes/website/issues/17598

is it possible for us to get access to the Google analytics kubernetes website? I want to see how many visitors/readers visit e.g. kubernetes.io/id every month/week/day, to see the progress and motivate the localization team. What are the top visited localized pages, etc. Until know I always need to bug someone to get this data.

is it possible for us to get access to the Google analytics kubernetes website

@girikuncoro could you log a GitHub issue to request that access, or put that suggestion the agenda for a SIG Docs weekly meeting? If you're not sure what I'm suggesting there, I can explain more in detail or I can pass on a request on your behalf.

/sig contributor-experience
I think

@jimangel happy to give some hands for DE

@girikuncoro in https://groups.google.com/g/kubernetes-sig-docs look for an older email titled "Google Analytics: Pages" it will include a PDF of popular pages. On the PDF, in the top right corner, there's a link that says "Go To Report."
Clicking that link will take you to a page where you can request access and we will grant you read access after receiving the request.
Sorry this process is a bit strange and it's been awhile since I've tested it, so feel free to ping me if you run into any problems!

@girikuncoro in https://groups.google.com/g/kubernetes-sig-docs look for an older email titled "Google Analytics: Pages" it will include a PDF of popular pages. On the PDF, in the top right corner, there's a link that says "Go To Report."
Clicking that link will take you to a page where you can request access and we will grant you read access after receiving the request.
Sorry this process is a bit strange and it's been awhile since I've tested it, so feel free to ping me if you run into any problems!

@jimangel I would like to get read permission to the Google analytics for K8s website. It would be useful for Korean l10n team !
By the way, I'v tried several times (clicking "Go To Report") to find a page to request permission. It turns out clicking "Go To Report" just makes an email request to administrators. So, I am sorry if you got multiple emails. :)

@seokho-son @girikuncoro I don't know if that method is working. Feel free to send multiple requests 😄 but I do not see the requests on my end.
I will dig deeper into this as I believe view / read access to these analytics should be open to anyone who wants them.
Give me a few days to look into this and let me know @girikuncoro if you experience the same. Thanks!

Discussion at 8/11/2020:
@sftim "this probably should be a working group"
@zacharysarah "Maybe a sub group would be better"
To do:

[ ] boost localization sub group in channels / email / slack
[ ] setup a slack channel
[ ] add contributor ladder discussion into scope

Slack channel requested: https://github.com/kubernetes/community/issues/5026

Slack channel

/remove-lifecycle stale
Removing lifecycle/rotten label in case there is more work or discussion needed on this issue. I'll bring it up to SIG Docs if this issue is ready to close.

/remove-lifecycle stale
Removing lifecycle/rotten label in case there is more work or discussion needed on this issue. I'll bring it up to SIG Docs if this issue is ready to close.

hey @jimangel
since I the time asked that is there anyone working on Persian/Farsi localization here no one answered and looks like this community is inactive
anyway, I'll work on the Persian localization, also it would be great to assign this one to me or any maintainer who wants to actively contribute with me.


Enclose path to inspector in quotes

Fixes #185
Tested manually by running ./kismatic install validate in a directory called foo bar baz

Nice, LGTM


getDate, getUTCDate: wrong result

The method getDate and getUTCDate give result in 0-30 range while, accoding to spec it should be 1-31 (I agree taht getDate in 1-31 and getMonth in 0-11 is not coherent, but this is what the specs are saying).
More importantly, getDate can give result outside the month range (and together with getMonth, we can have a date like 32nd august !!!)

phantomjs> new Date('2000-01-31').getDate()
31

If you are using PhantomJS 1.9.x, please update to 2.0, it contains a much newer Webkit that may have resolved the problem.  If you still experience the problem with 2.0 please provide a complete JavaScript program that demonstrates the problem.


Update miscellaneous.csv

Adding categories 8, 31/34, 35, 121, 138

Could you also update NOTES.md with the new misc categories?

Okay. I have it prepared. Is there an option to add it also to the same commit?

Not necessary to put it in a single commit, but yes it's possible to modify past commits with --amend flag.
Or alternatively by running git rebase --interactive against the base branch (FabulousCupcake:master) in this case, which will then allow you to edit or fixup (combine the commit with previous one) the commits.

Thank you 🙇


Dedup database related functions

Fix #158
There were quite a few funcitonality duplicated both at src/store and __utils__, the latter used only in __tests__. Most of them were refactored, moved to be in src/store, leaving in __utils__ those ones related to destroy (reset) the database to make up the tests.

Four extra commits 🙄 🙏


Add ability to call logs with no args

Signed-off-by: Darren Shepherd<EMAIL_ADDRESS>

Tested with acorn version v0.5.1-49-gdc65d88+dc65d881
acorn logs  presents a list of apps available in the project. We are able to select an app from the list to view logs from all the containers in the app.


GitHub statistics automations / dashboard

What
Following on from #779 look at automating some of the GitHub statistics and potentially present them in a dashboard.
Why
So that we can continuously monitor some of the contribution figures that we pulled out in the baseline statistics.
Further information
Use the GitHub API to pull out some of the statistics, similar to what we have done for the NHS.UK frontend library release data. Example: https://chrimes.dev/releases

NHS.UK frontend library
NHS.UK prototype kit (?)
NHS digital service manual
NHS digital service manual backlog

Number of contributions (code and issue comments)
Organisation of the contributor
Job role of the contributor

What
From our EPIC: Help users understand how to use GitHub for contributing
#991, we need some baseline statistics on how people use GitHub, these are
Statistics

We need to know the number of people using GitHub
We need to know the percentage of new users joining our GitHub space
We need to know the number of people commenting to work in progress.
We need to know the number of people raising new issues per repository
We need to know where people come from into our GitHub repos [our website pages or other]


Schinagl.LinkShellextension version <IP_ADDRESS>

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Installer fails, pending dependency support

@denelon add the Dependency and Blocking-Issue tag


Silent option doesn't silence some PDFBox warnings

INFO: To get higher rendering speed on JDK8 or later,
May 30, 2018 3:38:16 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO: use the option -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider
May 30, 2018 3:38:16 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO: or call System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider")

via #227

From what I understood spending 5 minutes with the code in Eclipse after running the jar a few times, the output is generated by PDFBox, which uses commons-logging. tabula itself uses slf4j-simple, and I couldn't see the logging settings being changed via the argument that silents the output.
But there's a workaround:
java -jar -Dorg.slf4j.simpleLogger.defaultLogLevel=off -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog tabula-java.jar -i -a 168.994,32.993,381.579,813.874 -c 30,76,260,298,322,355,384,410,436,464,488,514,540,562,590,616,642,668,692,718,742,766,796 -p 8 "$1"

That's basically how you disable commons-logging. Though good to take a look every now and then to see if you are not missing anything important, or properly configure commons-logging to output error/warning/etc.
Hope that helps

Nov 11, 2018 12:40:16 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO: To get higher rendering speed on JDK8 or later,
Nov 11, 2018 12:40:16 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO:   use the option -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider
Nov 11, 2018 12:40:16 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO:   or call System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider")


test: recordable fixtures

See https://github.com/gr2m/github-project/blob/record-fixtures/CONTRIBUTING.md#recording-fixtures-for-testing for how it works
This change will make the migration from the *ProjectNext nodes to the *ProjectV2 much easier. And maintenance in general

@mikesurowiec @tmelliottjr if you could have a look at the added CONTRIBUTING docs and let me know if it all makes sense that'd be great.
If you want to try recording fixtures, here are the app credentials:
https://github.com/orgs/github-project-fixtures/teams/contributors/discussions/1

Thanks! I applied your suggestions


How to quiet "Automatically scrolling cursor" in ace editor

I'm not a JS guy, and my head is spinning.  Googling "ace blockScrolling" yields a number of results, but I haven't been able to translate/transpile this into pscript/flexx/whatever. This modification of the ace-editor demo:
class LeoLog(flx.Widget):
    def init(self):
        global window
        self.ace = window.ace.edit(self.node, "editor")
        self.ace.navigateFileEnd()  # otherwise all lines highlighted
        # From a stack overflow answer.
        pscript.RawJS('''
            var el = $(the_element);
            var editor = el.data('ace').editor;
            editor.$blockScrolling = Infinity;
        ''')
        self.ace.setTheme("ace/theme/solarized_dark")

gives this traceback, which makes no sense to me:
 File "c:\Anaconda3\lib\site-packages\pscript\functions.py", line 100, in py2js_
    raise ValueError('py2js() only accepts non-builtin modules, '
ValueError: py2js() only accepts non-builtin modules, classes and functions.

Any suggestions?  Thanks.
Edward

I cannot see what the shown code would raise that error. It's a kind of error that may occur if you're using e.g. sys in PScript code (Python code that is to be compiled to JS).
I'm not sure if the the jquery stuff (the dollar signs) are going to work; Flexx does not use jquery. So you probably want to translate that to common JS. Probably something like.
            var el = this.node;
            var editor = el.data('ace').editor;
            editor.blockScrolling = Infinity;

To try things out, run your app in a browser run time, hit F12 to bring up the developer console, then type flexx.s1.instances.LeoLog<something>.node  and fiddle around from there.

I just now noticed your suggestion to use F12.  In the meantime, the following hack works fairly well:
if __name__ == '__main__':
    flx.launch(LeoApp)
    print('After flx.launch')
    pattern = re.compile(r'(Error|Leo|[Ss]ession|Starting|Stopping)')
    flx.set_log_level('INFO', pattern)
    flx.run()

I inserted the following in LeoBody(flx.Widget):
 RawJS('''
        var el = this.node;
            var editor = el.data('ace').editor;
            editor.blockScrolling = Infinity;
        ''')

The log shows:
[E 07:35:43 flexx.app] JS: TypeError: el.data is not a function - stack trace in browser console (hit F12).

And the browser console shows:
TypeError: el.data is not a function
$LeoBody.init @ http://localhost:49190/flexx/assets/shared/__main__.js:124:18
$Component.__init__ @ http://localhost:49190/flexx/assets/shared/flexx-core.js:1915:3
$Widget.__init__ @ http://localhost:49190/flexx/assets/shared/flexx.ui._widget.js:113:6
_pyfunc_op_instantiate @ http://localhost:49190/flexx/assets/shared/flexx-core.js:961:9
LeoBody @ http://localhost:49190/flexx/assets/shared/__main__.js:103:5
$LeoMainWindow.init @ http://localhost:49190/flexx/assets/shared/__main__.js:222:16
$Component.__init__ @ http://localhost:49190/flexx/assets/shared/flexx-core.js:1915:3
$Widget.__init__ @ http://localhost:49190/flexx/assets/shared/flexx.ui._widget.js:113:6
_pyfunc_op_instantiate @ http://localhost:49190/flexx/assets/shared/flexx-core.js:961:9
LeoMainWindow @ http://localhost:49190/flexx/assets/shared/__main__.js:189:5
JsSession.prototype.instantiate_component @ http://localhost:49190/flexx/assets/shared/flexx-core.js:3357:13
JsSession.prototype._receive_command @ http://localhost:49190/flexx/assets/shared/flexx-core.js:3546:9
JsSession.prototype._receive_raw_command @ http://localhost:49190/flexx/assets/shared/flexx-core.js:3498:12
JsSession.prototype._process_commands @ http://localhost:49190/flexx/assets/shared/flexx-core.js:3476:23

As stated above, I have a workaround that doesn't require any RawJS, but it's a hack, so it would be nice to solve this problem properly.  Any suggestions would be appreciated.

Looking at the code, I think you need this.ace, or self.ace if you dont use RawJS.

On Mon, Nov 12, 2018 at 2:46 AM Almar Klein<EMAIL_ADDRESS>wrote:

Looking at the code
https://github.com/flexxui/flexx/blob/master/flexxamples/howtos/editor_ace.py#L32,
I think you need this.ace, or self.ace if you dont use RawJS.

Thanks.  I'll have a go.
Edward

@edreamleo What's the status of this issue?

On Mon, Dec 3, 2018 at 9:45 AM Almar Klein<EMAIL_ADDRESS>wrote:

@edreamleo https://github.com/edreamleo What's the status of this issue?

The code suppresses the unwanted messages using flx.set_log_level('ERROR').
At this point, nothing further needs to be done.
Edward


Replace the usage of the Page class with middleware

Please replace the usage of the Page class with middleware, since the Page class is obsolete (see Starcounter/Starcounter#3202). The instructions are in the blog post: http://starcounter.io/replace-page-partial-classes-middleware/

@diliger could you please take this? This is the same kind of task as https://github.com/StarcounterPrefabs/UserAdmin/issues/33

I am taking this.

Fixed in PR #13.


Would be great to be able to visualize the whole mempool, Not just what's coming live

Great suggestion, thanks!
I've thought about this a bit before. Originally I wanted to include the entire mempool in the area below the dotted line, and make the page scrollable so you could explore the full depth of the pool. Unfortunately that introduces some UX challenges that I haven't quite figured out, and maintaining performance would also be tricky (at times of high congestion there can be tens of thousands of pending transactions, and theoretically the mempool can reach up to 300mb - that's a lot of data to process and render!)
But it's not impossible, and it's definitely on the roadmap if I can figure out a reasonable solution.
In the meantime, I'm considering some other approaches that might be a good compromise. Perhaps an extra panel with a simplified view of the whole mempool, with lower data/graphics requirements than the main visualization.
At the very least I plan to add some more basic mempool data to the UI like memory usage, fee statistics etc.


Update dependencies

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 14.28571% with 6 lines in your changes missing coverage. Please review.

Project coverage is 41.31%. Comparing base (d66482e) to head (31c1f47).

Files with missing lines
Patch %
Lines

internal/app/auth/authmock/token_getter.go
14.28%
4 Missing and 2 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

:exclamation:  There is a different number of reports uploaded between BASE (d66482e) and HEAD (31c1f47). Click for more details.
HEAD has 1 upload less than BASE

Flag
BASE (d66482e)
HEAD (31c1f47)

2
1

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #55       +/-   ##
===========================================
- Coverage   79.46%   41.31%   -38.16%
===========================================
  Files           6       13        +7
  Lines         263      547      +284
===========================================
+ Hits          209      226       +17
- Misses         38      299      +261
- Partials       16       22        +6

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


notebook metadata change is not expanded

Testing #228394
pretty hard to notice that there is a change to the metadata:

Fixed via https://github.com/microsoft/vscode/pull/229657


When stuct contains another struct, xorm can insert but can not query

My struct is

When I change
T Task `xorm:"-"`

to
T Task `xorm:"task"`

xorm panics with
panic: not supported {    map[] false} as []

Task should has one primary key so we can insert on Record table. Please check your database if there is a column named t? If there is please ensure the column type is the same as task table's primary key's type.

Just use xorm:"json" to resolve it.


Fix typos, improve readability.

Fix typos, improve readability for service-gateway-sso-saml.md

@v-dayau : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Support MySQL

Since MySQL is still one of the most popular RDMS, it makes a lot of sense to add support for it, hopefully helping with adoption of Pekko Persistence R2DBC.
Looking through the existing Postgres implementation for potential challenges with MySQL support, it seems to me that the main difference between the databases is that MySQL does not have concept of a transaction_timestamp. There are ways to implement it - for example wrapping a write operation in a procedure that has a local variable with a timestamp that gets reused in a transaction that is started, but I am not sure if there is much benefit in trying to implement database-side timestamps - I do not understand why it should be a dealbreaker for a production-ready implementation, because no matter where you get your timestamps from, whether it is the application or the database, you will still be dealing with potential clock skews, just that the risk levels might be different, dependent on the architecture of a particular deployment. So my thinking is that we could implement MySQL support by requiring the use of use-app-timestamp = on and possibly db-timestamp-monotonic-increasing = off. Could there be any issues with this approach?
Are there any more issues with the implementation or can we just proceed with it?

I think it would be good to do an experimental implementation where we document that the behaviour may change over a few releases. The initial version can use the simplest approaches to begin with and we can replace those if they prove to be problematic.
@ptrdom if you interested in taking this on, I'll be happy to review it. Presumably, https://github.com/asyncer-io/r2dbc-mysql will be used.

@pjfanning Yes, planning to pick this up soon. Your suggested approach makes total sense.
Would it be beneficial to have MySQL support in a separate repository? I remember how when working on endpoints4s we started breaking up the repository apart, putting different implementations in separate repositories to ease up the burden of maintaining every single implementation once we change something in the core. I guess that does not seem critical when number of implementations is small, but as the number grows it does become an increasing burden on maintainers. Although we could say that databases like Postgres and MySQL are the core of pekko-persistence-r2dbc that we do want to keep most up to date, so splitting to a separate repository would just complicate that.
Even if we stay in a single repository for this work, it would probably make sense to have a sbt module per implementation, not sticking support of every database into core sbt module, right?

sure - keep the mysql changes out of the core module - having its own module makes sense

Trying to figure out how to best hook up per database implementations with multiple sbt module approach.  Since the only existing implementation has not created abstractions for this, we need to come up with a solution.
The way to do similar things to what we need in Pekko ecosystem repositories seems to be by specifying class name in config and constructing an instance of it by the use of reflection. To make this work I think that instead of this:
https://github.com/apache/pekko-persistence-r2dbc/blob/7dd8b64361fe926aa1143362148a6e2ba01ca137/core/src/main/resources/reference.conf#L105
We need to do something like dialect.class, which would allow providing different implementations of JournalDao:
https://github.com/apache/pekko-persistence-r2dbc/blob/7dd8b64361fe926aa1143362148a6e2ba01ca137/core/src/main/scala/org/apache/pekko/persistence/r2dbc/journal/JournalDao.scala#L82
R2dbcJournal would then load the specified implementation. We would also convert current JournalDao to a trait and add a Postgres/Yugabyte implementation for it.
We could also start with splitting Postgres/Yugabyte implementation to its own module and get the abstractions right before proceeding with MySQL support. Good idea with this work would be to also make test suites as traits that are implemented by each database implementation separately.
@pjfanning Any thoughts? I am up to do any solution for this and do not have any strong opinions.

I don't want to break backward compatibility so despite having postgres in projection-core seeming like a bad idea. I'd prefer to leave it there, at least for now.

Aha, well I guess the solution can be contorted to remain backwards compatible. If dialect.class is okay, then the config can be added just for MySQL and R2dbcJournal would fallback to current dialect config if dialect.class is not provided. JournalDao is a class than can just be overriden by MySQL implementation. And of course the tests can be restructured to work both for Postgres and MySQL.

@pjfanning Since you mentioned need to not break backwards compatibility, I started thinking about binary compatibility and noticed that MiMa plugin is not setup for this repo. Would it make sense to do it?

@ptrdom it would be good to get the mima checks set up

@pjfanning There is an issue with keeping backwards compatibility while implementing projection support for MySQL - R2dbcProjectionSettings. This class needs a new attribute for dialect, and since it is a case class there is no way to not break it. Is it okay to break backwards compatibility and convert this to a class, or do you see a different way to proceed?

@pjfanning There is an issue with keeping backwards compatibility while implementing projection support for MySQL - R2dbcProjectionSettings. This class needs a new attribute for dialect, and since it is a case class there is no way to not break it. Is it okay to break backwards compatibility and convert this to a class, or do you see a different way to proceed?

Could you add a 2nd constructor to the case class that has the legacy param list and that calls the changed main constructor, setting a sensible default on the new params?

Could you add a 2nd constructor to the case class that has the legacy param list and that calls the changed main constructor, setting a sensible default on the new params?

That still throws binary compatibility errors, mentioning copy, unapply and this. case class is just cursed when used for public APIs 😞

Could you add a 2nd constructor to the case class that has the legacy param list and that calls the changed main constructor, setting a sensible default on the new params?

That still throws binary compatibility errors, mentioning copy, unapply and this. case class is just cursed when used for public APIs 😞

I understand and we can add an excludes file with Problem filters. Having the 2nd constructor means that source compatibility will be preserved for the constructor calls.

Sure, we can do that.
The sensible default for dialect would be to pick any one from Postgres and Yugabyte, because there is no difference between them now.


Fix issue #31341

Summary
Fixes issue #31341. Currently, this is an ugly quick-fix, but hopefully could be a start.
Changelog
[Android] [Fixed] - Text with a View child does not correctly re-render when its text child changes
Test Plan
It fixes the issue as present in the Slack in #31341. Existing tests must pass. TODO: add additional test(s)

Closing as stale + lack of CLA


Shape of batch.

In RNN model, the default values of batch_first parameter is False, that mean the input tensor's shape is [max_length, batch_size]. This seems not trivial because most input data treat its first dimension as batch_size. Can you explain why we have this?

This is just how it is in PyTorch for RNNs - they expect the sequence length to be the first dimension.
Apparently this is because RNNs are programmed in CUDA to expect the data to be in the same way (sequence length first, batch size second) and PyTorch just followed that convention. I did actually have a link to where someone stated this, but I can't find it at the moment.

So does that convention make training and inference process faster?

I'm not sure if it was done for speed. I mainly think it was just done for convenience. This is just speculation - maybe try asking on the official PyTorch forums?


Highlight holidays

Is there a way to add highlights selected holidays throughout the selection?

Please read the docs before opening issues!
But there are a few way to highlight days. You have the daysofweekhighlighted option to highlight fixed days. Or beforeshowday option/callback to add custom logic to highlight/disable specific dates


Peptide and Protein ID doesnt work

https://github.com/galaxyproject/training-material/blob/master/topics/proteomics/tutorials/protein-id-sg-ps/tutorial.md
I think this tutorial needs to be updated. The files cannot be converted..can we use msconvert vendor support directly to convert raw to mgf?? then use SGPS?

Could you update it? I have no knowledge about that topic and I do not know how could take it over. Otherwise we can disable it. What do you think?

@subinamehta did you have any time to look over this tutorial?
if not, no worries. in this case, should we disable the tutorial, to make it not listed on the website?

The decision is upto you. I looked at it and it works when the file is mzml and not raw. Maybe we can edit that we are not using Proteowizard msconvert anymore and publish it accordingly??

Ah good to know. Yes we should edit it then

I think once Matt Chamber's version of msconvert it tested and works well, I can go ahead and make the changes..What do you suggest??

This is currently blocked by our 19.01 update.

Oh...then what is the solution for converting raw files???? Does the Thermo raw file converter do peak picking????

Hi Subina,
I do not think that there is any major problem with the tutorial.
It is stated clearly why converting raw files in Galaxy is tricky and that it might not work on every Galaxy instance. Two alternative options are offered:
" If msconvert tool does not run on your Galaxy instance, please download the preconverted mzML as an input."
" If msconvert tool is not available in your Galaxy instance, please install the software on a Windows computer and run the conversion locally. You can find a detailed description of the necessary steps here."
As a third option, one could also use the thermo raw file converter (it worked for me for ID only but not for quantitation the last time I tested it).
The moment msconvert is working again on usegalaxy.eu, you are welcome to change the tutorial accordingly but I would still include the comment on "local use of MSconvert" as most Galaxy servers will probably not include this very special tool.
Best,
Melanie

Hi Melanie,
I agree with your suggestion ( as I mentioned my idea was only to remove the mention of msconvert, not that there was fault in the tutorial (apologies for the miscommunication)). And I also think pre-converting Raw to mzml is a better idea before uploading to Galaxy. Thermo raw file converter doesn't perform MS1 peak picking or centroid mode for me. I hope they will add this new feature soon..Thanks again for replying!!!
Subina


feat: add monthly_active_tokens to Tenant Usage Report object

Description

Adds new property for monthly_active_tokens to Tenant Usage Report object

Testing required outside of automated testing?

[X] Not Applicable

Screenshots (if appropriate):

[X] Not Applicable

Rollback / Rollforward Procedure

[X] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


easy-pil not installing python 3.11

aiohttp was an issue to this and they seem to have patched it when I install aiohttp on its own, however when I still easy-pil, the error below. I'm not sure if I'm supposed to make a issue request at aiohttp themselves.
As much as I'd like to go to 3.10, for the performance boost 3.11, I'll prefer to use that.

https://github.com/aio-libs/aiohttp/issues/6600 Issue patched apparenty, not sure where exactly I'm supposed to go

I see, I'll wait for a version upgrade in the mean time 👍

Any updates if easy-pil is compatbile with 3.11 after installing new version of aiohttp?

Any updates if easy-pil is compatbile with 3.11 after installing new version of aiohttp?

After taking a closer look. I can see that building subprocess requires you to have C++ installed on your computer.
Its not this library.

I need to install C++? I thought that dev tools itself from VS was enough. I presume you have tested this out

I need to install C++? I thought that dev tools itself from VS was enough. I presume you have tested this out

That should be enough. After a bit of research I found that aiohttp is still not compatible with 3.11

https://github.com/aio-libs/aiohttp/issues/7051
https://pyreadiness.org/3.11/

Also in the lib's latest release 3.11 is not present as a clasifiers.

Oh? When I download aiohttp alone, it downloads fine automatically, have you downloaded the github version?

If manual install works then for now I have made installing aiohttp only on < 3.11
You can install it from the 3.11 branch using
python3 -m pip install<EMAIL_ADDRESS>
Then you have to manually install aiohttp and it should work for now.
And I will wait for aiohttp being toally compatible with 3.11 and the issue I mentioned is resolved.


ImportErro when run python scenario_runner.py

Hi, I want to use scenario_runner on carla.
I first export PYTHONPATH=$PYTHONPATH:$~/carla/PythonAPI/dist/carla-0.9.3.egg
Then python scenario_runner.py --scenario FollowLeadingVehicle
I always encounter the error:
import carla
ImportError: No module named carla
I would really appreciate if anyone can help me with it, thanks in advance!

It is fixed now. Then I encounter new errors.
del SCENARIORUNNER
NameError: name 'SCENARIORUNNER' is not defined

You may have to run both CARLA and python command at the same time.

I still met this issue in windows, anyone can give some hint on it.

@dyli96, would you like share how did you fix the issue, I met the same problem now.

I import carla correctly but I still get this error...
Can anyone help??
Traceback (most recent call last):
File "scenario_runner.py", line 30, in
from srunner.scenarios.opposite_vehicle_taking_priority import *
File "/home/z661107/001-Repositories/scenario_runner/srunner/scenarios/opposite_vehicle_taking_priority.py", line 30, in
class OppositeVehicleRunningRedLight(BasicScenario):
File "/home/z661107/001-Repositories/scenario_runner/srunner/scenarios/opposite_vehicle_taking_priority.py", line 48, in OppositeVehicleRunningRedLight
_ego_end_position = carla.Location(x=-3, y=-90, z=0)   # End position
AttributeError: module 'carla' has no attribute 'Location'

Make sure your PYTHONPATH is correctly pointing to the .egg file


Updating gas to only run during CI on master

As per issue #514, I've written a script to mask running gas unless we are on the release branch "master"

Sorry for the noise in this PR folks, I'm trying to get Travis to trigger a new build.


Trouble with 'public' site

Forgive me if this is ignorance on my part!
After reading through the documentation on how to set up a 'public' site or landing page site, it seems as though the following method only allows the use of a subdomain for this:
Route::domain('master.your.app')->group(function () {
    // .. your landing page routes
});

The issue I have with this, id that I'd like my public site to sit on the top-level domain - with authentication also - with all my tenants as subdomains, as such:
Public site - example.com
Tenant - xyz.example.com
Tenant - abc.example.com
.... And so on
How can I achieve this without changing any core functionality? Or if I'm missing the point entirely here, any pointers would be great.
Have a great day!

Route::domain(env('APP_URL'))->group(function() {
Route::get('/', function () {
return view('welcome');
});
//Public site routes//
});
$hostname = app(Hyn\Tenancy\Contracts\CurrentHostname::class);
if ($hostname) {
Route::domain($hostname->fqdn)->group(function() {
//Tenant routes
Auth::routes();
});
}

That looks like exactly what I'm after. I'll give that a try later today!

Never use environment files outside of configuration files. Laravel, when using config:cache will no longer use the environment. Use config('app.url') instead.
In addition I can suggest using (or looking at) 5.2-beta which has a better way of supporting a landing page by replacing the routes when hitting tenants.
See https://laravel-tenancy.com/docs/hyn/5.2/fallback#tenant-routes-override

Okay so this is definitely working with regards to separating my landing pages by the base hostname. However my new issue is that $hostname = app(Hyn\Tenancy\Contracts\CurrentHostname::class); returns null, and therefore none of my tenant routes can be reached.

@adamthomason i suggest switching to 5.2 which is now the default; it has native support for the landing page and routes.
Unless of course this is the version you are using right now.

@luceos I'm currently using 5.2, yes. I upgraded from 5.1 due to CurrentHostname::class throwing instantiation errors.
It must be said that, like many others, my project because from following the linked tutorial 'Townhouse', although I have stripped away the vast majority of what I don't need for my project.

Are you able to create a new tenant in your application?

Yes, I can create a new tenant using php artisan tenant:create example<EMAIL_ADDRESS>

Okay so.. I'll need a proper report then;

tenancy.php configuration
related environment variables set, including DB_CONNECTION
the error backtrace you receive that is bugging you

Thanks guys, I'll post requested info below. It should be mentioned that I've now switched to using a separate routing file for tenants as suggested in the docs, but I am still seeing the same problem:
tenancy.php:
<?php

/*
 * This file is part of the hyn/multi-tenant package.
 *
 * (c) Daniël Klabbers<EMAIL_ADDRESS> *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @see https://laravel-tenancy.com
 * @see https://github.com/hyn/multi-tenant
 */

use Hyn\Tenancy\Database\Connection;

return [
    'models' => [
        /**
         * Specify different models to be used for the global, system database
         * connection. These are also used in their relationships. Models
         * used have to implement their respective contracts and
         * either extend the SystemModel or use the trait
         * UsesSystemConnection.
         */

        // Must implement \Hyn\Tenancy\Contracts\Hostname
        'hostname' => \Hyn\Tenancy\Models\Hostname::class,

        // Must implement \Hyn\Tenancy\Contracts\Website
        'website' => \Hyn\Tenancy\Models\Website::class
    ],
    'website' => [
        /**
         * Each website has a short random hash that identifies this entity
         * to the application. By default this id is randomized and fully
         * auto-generated. In case you want to force your own logic for
         * when you need to have a better overview of the complete
         * tenant folder structure, disable this and implement
         * your own id generation logic.
         */
        'disable-random-id' => false,

        /**
         * The random Id generator is responsible for creating the hash as mentioned
         * above. You can override what generator to use by modifying this value
         * in the configuration.
         *
         * @warn This won't work if disable-random-id is true.
         */
        'random-id-generator' => Hyn\Tenancy\Generators\Uuid\ShaGenerator::class,

        /**
         * Enable this flag in case you're using a driver that does not support
         * database username or database name with a length of more than 32 characters.
         *
         * This should be enabled for MySQL, but not for MariaDB and PostgreSQL.
         */
        'uuid-limit-length-to-32' => env('LIMIT_UUID_LENGTH_32', true),

        /**
         * Specify the disk you configured in the filesystems.php file where to store
         * the tenant specific files, including media, packages, routes and other
         * files for this particular website.
         *
         * @info If not set, will revert to the default filesystem.
         * @info If set to false will disable all tenant specific filesystem auto magic
         *       like the config, vendor overrides.
         */
        'disk' => null,

        /**
         * Automatically generate a tenant directory based on the random id of the
         * website. Uses the above disk to store files to override system-wide
         * files.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-directory' => true,

        /**
         * Automatically rename the tenant directory when the random id of the
         * website changes. This should not be too common, but in case it happens
         * we automatically want to move files accordingly.
         *
         * @info set to false to disable.
         */
        'auto-rename-tenant-directory' => true,

        /**
         * Automatically deletes the tenant specific directory and all files
         * contained within.
         *
         * @see
         * @info set to true to enable.
         */
        'auto-delete-tenant-directory' => true,

        /**
         * Time to cache websites in minutes. Set to false to disable.
         */
        'cache' => 10,
    ],
    'hostname' => [
        /**
         * If you want the multi tenant application to fall back to a default
         * hostname/website in case the requested hostname was not found
         * in the database, complete in detail the default hostname.
         *
         * @warn this must be a FQDN, these have no protocol or path!
         */
        'default' => env('TENANCY_DEFAULT_HOSTNAME'),
        /**
         * The package is able to identify the requested hostname by itself,
         * disable to get full control (and responsibility) over hostname
         * identification. The hostname identification is needed to
         * set a specific website as currently active.
         *
         * @see src/Jobs/HostnameIdentification.php
         */
        'auto-identification' => env('TENANCY_AUTO_HOSTNAME_IDENTIFICATION', true),

        /**
         * In case you want to have the tenancy environment set up early,
         * enable this flag. This will run the tenant identification
         * inside a middleware. This will eager load tenancy.
         *
         * A good use case is when you have set "tenant" as the default
         * database connection.
         */
        'early-identification' => env('TENANCY_EARLY_IDENTIFICATION', false),

        /**
         * Abort application execution in case no hostname was identified. This will throw a
         * 404 not found in case the tenant hostname was not resolved.
         */
        'abort-without-identified-hostname' => false,

        /**
         * Time to cache hostnames in minutes. Set to false to disable.
         */
        'cache' => 10,

        /**
         * Automatically update the app.url configured inside Laravel to match
         * the tenant FQDN whenever a hostname/tenant was identified.
         *
         * This will resolve issues with password reset mails etc using the
         * correct domain.
         */
        'update-app-url' => true,
    ],
    'db' => [
        /**
         * The default connection to use; this overrules the Laravel database.default
         * configuration setting. In Laravel this is normally configured to 'mysql'.
         * You can set a environment variable to override the default database
         * connection to - for instance - the tenant connection 'tenant'.
         */
        'default' => env('TENANCY_DEFAULT_CONNECTION', ''),
        /**
         * Used to give names to the system and tenant database connections. By
         * default we configure 'system' and 'tenant'. The tenant connection
         * is set up automatically by this package.
         *
         * @see src/Database/Connection.php
         * @var system-connection-name The database connection name to use for the global/system database.
         * @var tenant-connection-name The database connection name to use for the tenant database.
         */
        'system-connection-name' => env('TENANCY_SYSTEM_CONNECTION_NAME', Connection::DEFAULT_SYSTEM_NAME),
        'tenant-connection-name' => env('TENANCY_TENANT_CONNECTION_NAME', Connection::DEFAULT_TENANT_NAME),

        /**
         * The tenant division mode specifies to what database websites will be
         * connecting. The default setup is to use a new database per tenant.
         * In case you prefer to use the same database with a table prefix,
         * set the mode to 'prefix'.
         *
         * @see src/Database/Connection.php
         */
        'tenant-division-mode' => env('TENANCY_DATABASE_DIVISION_MODE', 'database'),

        /**
         * The database password generator takes care of creating a valid hashed
         * string used for tenants to connect to the specific database. Do
         * note that this will only work in 'division modes' that set up
         * a connection to a separate database.
         */
        'password-generator' => Hyn\Tenancy\Generators\Database\DefaultPasswordGenerator::class,

        /**
         * The tenant migrations to be run during creation of a tenant. Specify a directory
         * to run the migrations from. If specified these migrations will be executed
         * whenever a new tenant is created.
         *
         * @info set to false to disable auto migrating.
         *
         * @warn this has to be an absolute path, feel free to use helper methods like
         * base_path() or database_path() to set this up.
         */
        'tenant-migrations-path' => database_path('migrations/tenant'),

        /**
         * The default Seeder class used on newly created databases and while
         * running artisan commands that fire seeding.
         *
         * @info requires tenant-migrations-path in order to seed newly created websites.
         *
         * @warn specify a valid fully qualified class name.
         */
        'tenant-seed-class' => false,
//      eg an admin seeder under `app/Seeders/AdminSeeder.php`:
//        'tenant-seed-class' => App\Seeders\AdminSeeder::class,

        /**
         * Automatically generate a tenant database based on the random id of the
         * website.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database' => true,

        /**
         * Automatically generate the user needed to access the database.
         *
         * @info Useful in case you use root or another predefined user to access the
         *       tenant database.
         * @info Only creates in case tenant databases are set to be created.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database-user' => true,

        /**
         * Automatically rename the tenant database when the random id of the
         * website changes. This should not be too common, but in case it happens
         * we automatically want to move databases accordingly.
         *
         * @info set to false to disable.
         */
        'auto-rename-tenant-database' => true,

        /**
         * Automatically deletes the tenant specific database and all data
         * contained within.
         *
         * @info set to true to enable.
         */
        'auto-delete-tenant-database' => env('TENANCY_DATABASE_AUTO_DELETE', false),

        /**
         * Automatically delete the user needed to access the tenant database.
         *
         * @info Set to false to disable.
         * @info Only deletes in case tenant database is set to be deleted.
         */
        'auto-delete-tenant-database-user' => env('TENANCY_DATABASE_AUTO_DELETE_USER', false),

        /**
         * Define a list of classes that you wish to force onto the tenant or system connection.
         * The connection will be forced when the Model has booted.
         *
         * @info Useful for overriding the connection of third party packages.
         */
        'force-tenant-connection-of-models' => [
//            App\User::class
        ],
        'force-system-connection-of-models' => [
//            App\User::class
        ],
    ],

    /**
     * Global tenant specific routes.
     * Making it easier to distinguish between landing and tenant routing.
     *
     * @info only works with `tenancy.hostname.auto-identification`.
     */
    'routes' => [
        /**
         * Routes file to load whenever a tenant was identified.
         *
         * @info Set to false or null to disable.
         */
        'path' => base_path('routes/tenants.php'),

        /**
         * Set to true to flush all global routes before setting the routes from the
         * tenants.php routes file.
         */
        'replace-global' => true,
    ],

    /**
     * Folders configuration specific per tenant.
     * The following section relates to configuration to files inside the tenancy/<uuid>
     * tenant directory.
     */
    'folders' => [
        'config' => [
            /**
             * Merge configuration files from the config directory
             * inside the tenant directory with the global configuration files.
             */
            'enabled' => true,

            /**
             * List of configuration files to ignore, preventing override of crucial
             * application configurations.
             */
            'blacklist' => ['database', 'tenancy', 'webserver'],
        ],
        'routes' => [
            /**
             * Allows adding and overriding URL routes inside the tenant directory.
             */
            'enabled' => true,

            /**
             * Prefix all tenant routes.
             */
            'prefix' => null,
        ],
        'trans' => [
            /**
             * Allows reading translation files from a trans directory inside
             * the tenant directory.
             */
            'enabled' => true,

            /**
             * Will override the global translations with the tenant translations.
             * This is done by overriding the laravel default translator with the new path.
             */
            'override-global' => true,

            /**
             * In case you disabled global override, specify a namespace here to load the
             * tenant translation files with.
             */
            'namespace' => 'tenant',
        ],
        'vendor' => [
            /**
             * Allows using a custom vendor (composer driven) folder inside
             * the tenant directory.
             */
            'enabled' => true,
        ],
        'media' => [
            /**
             * Mounts the assets directory with (static) files for public use.
             */
            'enabled' => true,
        ],
        'views' => [
            /**
             * Adds the vendor directory of the tenant inside the application.
             */
            'enabled' => true,

            /**
             * Specify a namespace to use with which to load the views.
             *
             * @eg setting `tenant` will allow you to use `tenant::some.blade.php`
             * @info set to null to add to the global namespace.
             */
            'namespace' => null,

            /**
             * If `namespace` is set to null (thus using the global namespace)
             * make it override the global views. Disable to
             */
            'override-global' => true,
        ]
    ]
];

Environment variables:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:eACdEyD/8QZHNndDhyOzfiaMiedY3PybUMW77weEgqw=
APP_DEBUG=true
APP_URL_BASE=datastrut-tenancy.localhost
APP_URL=https://${APP_URL_BASE}
TENANCY_DEFAULT_HOSTNAME=datastrut-tenancy.localhost

LOG_CHANNEL=stack

DB_CONNECTION=system
DB_HOST=<IP_ADDRESS>
DB_PORT=3306
DB_DATABASE=tenancy
DB_USERNAME=tenancy
DB_PASSWORD=someRandomPassword

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=<IP_ADDRESS>
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

For good measure, here's database.php:
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Default Database Connection Name
    |--------------------------------------------------------------------------
    |
    | Here you may specify which of the database connections below you wish
    | to use as your default connection for all database work. Of course
    | you may use many connections at once using the Database library.
    |
    */

    'default' => env('DB_CONNECTION', 'mysql'),

    /*
    |--------------------------------------------------------------------------
    | Database Connections
    |--------------------------------------------------------------------------
    |
    | Here are each of the database connections setup for your application.
    | Of course, examples of configuring each database platform that is
    | supported by Laravel is shown below to make development simple.
    |
    |
    | All database work in Laravel is done through the PHP PDO facilities
    | so make sure you have the driver for your particular database of
    | choice installed on your machine before you begin development.
    |
    */

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'system' => [
            'driver' => 'mysql',
            'host' => env('TENANCY_HOST', '<IP_ADDRESS>'),
            'port' => env('TENANCY_PORT', '3306'),
            'database' => env('TENANCY_DATABASE', 'tenancy'),
            'username' => env('TENANCY_USERNAME', 'tenancy'),
            'password' => env('TENANCY_PASSWORD', 'someRandomPassword'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '<IP_ADDRESS>'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '<IP_ADDRESS>'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
        ],

    ],

    /*
    |--------------------------------------------------------------------------
    | Migration Repository Table
    |--------------------------------------------------------------------------
    |
    | This table keeps track of all the migrations that have already run for
    | your application. Using this information, we can determine which of
    | the migrations on disk haven't actually been run in the database.
    |
    */

    'migrations' => 'migrations',

    /*
    |--------------------------------------------------------------------------
    | Redis Databases
    |--------------------------------------------------------------------------
    |
    | Redis is an open source, fast, and advanced key-value store that also
    | provides a richer set of commands than a typical key-value systems
    | such as APC or Memcached. Laravel makes it easy to dig right in.
    |
    */

    'redis' => [

        'client' => 'predis',

        'default' => [
            'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],

    ],

];

There's no error per se, rather that I'm certain that the tenant database isn't being connected to when I navigate to a subdomain linked properly in the database to a website with a FQDN.

@luceos Can you see any issue with the above?

First off, I see no issue with your setup. Your issue is that the tenant database is not being set up; how are you sure of that? Are you able to run a simple php artisan tenancy:migrate --website_id=<uuid> on your app to migrate the tenant you expect?

I've set up the following code to create a tenant purely for testing purposes (It's messy, literally just for testing). As I expected, I can see that the tenant database is created, and migrations are ran on it. The command you posted above runs without error, but there is also no output whatsoever (is there supposed to be?).
 /*
         * THIS IS A TEST - TAKE THIS OUT
         */
        $website = new Website;
        app(WebsiteRepository::class)->create($website);

        $hostname = new Hostname;
        $baseUrl = config('app.url_base');
        $hostname->fqdn = "test.datastrut-tenancy.localhost";
        app(HostnameRepository::class)->attach($hostname, $website);

        return 'tenant created';

It does seem like everything is working correctly, apart from the tenant being recognised by the hostname. Also, it does seem as though the tenant route file is not used either. This suggests the same problem I think(?)

@adamthomason

you are posting code without any indication where this is, if you expect "tenant created" to be shown on a page you must return it from a controller
your code is not automatically switching the current tenant; the package won't do this whenever you create a tenant because you might want to create tenants in batches you still have to switch, using the environment

Hope this helps.

That did indeed help tremendously! I've managed to get everything working perfectly now. Thank you very much for your time :)

Glad it worked out 👌


Fuzzy symbol search is broken

It just doesn't find anything I'm looking for anymore. Displays tons of results non of them is what I'm looking for.

Should be fixed in 01869e9c1557d045241fc0aee07772350bed7cf6.


[Tech] Added common test helper for generating all variations of Intent/Variant

Added a common class for generating all combinations of Intents/Variants for testing.
Updated the ChipUIViewTests to use this helper.
See the Snapshots-PR for the updated snapshots.

Hello !
I just finished a point with Elisa. Maybe we can put this review in pause.
She has some idea, the best is to wait I think the next week, I will rework the snapshot for the tag.
It's OK for you ?


Minimize object allocation when calling AbstractByteBuf.toString(...,…

… Charset)
Motivation:
Calling AbstractByteBuf.toString(..., Charset) is used quite frequently by users but produce a lot of GC.
Modification:

Use a FastThreadLocal to store the CharBuffer that are needed for decoding.
Use internalNioBuffer(...) when possible

Result:
Less object creation / Less GC

@Scottmitch @nmittler please check

@normanmaurer just a couple of nits ... LGTM!

Cherry-picked into 4.0 (054af70fed01dd48afb14ff368984ddee47b3310), 4.1 (2aef4a504fd01a82be2097ac44610d6a6ced54b8) and master (a92cace80876392014d8a34eec056e7d2b062e4b)


Add vc support

Describe your changes
Add vc support.
Checklist before requesting a review

[ ] Add unit tests for this change.
[ ] Make sure all tests can pass.
[ ] Update documents if necessary.
[ ] Format your code by running pre-commit run --all-files
[ ] Is this a user-facing change? If yes, give a description of this change to be included in the release notes.

(Optional) Issue link

could the description be more details? I don't know the background so there is no way to review it.

could the description be more details? I don't know the background so there is no way to review it.

+1

could the description be more details? I don't know the background so there is no way to review it.

+1

Something along the line "enable virtual clusters" ?

could the description be more details? I don't know the background so there is no way to review it.

+1

Something along the line "enable virtual clusters" ?

I synced with Mike offline about what this PR does. Also virtual cluster is not a public concept of Azure Machine Learning.


OmniSci result set to Pandas conversion performance analysis

OmniSci result set -> Arrow table
Arrow table -> Pandas dataframe
Arrow table -> Dmatrix

@ienkovich is this still relevant or we should close it?

@Garra1980 let's close it?