WIP: webpack 5 support status

This PR is not meant to be merged, but is able to run unit tests with webpack@5
When all green - we have support for webpack@5 :D

issues top:

watch mode doesn't work, this.watcher.close is not a function 34 errors
580 DeprecationWarnings:

229 [DEP_WEBPACK_COMPILATION_AFTER_OPTIMIZE_CHUNK_ASSETS] DeprecationWarning: afterOptimizeChunkAssets is deprecated (use Compilation.hook.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)
225 [DEP_WEBPACK_MODULE_ISSUER] DeprecationWarning: Module.issuer: Use new ModuleGraph API
83 [DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS] DeprecationWarning: optimizeChunkAssets is deprecated (use Compilation.hook.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)
5 [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated. BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation. Do changes to assets earlier, e. g. in Compilation.hooks.processAssets. Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.
18 [DEP_WEBPACK_DEPRECATION_ARRAY_TO_SET_PUSH] DeprecationWarning: chunk.files was changed from Array to Set (using Array method 'push' is deprecated)
20 [DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH] DeprecationWarning: MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)

webpack-source@2 typings in PR already https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47817

    // TODO_WEBPACK_5
    // the proper typing is available only in tapable, but importing of it leads to
    // Module 'tapable' is not listed as dependency in package.json
    // (_compilation.hooks as unknown as { processAssets: AsyncSeriesHook<[Record<string, Source>]>; })

fix 3rd party licences
```Running ng "build" "--prod" "--extract-licenses" "--output-hashing=none" [silent]...
CWD: /mnt/ramdisk/test-project
ENV: undefined
Last step took 36.33s...
Error: File dist/test-project/3rdpartylicenses.txt was expected to exist but not found...
at /home/circleci/ng/tests/legacy-cli/e2e/utils/fs.ts:163:24
at suppressedCallback (fs.js:215:5)
at FSReqCallback.oncomplete (fs.js:156:23)
Test "tests/build/extract-licenses" failed...
File dist/test-project/3rdpartylicenses.txt was expected to exist but not found...
Error: File dist/test-project/3rdpartylicenses.txt was expected to exist but not found...
at /home/circleci/ng/tests/legacy-cli/e2e/utils/fs.ts:163:24
at suppressedCallback (fs.js:215:5)
at FSReqCallback.oncomplete (fs.js:156:23)```

@valorkin, I am assuming we can close this correct?

@alan-agius4 do you have other tracking issue?
Lately had to switch to other activities, but most likely will have to jump back on.

There a couple of issues in the issue tracker.
I think it would be best to create small PRs anyways.

Closing as per our convo on slack.


Property 'render' does not exist ...

I am getting:
TS2339 [ERROR]: Property 'render' does not exist on type 'Context<Record<string, any>>'. ctx.render("index.html", { data: { name: "John" } });
(render is indicated error)
I noticed also that in the example I get an error at 'app.use(viewEngine(oakAdapter, denjuckEngine)); (oakAdapter has a squiggly line under it.

Parenthesis was missing and had to restart denon run.


today's update for ver 1.38 disable Cmake Extension!

Issue Type: Bug
the following version is ok with cmake extension,but update to today's version ,vs code will disable the cmake extension ,pls check,tks.
Version: 1.38.0-insider (user setup)
Commit: de320052255d136673fc5eee358f6e2551d6573e
Date: 2019-08-12T07:28:58.576Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18956
VS Code version: Code - Insiders 1.38.0-insider (de320052255d136673fc5eee358f6e2551d6573e, 2019-08-12T07:28:58.576Z)
OS version: Windows_NT x64 10.0.18956
Remote OS version: Linux x64 4.4.0-18956-Microsoft

the following new version with the issue :
Version: 1.38.0-insider (user setup)
Commit: 1c6e25b
Date: 2019-08-16T09:47:47.248Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18956
VS Code version: Code - Insiders 1.38.0-insider (1c6e25b, 2019-08-16T09:47:47.248Z)
OS version: Windows_NT x64 10.0.18956
Remote OS version: Linux x64 4.4.0-18956-Microsoft

@kinglionsz What do you mean by disabling cmake extension? Have you seen it in extensions view? Please provide more information.

@kinglionsz What do you mean by disabling cmake extension? Have you seen it in extensions view? Please provide more information.

I have installed the CMake Tools extension and use cmake build the code.But updated to VS Code version: Code - Insiders 1.38.0-insider (1c6e25b, 2019-08-16T09:47:47.248Z) , the CMake Tools extension seems to be disabled ,so I can't use cmake-tools to build the code.Why?
about the issue pls see the screen snip:

and cmake tools is ok should be the following  👍

I can confirm this bug.
As of the last nightly (16th Aug) Cmake Tools no longer activates. The extension shows as installed correctly but there is not a single log line from the extension in any log file. the CMake icon on the left hand toolbar is no longer there, ctrl-shift-p followed by ANY CMake tools command will yield a cmake. not found error. The infor bar that ought to show the build type etc is not active.
I completely wiped the remote killed all processes and restarted the install and it still fails. Switching back to the latest vscode stable shows that the extension works with the same workspaces.
The breakage only occurs on remote sessions. using cmake tools on a local windows repo works fine.
My remote machine is running ubuntu 18.04 as per the OP.
Version: 1.38.0-insider (user setup) Commit: 1c6e25b87e05a8429c986c59431be77467af9449 Date: 2019-08-16T09:47:47.248Z Electron: 4.2.9 Chrome: 69.0.3497.128 Node.js: 10.11.0 V8: 6.9.427.31-electron.0 OS: Windows_NT x64 10.0.17134
One observation that may be related but it is not clear why it might be so; the C/C++ extension has an insiders preview version 0.25, this gets installed on the local. It then prompts to install remotely and installs a 0.24 version. It is (slightly) plausible I guess that the version mismatch leads to this

This appears to be fixed in the 19th August nightly
Version: 1.38.0-insider (user setup)
Commit: c8d44e24dd250d416475a10efe64e35c9e2c65b3
Date: 2019-08-19T12:53:53.607Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.17134
@kinglionsz it appears to be fixed for me now. You might want to check if it is fixed for you too.

This appears to be fixed in the 19th August nightly
Version: 1.38.0-insider (user setup)
Commit: c8d44e2
Date: 2019-08-19T12:53:53.607Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.17134
@kinglionsz it appears to be fixed for me now. You might want to check if it is fixed for you too.

Thank you very much  @nhorlock @sandy081 [c8d44e2] fixed now for me.

Ok, it could have been broken by some intermediate changes. Thanks for update.


Add AddressMemcachedSessionComparator

Memecached cluster servers/client in container cluster such as k8s has the following characteristics.

Servers can be added or deleted at any time.
For client (App, Service) loadbalancing, the same client runs in the multiple containers.
To increase the client cache hit, it is recommended to use the same key/server Map.

Now xmemcached only supports index-based sorting of servers. Index-based sorting can not guarantee the same key/server map that works in multiple containers. To resolve the this issue, I added an address-based sorting method.
The modifications and additions are as follows.

Rename MemcachedSessionComparator to IndexMemcachedSessionComparator
Add MemcachedSessionComparator Interface
Add AddressMemcachedSessionComparator

is there no feedback??


Sometimes items can be missing in results

Test Query:
comments = api.search_comments(
                    after=1606262347,
                    before=1618581599,
                    subreddit="CovidVaccinated",
                    fields=["id","subreddit","link_id","parent_id","is_submitter","author",
                                "author_fullname","body","score","created_utc","permalink"],
                    limit=None
                    )

Results:
40730 result(s) available in Pushshift
Checkpoint:: Success Rate: 71.00% - Requests: 100 - Batches: 10 - Items Remaining: 33898
Checkpoint:: Success Rate: 79.00% - Requests: 200 - Batches: 20 - Items Remaining: 25661
Checkpoint:: Success Rate: 81.67% - Requests: 300 - Batches: 30 - Items Remaining: 18163
Checkpoint:: Success Rate: 81.75% - Requests: 400 - Batches: 40 - Items Remaining: 11467
Checkpoint:: Success Rate: 82.80% - Requests: 500 - Batches: 50 - Items Remaining: 4262
Checkpoint:: Success Rate: 83.02% - Requests: 583 - Batches: 60 - Items Remaining: 1
Total:: Success Rate: 83.02% - Requests: 583 - Batches: 60 - Items Remaining: 1
1 result(s) not found in Pushshift

Discovered in #12

Originally I thought this was due to a rounding error during the generation of time slices.
This was disproven by testing the number of unique epoch times in the time slice array, if there was a rounding error the number of unique results would not equal num + 1 (to create num slices we use num+1 unique datetimes)
This could be due to how the database is queried during time slicing. The oldest item utc_timestamp is used as a before field when generating subsequent timeslices. Pushshift queries the database using gt and lt for the after and before timestamps.
If multiple items have the same exact same utc_timestamp but are not all returned in a single query (due to 100 item limit), we might expect that the items may not be returned in subsequent timeslices.


Update bot.invalid_photo_extension to ukranian

Type: Feat
Subject: Translate bot.invalid_photo_extension to ukranian

Please bunch these PRs (e.g. #54, #55, #56, #57) into one, it would be much easier for the maintainers to work with that.

sure @mykolasolodukha , will keep that in mind going forward. Also, it would be great if you could add hacktoberfest-accepted label so that it would be helpful for me to track PRs in my profile

@Reghill roger that


Is hello_controller.js necessary during install?

When creating a new rails app with the default setup, stimulus:install adds a dummy hello_controller.js here, which in my experience eventually just ends up getting deleted since it isn't referenced in any of the new app's view templates for demoing purposes.
Seeing as the turbo:install step doesn't create any dummy controllers and view templates that utilize frames, streams etc., nor any stimulus, and it's up to the user to read the handbook and figure it out for themselves, can we assume the same for stimulus controllers and drop this file? The controller is pretty basic anyway and not really a preview of all the available stimulus APIs.
I'm happy to get a PR up to remove it if needed.

Yeah, we can delete it. Do a PR 👍

https://github.com/hotwired/stimulus-rails/pull/147


#Mongo_tasks . tanya.shulha

https://travis-ci.org/github/tanyashulha/db-assignments/builds/714366115

Try to decrease the time of performing these tests up to 100 ms. Adding some indexes to specific collections  should help

I'll mark the PR as "Draft", please click "ready for review" when it will be finished. Thank you!

Be careful, you should have provided this new direct link to your successfull travis tests
https://travis-ci.org/github/tanyashulha/db-assignments/builds/725828658
Closing the PR as accepted! Thanks!


GC collects all garbage, not just that related to this workflow

GC attempts to delete all garbage, not just garbage from this workflow. If you get into a state where some garbage cannot be collected, it causes all runs to fail.
In my case, I applied our github example and created a repo, then I ran lyra delete which behaved correctly. Since I used a GH token without deletion privileges the deletion couldn't be completed and the run fails. So far, everything is as expected.
Now I run unrelated workflow foobernetes. At the end of the run, GC runs but also attempts (and fails) to delete the GH repo from the previous workflow.
2019-04-15T15:48:45.467+0100 [DEBUG] lyra: Apply done: result="{'loadBalancerID' => 'lb-5966015125418228396', 'secondaryLoadBalancerID' => 'lb-8649258184344901351'}"
2019-04-15T15:48:45.467+0100 [DEBUG] lyra: garbage collecting: prefix=lyra://puppet.com/foobernetes/
2019-04-15T15:48:45.467+0100 [DEBUG] lyra: GC Sweep: prefix=lyra://puppet.com/foobernetes/
2019-04-15T15:48:45.467+0100 [DEBUG] lyra.identity: Invoke: @module=Identity api=Identity::Service name=sweep timestamp=2019-04-15T15:48:45.467+0100
2019-04-15T15:48:45.474+0100 [DEBUG] lyra: GC Collect garbage: prefix=lyra://puppet.com/foobernetes/
2019-04-15T15:48:45.475+0100 [DEBUG] lyra.identity: Invoke: @module=Identity api=Identity::Service name=garbage timestamp=2019-04-15T15:48:45.475+0100
2019-04-15T15:48:45.475+0100 [DEBUG] lyra: GC Collect garbage: prefix=lyra://puppet.com/foobernetes/ count=1
2019-04-15T15:48:45.475+0100 [DEBUG] lyra: starting plugin: path=build/goplugins/github args=[build/goplugins/github]
2019-04-15T15:48:45.478+0100 [DEBUG] lyra: plugin started: path=build/goplugins/github pid=73242
2019-04-15T15:48:45.478+0100 [DEBUG] lyra: waiting for RPC address: path=build/goplugins/github
2019-04-15T15:48:45.501+0100 [DEBUG] lyra.github: Starting to serve: @module=github name=GitHub timestamp=2019-04-15T15:48:45.501+0100
2019-04-15T15:48:45.502+0100 [DEBUG] lyra: using plugin: version=1
2019-04-15T15:48:45.502+0100 [DEBUG] lyra.github: plugin address: @module=github address=/var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/plugin419434649 network=unix timestamp=2019-04-15T15:48:45.502+0100
2019-04-15T15:48:45.503+0100 [DEBUG] lyra: loaded executable: plugin="TypedName('namespace' => 'service', 'name' => 'GitHub')"
2019-04-15T15:48:45.503+0100 [DEBUG] lyra: loading metadata: plugin=build/goplugins/github
2019-04-15T15:48:45.518+0100 [DEBUG] lyra: loaded TypeSet: name=GitHub count=17
2019-04-15T15:48:45.518+0100 [DEBUG] lyra: loaded Definitions: count=16
2019-04-15T15:48:45.519+0100 [DEBUG] lyra: done loading metadata: plugin=build/goplugins/github
2019-04-15T15:48:45.519+0100 [DEBUG] lyra: GC delete: prefix=lyra://puppet.com/foobernetes/ intId=lyra://puppet.com/github/repository?hid=GitHub%3A%3ARepository&rt=GitHub%3A%3ARepository extId=lyra-provider-test
2019-04-15T15:48:45.519+0100 [DEBUG] lyra.github: Invoke: @module=github api=GitHub::RepositoryHandler name=delete timestamp=2019-04-15T15:48:45.519+0100
2019-04-15T15:48:45.519+0100 [INFO]  lyra.github: Delete github_repository: @module=github externalID=lyra-provider-test timestamp=2019-04-15T15:48:45.519+0100
2019-04-15T15:48:45.519+0100 [DEBUG] lyra.github: 2019/04/15 15:48:45 [DEBUG] Deleting repository: lyraproj/lyra-provider-test
2019-04-15T15:48:45.519+0100 [DEBUG] lyra.github: 2019/04/15 15:48:45 [TRACE] Aquiring lock for GitHub API request ("lyra-provider-test")
2019-04-15T15:48:46.139+0100 [DEBUG] lyra.github: 2019/04/15 15:48:46 [TRACE] Releasing lock for GitHub API request ("lyra-provider-test")
2019-04-15T15:48:46.140+0100 [ERROR] lyra.github: Invoke failed: @module=github error="Go function Delete returned error 'DELETE https://api.github.com/repos/lyraproj/lyra-provider-test: 404 Not Found []'
 at /Users/scott/go/pkg/mod/github.com/lyraproj/pcore@v0.0.0-20190408134742-7ef8f288585f/types/function.go:104 (github.com/lyraproj/pcore/types.(*function).CallGoReflected)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/pcore@v0.0.0-20190408134742-7ef8f288585f/types/objectvalue.go:228 (github.com/lyraproj/pcore/types.(*reflectedObject).Call)

All workflows now fail in this way. A workaround is to delete the identity.db file.
We should probably delete only garbage related to the current workflow.
In this particular GH example, I deleted the repo manually but we continue to attempt deletion. We could maybe modify the bridge to confirm the garbage still exists if deletion fails.

I appreciate the word "probably" in that sentence. Very polite :-)


fix pip installation from source code issue

The pip cmake package just release 3.29.0, which broken the pip installation from source code. Refer: https://github.com/intel/intel-xpu-backend-for-triton/issues/679#issuecomment-2020509855.

Is it better to temporary pin cmake<3.29.0?


remove volumes that are not needed

@sabrina-yee Please review/merge

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Naveen Bajjuri seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[FLINK-22890][hive] HiveTestUtils should create partition after the d…

…ata file is ready

What is the purpose of the change
Fix test failures in HiveTableSinkITCase and HiveInputFormatPartitionReaderITCase
Brief change log

When preparing data for a partitioned table in HiveTestUtils, partition should be created after the data file is ready
Fix HiveInputFormatPartitionReaderITCase for hive-2.0

Verifying this change
Manually verified the tests multiple times on my laptop
Does this pull request potentially affect one of the following parts:
NA
Documentation
NA

The HiveTestUtils change LGTM, HiveInputFormatPartitionReaderITCase changes means only hive 2.x version can work with orc format？

Thanks @leonardBang  for reviewing. We don't support writing to orc table for hive 2.0. You can refer to HiveRunnerITCase::readWriteFormat to find similar check there.

I got it, and we ignore all orc writer tests for hive 2.0.x

Thanks @lirui-apache for the contribution, LGTM


Indication of  license and copyright of Snap.svg

ProfileSVG uses Snap.svg to support interactive functions.
Snap.svg is available under an Apache License 2.0, which is "free" and compatible with ProfileSVG's MIT license. However, the SVG files output by ProfileSVG do not have any license-related description, even though the Snap.svg code is embedded in the SVG files as is.
I prefer to use the min.js file with the license header which is distributed in the official repository.
FYI, it did not work with the final release (v0.5.1). ProfileSVG seems to use Snap.svg v0.3.0.

BTW, ProfileSVG does not fully utilize the functions of Snap.svg. Now that the SVG support on major browsers is "somewhat" stable, I don't think we need to use Snap.svg.

Umm, the official Snap.svg v0.3.0 also fails initialization, and go to #4.:confused:
Reluctantly (cf. #8), I will modify the JavaScript code first.


./buildExtensions.sh OPATCHAUTO-72156: Patch location not accessible or empty.

I'm trying to upgrade an image with 19.3 up to 19.9: I've put p31771877_190000_Linux-x86-64.zip into patches directory and ran
./buildExtensions.sh -a -b oracle/database:19.3.0-ee -t oracle/database:19.9.0-ee
and looks like it can't upgrade because of the following errors in step 5:
OPATCHAUTO-72156: Patch location not accessible or empty.
OPATCHAUTO-72156: Patch location supplied cannot be accessed or no content found.
OPATCHAUTO-72156: Please provide a correct patch location.

Full log:
extensions]# ./buildExtensions.sh -a -b oracle/database:19.3.0-ee -t oracle/database:19.9.0-ee
==========================
DOCKER info:
Client:
 Debug Mode: false

Server:
 Containers: 8
  Running: 8
  Paused: 0
  Stopped: 0
 Images: 73
 Server Version: 19.03.8
 Storage Driver: overlay2
  Backing Filesystem: <unknown>
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1062.12.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.13GiB
 Name: orasql.org
 ID: BSQE:QM2V:GIUD:VT7Q:M5YC:JXTE:ZELX:RPBP:7II6:MQ4I:XJ3S:3BBI
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
==========================
Building extension patching...
Sending build context to Docker daemon  1.425GB
Step 1/17 : ARG BASE_IMAGE=oracle/database:19.3.0-ee
Step 2/17 : FROM ${BASE_IMAGE} as patching
 ---> d58acd761923
Step 3/17 : ENV HOST_PATCH_DIR="patches"     PATCH_DIR=/opt/install/patches     PATCH_DB_BINARIES_FILE="patchDBBinaries.sh"
 ---> Running in f95d9dc720eb
Removing intermediate container f95d9dc720eb
 ---> f038ee29e866
Step 4/17 : COPY --chown=oracle:dba $HOST_PATCH_DIR $PATCH_DB_BINARIES_FILE $PATCH_DIR/
 ---> f1cfbd6cee72
Step 5/17 : RUN chmod ug+x $PATCH_DIR/*.sh &&     sync &&     $PATCH_DIR/$PATCH_DB_BINARIES_FILE &&     rm -rf $PATCH_DIR/* $ORACLE_HOME/.patch_storage
 ---> Running in 7c62ede93814
Unzipping /opt/install/patches/release_update/p31771877_190000_Linux-x86-64.zip
No one-offs to be installed.
Applying Release Update: 31771877
Running: /opt/oracle/product/19c/dbhome_1/OPatch/opatchauto apply -binary -oh /opt/oracle/product/19c/dbhome_1 /opt/install/patches/31771877 -target_type rac_database
OPATCHAUTO-72156: Patch location not accessible or empty.
OPATCHAUTO-72156: Patch location supplied cannot be accessed or no content found.
OPATCHAUTO-72156: Please provide a correct patch location.

 perl patching initializaion failed with error code 255.
Removing intermediate container 7c62ede93814
 ---> c836abe09170
Step 6/17 : FROM ${BASE_IMAGE}
 ---> d58acd761923
Step 7/17 : ENV DATAPATCH_FILE="runDatapatch.sh"     LSPATCHES_FILE="savePatchSummary.sh"
 ---> Running in 60d1b6ddeb34
Removing intermediate container 60d1b6ddeb34
 ---> 6b51da9eee55
Step 8/17 : ARG EXTENSION_NAME="patching"
 ---> Running in ef866981e637
Removing intermediate container ef866981e637
 ---> 5ab8cf0b6df8
Step 9/17 : COPY --chown=oracle:dba --from=patching $ORACLE_BASE $ORACLE_BASE
 ---> 1f8d04ea0722
Step 10/17 : COPY --chown=oracle:dba $DATAPATCH_FILE $ORACLE_BASE/scripts/startup
 ---> 57aa70f683b2
Step 11/17 : RUN chmod ug+x $ORACLE_BASE/scripts/startup/*.sh && sync
 ---> Running in 80cc5f5d1a08
Removing intermediate container 80cc5f5d1a08
 ---> 318f4c44fdc9
Step 12/17 : COPY --chown=oracle:dba $LSPATCHES_FILE $ORACLE_BASE/scripts/setup
 ---> 84a62aab6e35
Step 13/17 : RUN chmod ug+x $ORACLE_BASE/scripts/setup/*.sh && sync
 ---> Running in d2d158d13cbb
Removing intermediate container d2d158d13cbb
 ---> 7e180a577290
Step 14/17 : RUN mv "$ORACLE_BASE/$RUN_FILE" "$ORACLE_BASE/$RUN_FILE.$EXTENSION_NAME"
 ---> Running in d1deaf0b1cd7
Removing intermediate container d1deaf0b1cd7
 ---> 01a02238813a
Step 15/17 : COPY  --chown=oracle:dba $RUN_FILE $ORACLE_BASE/
 ---> f4f659568da8
Step 16/17 : RUN chmod ug+x $ORACLE_BASE/*.sh && sync
 ---> Running in 8d7d23d9bf4e
Removing intermediate container 8d7d23d9bf4e
 ---> 4612c6b74d3b
Step 17/17 : RUN echo -e "\n. $ORACLE_BASE/$RUN_FILE.$EXTENSION_NAME" >> "$ORACLE_BASE/$RUN_FILE"
 ---> Running in c526e16605e4
Removing intermediate container c526e16605e4
 ---> a1ae34f88f48
Successfully built a1ae34f88f48

I've added a couple of ls -la before echo "Running: $cmd"; in patchDBBinaries.sh
    cmd="${ORACLE_HOME}/OPatch/opatchauto apply -binary -oh $ORACLE_HOME ${PATCH_DIR}/${ru_patch}";
    echo "ls: ";
    ls -la "${PATCH_DIR}";
    ls -la "${PATCH_DIR}/${ru_patch}";
    echo "Running: $cmd";

and it showed:
ls:
total 500
drwxr-xr-x 1 oracle dba        4096 Dec 28 12:46 .
drwxr-xr-x 1 root   root       4096 Dec 28 12:45 ..
drwxr-xr-x 5 oracle oinstall   4096 Oct  8 04:34 31771877
-rw-rw-r-- 1 oracle oinstall 475361 Oct 20 19:54 PatchSearch.xml
drwxr-xr-x 2 oracle dba        4096 Oct  1 09:36 one_offs
-rwxr-xr-- 1 oracle dba        2020 Dec 28 12:44 patchDBBinaries.sh
drwxr-xr-x 2 oracle dba        4096 Dec 25 12:17 release_update
total 100
drwxr-xr-x  5 oracle oinstall  4096 Oct  8 04:34 .
drwxr-xr-x  1 oracle dba       4096 Dec 28 12:46 ..
-rw-r--r--  1 oracle oinstall 73448 Oct  8 04:36 README.html
-rw-r--r--  1 oracle oinstall    21 Oct  8 04:36 README.txt
drwxr-x---  3 oracle oinstall  4096 Oct  8 04:36 custom
drwxr-x---  3 oracle oinstall  4096 Oct  8 04:36 etc
drwxr-x--- 39 oracle oinstall  4096 Oct  8 04:34 files
Running: /opt/oracle/product/19c/dbhome_1/OPatch/opatchauto apply -binary -oh /opt/oracle/product/19c/dbhome_1 /opt/install/patches/31771877
OPATCHAUTO-72156: Patch location not accessible or empty.
OPATCHAUTO-72156: Patch location supplied cannot be accessed or no content found.
OPATCHAUTO-72156: Please provide a correct patch location.

I've modified the line
    cmd="${ORACLE_HOME}/OPatch/opatchauto apply -binary -oh $ORACLE_HOME ${PATCH_DIR}/${ru_patch}";

as follows:
    cmd="cd ${PATCH_DIR}/${ru_patch} && ${ORACLE_HOME}/OPatch/opatchauto apply -binary -oh $ORACLE_HOME";

and the error has gone:
# ./buildExtensions.sh -a -b oracle/database:19.3.0-ee -t oracle/database:19.9-ee
==========================
DOCKER info:
Client:
 Debug Mode: false

Server:
 Containers: 8
  Running: 8
  Paused: 0
  Stopped: 0
 Images: 58
 Server Version: 19.03.8
 Storage Driver: overlay2
  Backing Filesystem: <unknown>
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1062.12.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.13GiB
 Name: orasql.org
 ID: BSQE:QM2V:GIUD:VT7Q:M5YC:JXTE:ZELX:RPBP:7II6:MQ4I:XJ3S:3BBI
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
==========================
Building extension patching...
Sending build context to Docker daemon  1.425GB
Step 1/17 : ARG BASE_IMAGE=oracle/database:19.3.0-ee
Step 2/17 : FROM ${BASE_IMAGE} as patching
 ---> d58acd761923
Step 3/17 : ENV HOST_PATCH_DIR="patches"     PATCH_DIR=/opt/install/patches     PATCH_DB_BINARIES_FILE="patchDBBinaries.sh"
 ---> Running in 353f14dbace5
Removing intermediate container 353f14dbace5
 ---> 5f597a280d9a
Step 4/17 : COPY --chown=oracle:dba $HOST_PATCH_DIR $PATCH_DB_BINARIES_FILE $PATCH_DIR/
 ---> 69424d86a4d4
Step 5/17 : RUN chmod ug+x $PATCH_DIR/*.sh &&     sync &&     $PATCH_DIR/$PATCH_DB_BINARIES_FILE &&     rm -rf $PATCH_DIR/* $ORACLE_HOME/.patch_storage
 ---> Running in 7f326f66893b
Unzipping /opt/install/patches/release_update/p31771877_190000_Linux-x86-64.zip
No one-offs to be installed.
Applying Release Update: 31771877
ls:
ls /opt/install/patches:
total 508
drwxr-xr-x 1 oracle dba    4096 Dec 29 11:42 .
drwxr-xr-x 1 root   root   4096 Dec 29 11:42 ..
drwxr-xr-x 5 oracle dba    4096 Oct  8 04:34 31771877
-rw-rw-r-- 1 oracle dba  475361 Oct 20 19:54 PatchSearch.xml
drwxr-xr-x 1 oracle dba    4096 Oct  1 09:36 one_offs
-rwxr-xr-- 1 oracle dba    2264 Dec 29 11:41 patchDBBinaries.sh
drwxr-xr-x 1 oracle dba    4096 Dec 25 12:17 release_update
ls /opt/install/patches/31771877:
total 100
drwxr-xr-x  5 oracle dba  4096 Oct  8 04:34 .
drwxr-xr-x  1 oracle dba  4096 Dec 29 11:42 ..
-rw-r--r--  1 oracle dba 73448 Oct  8 04:36 README.html
-rw-r--r--  1 oracle dba    21 Oct  8 04:36 README.txt
drwxr-x---  3 oracle dba  4096 Oct  8 04:36 custom
drwxr-x---  3 oracle dba  4096 Oct  8 04:36 etc
drwxr-x--- 39 oracle dba  4096 Oct  8 04:34 files
Running: cd /opt/install/patches/31771877 && /opt/oracle/product/19c/dbhome_1/OPatch/opatchauto apply -binary -oh /opt/oracle/product/19c/dbhome_1
Removing intermediate container 7f326f66893b
 ---> d5da2bb4cb13
Step 6/17 : FROM ${BASE_IMAGE}
 ---> d58acd761923
Step 7/17 : ENV DATAPATCH_FILE="runDatapatch.sh"     LSPATCHES_FILE="savePatchSummary.sh"
 ---> Using cache
 ---> e9ff7644de09
Step 8/17 : ARG EXTENSION_NAME="patching"
 ---> Using cache
 ---> c63fe470ef26
Step 9/17 : COPY --chown=oracle:dba --from=patching $ORACLE_BASE $ORACLE_BASE
 ---> 8dce259337ce
Step 10/17 : COPY --chown=oracle:dba $DATAPATCH_FILE $ORACLE_BASE/scripts/startup
 ---> f50e73487757
Step 11/17 : RUN chmod ug+x $ORACLE_BASE/scripts/startup/*.sh && sync
 ---> Running in a8c3d8a88a06
Removing intermediate container a8c3d8a88a06
 ---> c5d7a2cb2b69
Step 12/17 : COPY --chown=oracle:dba $LSPATCHES_FILE $ORACLE_BASE/scripts/setup
 ---> 0aeb4391350c
Step 13/17 : RUN chmod ug+x $ORACLE_BASE/scripts/setup/*.sh && sync
 ---> Running in 5d890d9a1b26
Removing intermediate container 5d890d9a1b26
 ---> 6eaa91502a0e
Step 14/17 : RUN mv "$ORACLE_BASE/$RUN_FILE" "$ORACLE_BASE/$RUN_FILE.$EXTENSION_NAME"
 ---> Running in 020c63ffc931
Removing intermediate container 020c63ffc931
 ---> 27e993a7cd1e
Step 15/17 : COPY  --chown=oracle:dba $RUN_FILE $ORACLE_BASE/
 ---> ec53df2bb820
Step 16/17 : RUN chmod ug+x $ORACLE_BASE/*.sh && sync
 ---> Running in 524a842d38da
Removing intermediate container 524a842d38da
 ---> b85839e147c8
Step 17/17 : RUN echo -e "\n. $ORACLE_BASE/$RUN_FILE.$EXTENSION_NAME" >> "$ORACLE_BASE/$RUN_FILE"
 ---> Running in 2626980bb3d5
Removing intermediate container 2626980bb3d5
 ---> aeca2be0c829
Successfully built aeca2be0c829
Successfully tagged oracle/database:19.9-ee

  Oracle Database Docker Image extended:

    --> oracle/database:19.9-ee

  Build completed in 246 seconds.

but I still get 19.3 when I create container from new image.

Even with newer OPatch <IP_ADDRESS>.23:
Unzipping /opt/install/patches/release_update/p31771877_190000_Linux-x86-64.zip
/opt/install/patches/one_offs/p6880880_190000_Linux-x86-64.zip
Removing directory /opt/oracle/product/19c/dbhome_1/OPatch
Unzipping OPatch archive /opt/install/patches/one_offs/p6880880_190000_Linux-x86-64.zip to /opt/oracle/product/19c/dbhome_1
Applying Release Update: 31771877 in /opt/install/patches/31771877
Running: cd /opt/install/patches/31771877 && pwd && echo  && ls -la && /opt/oracle/product/19c/dbhome_1/OPatch/opatchauto apply /opt/install/patches/31771877 -binary -oh /opt/oracle/product/19c/dbhome_1 -target_type rac_database
/opt/install/patches/31771877

total 100
drwxr-xr-x  5 oracle oinstall  4096 Oct  8 04:34 .
drwxr-xr-x  1 oracle dba       4096 Dec 30 13:23 ..
-rw-r--r--  1 oracle oinstall 73448 Oct  8 04:36 README.html
-rw-r--r--  1 oracle oinstall    21 Oct  8 04:36 README.txt
drwxr-x---  3 oracle oinstall  4096 Oct  8 04:36 custom
drwxr-x---  3 oracle oinstall  4096 Oct  8 04:36 etc
drwxr-x--- 39 oracle oinstall  4096 Oct  8 04:34 files
OPATCHAUTO-72156: Patch location not accessible or empty.
OPATCHAUTO-72156: Patch location supplied cannot be accessed or no content found.
OPATCHAUTO-72156: Please provide a correct patch location.

 perl patching initializaion failed with error code 255.

Please copy the patch inside extensions/patching/patches/release_update directory and retry. That is what is mentioned in the patching readme as well.

Please copy the patch inside extensions/patching/patches/release_update directory and retry. That is what is mentioned in the patching readme as well.

@rishabh20 that's exactly what I did, and you can see it in the log above:
Unzipping /opt/install/patches/release_update/p31771877_190000_Linux-x86-64.zip

@rishabh20 that's exactly what I did, and you can see it in the log above:
Unzipping /opt/install/patches/release_update/p31771877_190000_Linux-x86-64.zip

@xtender What is the size of the patch?

@xtender What is the size of the patch?

@rishabh20<PHONE_NUMBER> bytes:
[root@orasql release_update]# pwd
/home/xtender/github-oracle/docker-images/OracleDatabase/SingleInstance/extensions/patching/patches/release_update
[root@orasql release_update]# ls -l
total 1391308
-rw-rw-r-- 1 oracle 54322<PHONE_NUMBER> Dec 23 20:59 p31771877_190000_Linux-x86-64.zip

@rishabh20<PHONE_NUMBER> bytes:
[root@orasql release_update]# pwd
/home/xtender/github-oracle/docker-images/OracleDatabase/SingleInstance/extensions/patching/patches/release_update
[root@orasql release_update]# ls -l
total 1391308
-rw-rw-r-- 1 oracle 54322<PHONE_NUMBER> Dec 23 20:59 p31771877_190000_Linux-x86-64.zip

@xtender The patch looks okay. I tried following the same steps on my machine and it went through fine. As of now, I don't know what could be the issue here. Please explain how u built the base 19.3 image.

@xtender The patch looks okay. I tried following the same steps on my machine and it went through fine. As of now, I don't know what could be the issue here. Please explain how u built the base 19.3 image.

@rishabh20 again docker builds it, but oracle in resulted image returns still 19.3. Are you sure that your final oracle shows 19.9 in v$instance?
select version_full from v$instance;

VERSION_FULL
-----------------
<IP_ADDRESS>.0

@rishabh20 again docker builds it, but oracle in resulted image returns still 19.3. Are you sure that your final oracle shows 19.9 in v$instance?
select version_full from v$instance;

VERSION_FULL
-----------------
<IP_ADDRESS>.0

Please explain how u built the base 19.3 image.
It was created successfully using ./buildContainerImage.sh from (docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/) from this repo as per instrunction:

./buildContainerImage.sh -v 19.3.0 -e

Please explain how u built the base 19.3 image.
It was created successfully using ./buildContainerImage.sh from (docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/) from this repo as per instrunction:

./buildContainerImage.sh -v 19.3.0 -e

I can confirm that i reproduced this issue on current git latest via

copy LINUX.X64_193000_db_home.zip and p6880880_190000_Linux-x86-64.zip to /data/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0 folder
run /data/docker-images/OracleDatabase/SingleInstance/dockerfiles>./buildContainerImage.sh -v 19.3.0 -e
copy p32226239_190000_Linux-x86-64.zip to /data/docker-images/OracleDatabase/SingleInstance/extensions/patching/patches/release_update
run /data/docker-images/OracleDatabase/SingleInstance/extensions> ./buildExtensions.sh -a -b oracle/database:19.3.0-ee -t oracle/database:19.10.0-ee

the resulting image claims its still 19.3.0 and the patches dont seem to be applied.
When trying via the one_offs p32067171_190000_Linux-x86-64.zip and p32218454_190000_Linux-x86-64.zip (and opatch update p6880880_190000_Linux-x86-64.zip) in /data/docker-images/OracleDatabase/SingleInstance/extensions/patching/patches/one_offs i get the following error during the build:
==Following patches FAILED in apply:

Patch: /opt/install/patches/32218454
Log: /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2021-03-31_19-10-51PM_1.log
Reason: Failed during Analysis: CheckPatchApplicable Failed, [ Prerequisite Status: FAILED, Prerequisite output:
The details are:

Patch 32218454:
Jar Action: Destination File "/opt/oracle/product/19c/dbhome_1/sqldeveloper/sqldeveloper/lib/osdt_cert.jar" does not exists or is not writeable
'oracle.dbdev, <IP_ADDRESS>.0': Cannot update file '/opt/oracle/product/19c/dbhome_1/sqldeveloper/sqldeveloper/lib/osdt_cert.jar' with 'oracle/security/crypto/cert/GeneralName$Type.class'

Used files are:
> ls -la p*
-rw------- 1 user user  125586988 Mar 30 00:42 p32067171_190000_Linux-x86-64.zip
-rw------- 1 user user<PHONE_NUMBER> Mar 30 00:41 p32218454_190000_Linux-x86-64.zip
-rw------- 1 user user<PHONE_NUMBER> Mar 29 12:28 p32226239_190000_Linux-x86-64.zip
-rw------- 1 user user  120761121 Mar 29 11:48 p6880880_190000_Linux-x86-64.zip
> md5sum p*
d58d6a9cd276838648bfda323a8f6119  p32067171_190000_Linux-x86-64.zip
add92eb9abca0f67593ae08e128bc3d4  p32218454_190000_Linux-x86-64.zip
732ba3134a302320930a22676dff82f4  p32226239_190000_Linux-x86-64.zip
9672129ff86a7bc4eddc36097b1ba2ff  p6880880_190000_Linux-x86-64.zip

@theBNT The issue that you are facing can be resolved by passing additional build argument (while creating 19.3 docker image) to make SLIMMING env var false. By default SLIMMING is true.
If SLIMMING env var is true some unnecessary components are removed from the image and sqldeveloper is one of them (causing the issue in this case).
Example build command:
./buildContainerImage.sh -i -e -v 19.3.0 -o '--build-arg SLIMMING=false'

@xtender I am not able to reproduce this issue on my machine. I used OPatch <IP_ADDRESS>.24 and I am able to build extended image without any error.
My resulted image is showing <IP_ADDRESS>.0 in v$instance
SQL> select version_full from v$instance;

VERSION_FULL
-----------------
<IP_ADDRESS>.0

Not sure what issue is causing this error. Can you pls check logs in  $ORACLE_HOME/cfgtoollogs/opatchauto/ directory for some additional information this error ?

@xtender Also can you pls try buildling extension with the 19.3 base image with SLIMMING false as I a explained above ?

@theBNT I guess currently patching will not work with the slim image as per the solution suggested by PR #1666. The reason is that cleanup.sh script introduced in the PR will mandatorily remove the components like sqldeveloper, apex etc (as in our case happens when SLIMMING is set). There is no option for not removing these components in that PR, hence, the same error that you were having initially will come.
But the idea of that PR (using compressed RMAN backup for creating the database, while the slimmer docker image only have binaries required)  is interesting. Thorough testing is required to check whether this will be able to reduce the size of patched image.

@xtender Any update on the issue that you are facing ?
Closing this issue for now as not able to replicate it on the local development environment.


Add sentry_link for GraphQL

:scroll: Description
Resolves https://github.com/getsentry/sentry-dart/issues/1126
:bulb: Motivation and Context
Context: https://github.com/getsentry/sentry-dart/issues/1126#issuecomment-2386577644
:green_heart: How did you test it?
It's already used widely in production without any reported issues
:pencil: Checklist

[ ] I reviewed submitted code
[ ] I added tests to verify changes
[ ] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[ ] I updated the docs if needed
[ ] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

Hand over the ownership of the https://pub.dev/packages/sentry_link package on pub
Add CI for this new package (I would like to hand this task over to you)

Open questions

What to do with the changelog? All other packages reuse the same one
What to do with the license? I'm happy to change it

I'm happy to discuss this via Discord, Twitter, E-Mail, or whatever :D

thx!!
I wonder how we are going to port the existing changelog since we symlink the main changelog in our packages and I don't necessarily want to remove the existing graphql changelog

Yeah, I've wondered the same. Maybe keep it as CHANGELOG_OLD.md and then just link once from the shared one to it?

@buenaflor Are there any updates?

@buenaflor or @vaind any chances of moving forward with this? :D By download count if would be on the 6th place of all Sentry packages in the Dart ecosystem

can we change the folder namesentry_link -> link? to keep in line with the other namings

Sure

craft.yml still needs an entry link for the pub dev section

I'll take a look at it.

Maybe we can also setup a simple CI for running the tests similar to hive.yml

@kahest do we need to look out for anything specific when transferring external repos to ours?
So far we:

changed license to MIT
old changelog is internally part of sentry_link for visibility
new changes will just be part of the main changelog as usual

Handing over the package name on pub.dev still needs to be coordinated too.

what about this

we can merge this as is
I'll set up CI and check if everything is running fine
check code more in depth etc...

just a sanity check

then when everything is clear we can do all the steps for uploading, e.g adding a target to craft, transfer ownership etc...

wdyt?

Sounds good. I'm happy to jump on call or something for the package transfer on pub. I guess that's easier than sending messages back and forth


Changelog.md says minimum required version is 2.7.7

If this is so, why does rubygems.org say that it requires Ruby >= 3.0?  Can this be dialed back so that software requiring Ruby 2.7.7 can use Twitter 8.0?

Ruby 2.7 has an end-of-life status as of March 31, 2023. That means that known security issues will not be patched. I strongly recommend upgrading to Ruby 3.0 (or later), which was released on December 25, 2020. It is much more important for you to update to a newer Ruby version than to update to the latest version of the Twitter library.


Strange error

$ yarn dev
yarn run v1.3.2
$ ./node_modules/.bin/concurrently --kill-others "npm run dev-relay" "npm run dev-webpack" "npm run dev-server"
[2]
[2] ><EMAIL_ADDRESS>dev-server /Users/mark/Documents/htdocs/reactssr/UniversalRelayBoilerplate
[2] > export NODE_ENV=development && ./node_modules/.bin/babel-watch -e js,jsx ./units/urb-base-server/server.js
[2]
[1]
[1] ><EMAIL_ADDRESS>dev-webpack /Users/mark/Documents/htdocs/reactssr/UniversalRelayBoilerplate
[1] > webpack-dev-server --mode development --hot --inline --no-info --colors
[1]
[0]
[0] ><EMAIL_ADDRESS>dev-relay /Users/mark/Documents/htdocs/reactssr/UniversalRelayBoilerplate
[0] > relay-compiler --src ./units/ --extensions=js jsx --schema schema.graphql --watch
[0]
[0]
[0] Writing js
[0] Unchanged: 43 files
[0] Watching for changes to js...
[0] Watching for changes to graphql...
[1] Webpack {"version":"<IP_ADDRESS>","publicPath":"http://<IP_ADDRESS>:26006/<IP_ADDRESS>/"}
[2] Error:  Initializing Cassandra persister - error while creating User!
[2] Error while retrieveing Schema of DB Table "NoHostAvailableError: All host(s) tried for query failed. First host tried, <IP_ADDRESS>:9042: Error: connect ECONNREFUSED <IP_ADDRESS>:9042. See innerErrors."

The application was not able to connect to Cassandra. Can you connect using cqlsh? Do you have the correct information in .env for the connection points?

I used the original master-branch.


File selection to generate the paths

Describe the solution you'd like
A common reason for Angular CLI commands to fail is path invalidity. Also, writing paths on the terminal is boring and error-prone. So it would be very interesting to have the possibility to use the in-IDE file selector to quickly create valid paths when generating a command.
This can be easily achieved because the schema.json files, that describe the command options, specify if a string is meant to be a path.

I also wanted to let you know about slowly deprecating this plugin in favor for the official on by Nrwl: https://plugins.jetbrains.com/plugin/21060-nx-console


Add dependencies

hi great project!!!
I am a bit confused about adding project dependencies...
I would like to add for example react-native-google-cast
can I still use npm install and npm link ?
Or do i go about this another way ?

Eject the plarforms and add the dependecies the traditional way we used to do in any typical react native project .
-npm install your dependency .
-Add your podspec or pod path to your podfile inside ios or tvos .
-pod install and that's it for apple .
For android , follow the manual steps provided by your dependency .

Got it thanks...!


Use jekyll redirect plugin to redirect pages.

This approach is better because all pages can be redirected without code duplication

Can one of the admins verify this patch?

good work :)


Improve Turbo mode performance

This improves the performance of Turbo mode on phones with thousands photos: no freezing, <100% CPU, ~200MB RAM.
Two main fixes:

assets.first(where: { $0.localIdentifier == photoID }) was getting called for each top photo each time the top photos changed. I think this was causing SwiftUI to lock up. Switching to a dictionary for O(1) lookups.
CoreDataManager.shared.fetchAllPhotoVectors() is slow when it has to deserialize a lot of MLMultiArray vectors. The vectors are small, so changed to keep them in memory. This speeds up turbo mode for a small amount of RAM. (512 dimension * 16 bit * # of photos is only ~10MB for 10,000 photos)

One nice-to-have fix:

Added isSearchingAsync so that only 1 async request is active at a time. This reduces the CPU usage and energy impact. Turbo mode is still incredibly fast with this.

Great Stuff!!!


Inputs date min. year limit 1900

Hey guys, I wonder why year must be >= 1900 in inputs.date?
https://github.com/flask-restful/flask-restful/blob/f44ba85222d0961cb5fc78223b81c848605e78fb/flask_restful/inputs.py#L188-L189

The implementer probably misunderstood the docs which say that strftime cannot be used for years < 1900:
>>> d = datetime.strptime('1899-01-01', '%Y-%m-%d')
>>> d.strftime('%Y-%m-%d')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: year=1899 is before 1900; the datetime strftime() methods require year >= 1900

Since strftime is not used anywhere, I'd say this check can be removed.

It's done, Sir
https://github.com/flask-restful/flask-restful/pull/446


Improving the web site eelang.org and documentation

I think the web site eelang.org could be improved a lot with simple means. A good web site will hopefully attract more people to use this project. It could also be the primary source for documentation and therefore a useful resource for people like me that are trying to use this project. If the documentation is written in Markdown it will be possible to both display them in a text editor and also render them nicely on a web site.
I suggest the following:

The web site eelang.org is hosted as a GitHub Page
Jekyll is used to generate the page HTML files from Markdown
We create a simple theme with a top menu with 4-6 links (Home, Download, Documentation, etc) and a side menu for pages that will require a lot of sub pages (documentation)
All web content is put into docs/ in the master branch
All docs/rwc-*.txt are moved into another directory
Most files in docs/ is rewritten to Markdown
Maybe a few files from the root could be moved into docs/ and published on the site
Code examples could probably be included as a gist, or maybe linked directly from the repository. C syntax hiliting seems to work really well with most EEL code.

I think the biggest benefit is that people like me could contribute to the web site via a pull request. It will also be easier to to keep the documentation in the repository and the web site in sync, and not getting problem like the eelbox.txt vs eelium.txt filename mismatch.
If you think this is a good idea I'm ready to start coding and make a pull request!

I have continued working with the new site.

The theme CSS is updated to a dark theme inspired by the Jekyll site.
eel-language.txt is converted into Markdown and included on the site.
eel.io.txt is converted into Markdown and included on the site.
Updated menu system to have a third level and added all modules to the menu.
A new page for information about how EEL is splitted into separated parts (Core, Compiler, Modules) and some basic information about the different modules.
A few other small updates

Btw, http://www.eelang.org/ seems to have been down for the last few days.

Some more things done:

Splitted the menu into a top menu and a side menu
Imported eel-dsp.txt
Imported extending-eel.txt
Syntax hilite via highlight.js (The built in hilite on GitHub pages didn't work that well with EEL)


New command: m365 aad o365group recyclebinitem remove

m365 aad o365group recyclebinitem remove
Permanently deletes a Group from the recycle bin

Option
Description

--id [id]
Id of the Group in the recycle bin

-d, --displayName [displayName]
Displayname of the Group

-m, --mailNickname [mailNickname]
Mailnickname of the Group

--confirm
Does not ask for confirmation

Reference: Graph endpoint

I don't think we have it at the moment yet, so it would be a nice addition indeed.

@waldekmastykarz: what about this suggestion? We might search for another name.

All groups will be deleted if no parameters are specified

I'm a bit hesitant to have this as a default behavior. What if we introduced a separate switch --all so that it's an explicit action to remove all groups rather than something that you could accidentally do by omission?
As for the naming, right now we have the aad o365group remove and ... restore commands.  In SPO we have spo tenant recyclebinitem remove and ...restore for specifically working with deleted sites. Since the O365 Group restore command is already in the o365group name, I think we should add this command in the same namespace too. What's confusing is that by attaching the permanent delete command to o365group makes it look on the outside like you would delete an existing group directly rather than moving it to the recycle bin. Something, that we'd ideally solve by introducing --skipRecycleBin like we do on spo site remove. Similarly, for SharePoint sites, we have the --fromRecycleBin option on spo site delete that permanently deletes a removed site. There is however no concept of recycle bin for O365 groups.
So I guess the final question is: do we align with other commands in the CLI or do we follow the API that we use and offer inconsistent commands to our users?

Updated the specs. (Added --all and changed the naming).
I am going to create two more issues:

alias for restore options
introduction of skipRecycleBin

Can I propose using recyclebinitem instead of recyclebin as we're not deleting the recycle bin itself but rather an item inside?

@pnp/cli-for-microsoft-365-maintainers any other feedback before we start working on this?

There is however no concept of recycle bin for O365 groups.

There is a screen in the Microsoft 365 Admin Center that displays Deleted groups, https://admin.microsoft.com/AdminPortal/Home#/deletedgroups and in the SharePoint Admin Center what would be the recycle bin is now called Deleted sites. Whilst not explicitly stated I think that using the recycle bin name is something that the majority of users would understand.

do we align with other commands in the CLI or do we follow the API that we use and offer inconsistent commands to our users?

Based on existing commands, I think that the below commands would provide some consistency, which aligns with what you've already discussed.
aad o365group recyclebinitem list
aad o365group recyclebinitem remove
aad o365group recyclebinitem restore

I'm not sure on the --all switch however and would prefer to see an explicit command for this due to its potentially destructive behaviour, we could then also create a similar named command for clearing the SharePoint deleted sites recycle bin.
aad o365group recyclebin clear
spo tenant recyclebin clear

Good suggestions @garrytrinder 👍 @plamber, what do you think about updating the spec to follow Garry's suggestions?

I am going to update the specs and create separate issues for all remaining commands

Looking at the spec, is there a reason why the name and mail shouldn't be an exact match rather than a 'begins with'? In other commands we use an exact match so for consistency it would be better to follow the same approach here.
Also, let's change o365groups to a singular o365group

I'm willing to work on this one. ☺

You are too fast, @milanholemans 😂


Update models to match new project structure

Update models to match the new setup where metadata and data files are stored on the disk as part of core.

Establish the correspondence between frictionless metadata schemas (data package, data resource, table) and our current Django models.
Create custom properties in frictionless metadata schemas matching current model properties.
Have some logic that loads properties from frictionless metadata schemas into Django models (so we can access them as if they were coming from the database).

Notes:

Frictionless allows us to load the metadata for each project very easily. We just load the datapackage.json file in the project folder using the path to the folder, for example.
datapackage.json is parsed into a Package object containing a list of Resources. Each Resource has a schema with a list of Fields. Each Field defines the (data)type of the Field and any constraints (required, unique etc).
This suggests the following correspondence between our Django models and classes in frictionless:

Tables = Resource + custom properties is_draft, created_at, created_by, modified_at, modified_by, last_data_upload, data_rows, files
Files = the objects listed under the files property above
Columns = Field+ custom property machine_readable_name
DataType = type property on Field

We could have a folder structure for data and metadata where, within a secure-storage folder (or something equivalent), we have separate folders for each data project. Inside each data project folder we would have a single datapackage.json file and all the data files (e.g. my-data1.csv).
Then, in the Django app, we could get away with storing only the data projects in a database table with a path to the project folder. All other metadata would live in datapackage.json. If the folder containing all data projects is known / configurable in advance, then maybe we don't even have to have a list of projects in the database.

Questions:

Should we use json or yaml metadata files?
Can a Table be composed of multiple Files? Most of the code suggests yes, but sometimes only one File is expected for a Table.
Why does Table have an original_file_name property when File also has this property and, pending the question above, one Table can be composed of multiple Files?
To what extent do we want to handle Resources and data Files separately? Can a Package have a Resource without a corresponding data File? And vice versa, can a data File exist in a project folder without it being listed as a Resource in the Package?
Is putting data file information into a files array on Resource acceptable?
Can we use name on Resource as a unique identifier for theResource? We currently require it to be unique anyway.
If we include custom properties (i.e. properties not in the frictionless standard by default) in our metadata, then we’ll be faced with the question of how we want this custom data to be parsed / validated. The default behaviour is that custom properties are accessible under a custom property and are not validated when the metadata file is loaded from datapackage.json. We could try mixing the frictionless metadata classes with e.g. pydantic dataclasses to get both validation for custom properties and frictionless functionality. The downside is that this would be a bit complex, especially because we have custom properties all the way down the nested schema structure. The same question arises when we construct these objects programmatically: do we just add custom properties under custom or do we want a more involved setup?
Should we move over to frictionless classes completely? If so, we will be dropping all of our models.
Are we really okay with not storing metadata in a database? Are there tools enabling us to get nice change log and audit information using this type of storage? Are there ways of rolling back changes or backing up data to be able to recover it if needed?
How do we make our "secure storage" secure and how do we handle access control?

List of subtasks:

Add an enum for frictionless data types. These are not defined in a single place in frictionless, so we'd just copy them from one of the places they're defined.
In core: create a (non-Django) File (data)class to store the file information currently stored in models.Files. A Resource will have a list of Files.
In app: replace TablesForm with ResourceForm and ColumnsForm with FieldForm. The new forms will still be Django forms but they will not be linked to a Django model. Instead, all form fields will need to be listed individually.
In core and app: update the way metadata is accessed. Whenever the data is fetched from the database through a Django model, fetch the data by loading the appropriate datapackage.json instead. E.g. move from Columns.objects.select_related("data_type").filter(tables=tables) to something along the lines of package.resources.find(name=name).schema.fields. Put the general-purpose bit of the logic into core, the rest into app.
In core and app: update the way metadata is saved. Instead of using Django models to save to the database, find, load, update and write to file the appropriate datapackage.json. Put the general-purpose bit of the logic into core, the rest into app.

I put some foundational work on https://github.com/seedcase-project/seedcase-sprout/tree/refactor/update-models

The branch above now contains more of a detailed exploration of how I understood things should work in the new setup. It's in no way complete (I haven't worked through the entire stepper form yet) and I ignored tests and doc strings (because it'll all change anyway). It also has some bugs etc., so at any given commit it might not actually build, but it's still useful as a point of departure / conversation starter, I think.

Very nice work, @martonvago 🔥 🔥 !
There's a lot of questions here. I'm not sure whether you and @lwjohnst86 have already discussed these, but maybe it would make sense to go through them at tomorrow's status meeting (either answering/closing them or creating discussion issues for them)?
I think this will help all of us in the upcoming weeks!

Very nice! Some of the comments are covered already by the naming scheme for project files (see https://github.com/seedcase-project/seedcase-sprout/blob/main/docs/design/naming.qmd)

@martonvago not sure if you are still working on this, but given the focus on core functions rather than Django, I will move this out of this iteration since it isn't relevant right now. It will be relevant later though!! So keeping it open.

Sure, good idea, I haven't done anything with it since I came back. And the outcome of the new reviews (🔥) will influence how exactly this will be done anyway!

We decided to start the web app from scratch after the major design/architecture decisions and changes we made. No longer relevant.


Link to docs broken

The link from the README to the docs are broken:
https://eoepca.github.io/rm-workspace-api/ doesn't work.

@m-mohr Thanks for notifying. In fact the documentation is not yet produced for the Workspace API - except for some Wiki pages. The README has been updated to reflect this.


feat: put a policy into description of archived issues

Also fix the weird, too long button on mobile by having it switch to a shorter text on smaller devices.

run-prettier


feat: support highlighting accessor keyaord for auto accessor

This PR adds highlighting support for auto accessors in classes. The accessor keyword is a part of Decorators proposal (stage3) and TypeScript 4.9 added the support.
Before

After

wow! This is nice!


Add auto-generated "verse word initials" PDFs that are downloadable by chapter

Create downloadable PDFs, by chapter, for Bible chapters. First letter of each word. Easiest to explain with a picture:

There's no real reason this couldn't be auto-generated on the website so that users wouldn't have to create these themselves.

Done in 1134a9e


Explore ways of supporting payload vendoring for CloudFront Collector

So that we can match the functionality in #652
Is there a hack where the cs-object recorded in the CloudFront access log would show us com.snowplowanalytics etc?
Lower priority because a lot of webhook providers are POST only.

You could support any webhook that supports GET with the CloudFront Collector simply by adding the relevant pixel at the relevant path... We could think about adding these...

Need to check too if we need to update the CloudFrontLoader...


9th Cir scraper down

It appears juriscraper has not retrieved anything from the 9th Circuit since Sep. 2, 2022.

Thanks. @flooie would you be so good as to take this on?

But does anything happen in ca9.

No, pretty boring circuit. The good news is we'll start getting more and more CA9 stuff via RECAP, but, alas, we gotta keep this scraper alive, even for boring jurisdictions like this one.

Scraper fixed, and back scraped.


Impossible to initiate the project

Describe the bug
i tried ti initiate a class with this livrary but no way to do it
To Reproduce
the library is called via :
const tiktok = require('tiktok-api');
Here is the constructor
constructor(broadcastwu){
    const signURL = async (url, ts, deviceId) => {
      const as = 'anti-spam parameter 1';
      const cp = 'anti-spam parameter 2'
      const mas = 'anti-spam parameter 3';
      return `${url}&as=${as}&cp=${cp}&mas=${mas}`;
    }

    // Required - device parameters
    // You need to source these using a man-in-the-middle proxy such as mitmproxy,
    // CharlesProxy or PacketCapture (Android)
    const params = tiktok.getRequestParams({
      device_id: '<device_id>',
      fp: '<device_fingerprint>',
      iid: '<install_id>',
      openudid: '<device_open_udid>',
    });

    this.tiktok = new tiktok(params, { signURL });

    this.username = "";
    this.password = "";
    this.title="";
    this.broadcastWU="";
    this.broadcasttiktok="";
    this.status="";
    this.verificationMethod="";
    this.two_factor_identifier="";
    this.title="";

  }

Expected behavior
[nodemon] app crashed - waiting for file changes before starting...
[nodemon] restarting due to changes...
[nodemon] starting `node start index.js`
Example app listening at http://localhost:8082
/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/tiktokClass.js:24
    this.tiktok = new tiktok(params, { signURL });
                  ^

TypeError: tiktok is not a constructor
    at new TiktokClient (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/tiktokClass.js:24:19)
    at /Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/index.js:25:38
    at Layer.handle [as handle_request] (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/layer.js:95:5)
    at /Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/index.js:281:22
    at param (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/index.js:354:14)
    at param (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/index.js:365:14)
    at Function.process_params (/Users/youssef/Workspace/Web projects/InstagramLive/live-stream-interface/tiktokAPI/node_modules/express/lib/router/index.js:410:3)

Additional context
Add any other context about the problem here.

TikTok updated their API, the anti spam parameters as, cp and mas aren't working anymore.

Can you give me an exemple how to setup the projet so i can work on it please ?

This repo isn't working anymore, it's outdated.
Message me on telegram: aimadnet


ID fields: Investigate using default values rather than the UUID generator widget

@stevesong reported some issues with the UUID generator widget producing non-unique values. An alternative could be to set the default value to an expression using the UUID function.

There was a problem with non-unique UUID values, which was solved by ticking the 'unique values' checkbox.  The situation I encountered was that QGIS took a randomly generated UUID and then appended an increment number to the end of the UUID for all successive ids.  i.e. {UNIQUE-UUID}, {UNIQUE-UUID}-1, {UNIQUE-UUID}-2, {UNIQUE-UUID}-3, {UNIQUE-UUID}-4, etc

Thanks for the clarification :-)


Package request: vikunja-desktop

Project description
vikunja is a self-hostable todo-app. Currently its server package is only packaged for nix but it also provides a desktop app. Would be cool if it would be in nixpkgs as well.
Metadata

homepage URL: https://vikunja.io/
source URL: https://dl.vikunja.io/desktop
license: AGPLv3
platforms: unix

Add a :+1: reaction to issues you find important.

I tried to package it on my own but I sadly I couldn't find something like a tutorial of how to package an electron app :(

Unfortunately Electron apps are... really annoying to package. I'll give it a go but there's no guarantee it will go anywhere

There is a PR for this, though I'm not sure of its status --  #195231

Updated the PR, but still having issues with running it. I'd appreciate any pointers.


Use new ApplicationsService.getApplications utility

Requires https://github.com/openshift/origin-web-common/pull/178

Removed WIP status


master branch broke flutter_web since 26th. Apr

I understand master branch is meant for development, but I'm currently in the process of evaluating Flutter for use by our team, and current beta branch doesn't offer good routing support, thus I had to give master a shot which worked until 26th. Apr. On that day I upgraded flutter I have no clear idea what was the last version I was on it, but it should've been 2-3 days before. I tried again since then, but all master branch commits keep introducing more weird errors.
I was able to reproduce the same errors always on Debian 10, and macOS Catalina.
What I would like to understand if this is known to you as part of your development process, or that a commit broke flutter_web by mistake.
Steps to Reproduce

Switch to master branch: flutter channel master.
Upgrade flutter: flutter upgrade.
Clone https://github.com/mahmoudajawad/flutter_pokedex/tree/dev-test.
Attempt to run it for web.

Expected results: App to serve on the web.
Actual results:
Uncaught Error: Assertion failed: file:///PATH/TO/PROJECT/flutter/packages/flutter/lib/src/widgets/framework.dart:2611:20
_debugCurrentBuildTarget == context
is not true
    at Object.throw_ [as throw] (errors.dart:216)
    at Object.assertFailed (errors.dart:26)
    at framework.dart:2611
    at framework.BuildOwner.new.buildScope (framework.dart:2614)
    at RenderObjectToWidgetAdapter.new.attachToRenderTree (binding.dart:1041)
    at binding$5.WidgetsFlutterBinding.new.attachRootWidget (binding.dart:921)
    at binding.dart:903
    at internalCallback (isolate_helper.dart:50)
DartError @ errors.dart:167
...

Logs
[  +10 ms] executing: [PATH/TO/PROJECT/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +32 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 06f81324d3b384b0b167bcdc79e233234640651f
[        ] executing: [PATH/TO/PROJECT/flutter/] git tag --contains HEAD
[ +161 ms] Exit code 0 from: git tag --contains HEAD
[   +3 ms] executing: [PATH/TO/PROJECT/flutter/] git describe --match *.*.*-*.*.pre --first-parent --long --tags
[ +120 ms] Exit code 0 from: git describe --match *.*.*-*.*.pre --first-parent --long --tags
[        ] 1.18.0-8.0.pre-93-g06f81324d
[   +8 ms] executing: [PATH/TO/PROJECT/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/master
[        ] executing: [PATH/TO/PROJECT/flutter/] git ls-remote --get-url origin
[   +3 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +51 ms] Unable to locate an Android SDK.
[  +20 ms] executing: [PATH/TO/PROJECT/flutter/] git rev-parse --abbrev-ref HEAD
[   +5 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[  +94 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +29 ms] Unable to locate an Android SDK.
[  +28 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[  +19 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +201 ms] Found plugin shared_preferences at PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7/
[  +17 ms] Found plugin shared_preferences_macos at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+7/
[  +13 ms] Found plugin shared_preferences_web at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+4/
[ +131 ms] Found plugin shared_preferences at PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7/
[   +1 ms] Found plugin shared_preferences_macos at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+7/
[   +2 ms] Found plugin shared_preferences_web at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+4/
[  +94 ms] Generating PATH/TO/PROJECT/flutter_pokedex/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +80 ms] Launching lib/main.dart on Web Server in debug mode...
[  +65 ms] Updating assets
[ +122 ms] Syncing files to device Web Server...
[  +26 ms] Found plugin shared_preferences at PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7/
[        ] Found plugin shared_preferences_macos at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+7/
[   +1 ms] Found plugin shared_preferences_web at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+4/
[  +32 ms] Found plugin shared_preferences at PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7/
[        ] Found plugin shared_preferences_macos at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+7/
[   +1 ms] Found plugin shared_preferences_web at
PATH/TO/PROJECT/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+4/
[  +14 ms] Generating PATH/TO/PROJECT/flutter_pokedex/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +32 ms] <- reset
[   +7 ms] PATH/TO/PROJECT/flutter/bin/cache/dart-sdk/bin/dart
PATH/TO/PROJECT/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
PATH/TO/PROJECT/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names
-Ddart.developer.causal_async_stacks=true --output-dill /tmp/flutter_tool.TJESNJ/app.dill --libraries-spec
file://PATH/TO/PROJECT/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages -Ddart.vm.profile=false
-Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closu
re-call-instructions --enable-asserts --track-widget-creation --filesystem-root /tmp/flutter_tools.TPLCNL --filesystem-scheme
org-dartlang-app --initialize-from-dill build/cache.dill --platform
file://PATH/TO/PROJECT/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +16 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+16484 ms] Syncing files to device Web Server... (completed in 16,609ms, longer than expected)
[   +1 ms] Synced 22.7MB.
[        ] <- accept
[   +1 ms] lib/main.dart is being served at http://localhost:36491
[   +5 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[        ] 🔥  To hot restart changes while running, press "r". To hot restart (and refresh the browser), press "R".
[   +4 ms] For a more detailed help message, press "h". To quit, press "q".

Analyzing flutter_pokedex...
No issues found! (ran in 5.6s)

[✓] Flutter (Channel master, 1.18.0-9.0.pre.93, on Linux, locale en_US.UTF-8)
    • Flutter version 1.18.0-9.0.pre.93 at PATH/TO/PROJECT/flutter
    • Framework revision 06f81324d3 (24 minutes ago), 2020-05-02 06:09:01 -0400
    • Engine revision d0bcc6980e
    • Dart version 2.9.0 (build 2.9.0-5.0.dev eca696c026)

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
      You may also want to add it to your PATH environment variable.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • Web Server • web-server • web-javascript • Flutter Tools

! Doctor found issues in 3 categories.

You have a bug in your code:
    httpClient =  (httpClientInstance == null) ? DataService() : httpClientInstance;

returns type DataService rather than Client when the service is null, which causes an exception when I run your code. This also reproduces in non-web scenarios.
The master branch is designed for Flutter development, not for general usage. We run a huge suite of tests over it, but we offer no stability promises. For development usage, you should be using the stable or perhaps beta branch, depending on your tolerance for risk.


Machines list shows wrong IP address

r1-m1-c01n1 has IPv4 address configured to fixed value. But list of machines shows wrong one:

It should be <IP_ADDRESS> one:

The lease IP shows, as the name says, a lease IP. If you have configured the machine with a static IP, that implies that you'd use that static IP during installation/preseed/etc. However, the machine will still get a leased IP during early BOOTP/DHCP/etc, and that's the one that will appear there. The "Last seen" field is there to let you know when that lease was acquired.


WIP support reducing state

If any feedback or hints for how to make this work, please share.
The state is found as "window-contents" and it seems to use a KryoSerializer, which is captured by the new code in AbstractMapStateReader. However the deserialization doesn't work yet. I wonder what's missing.
Thanks.

The test prints:
v1 = {1=1}
v1 = {1=1}

It fails with:
2018-11-19 11:43:15,012 [ INFO] - Job Flink Java Job at Mon Nov 19 11:43:13 EET 2018 (a157b6d9b784d67616e45559817dc474) switched from state FAILING to FAILED. (ExecutionGraph.java:1356) [flink-akka.actor.default-dispatcher-2]
java.lang.RuntimeException: MapStates with null values are not supported at the moment.
	at com.king.bravo.reader.MapStateKKVReader.flatMap(MapStateKKVReader.java:79)
	at com.king.bravo.reader.MapStateKKVReader.flatMap(MapStateKKVReader.java:31)
	at org.apache.flink.runtime.operators.chaining.ChainedFlatMapDriver.collect(ChainedFlatMapDriver.java:80)
	at org.apache.flink.runtime.operators.util.metrics.CountingCollector.collect(CountingCollector.java:35)
	at org.apache.flink.runtime.operators.DataSourceTask.invoke(DataSourceTask.java:193)
	at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711)
	at java.lang.Thread.run(Thread.java:745)

Currently it reads the correct key here but mapkey == null:
https://github.com/king/bravo/blob/fe8de648365a5acc7b0ada34bc24bc49d06f1fbe/bravo/src/main/java/com/king/bravo/reader/MapStateKKVReader.java#L60-L68
Also value goes to null here:
https://github.com/king/bravo/blob/fe8de648365a5acc7b0ada34bc24bc49d06f1fbe/bravo/src/main/java/com/king/bravo/reader/MapStateKKVReader.java#L70-L80

I will try to take a look today!

I think the reducing states in general are stored with a different format , much like list states

you need to have the Reducer itself to be able to combine the values as the state probably contains the individual elements to be reduced

Ah sorry maybe I was wrong here. I think the problem with your example is that you are using the MapStatereader. The reducer state is not a mapstate. It's a reducing state. Maybe the ValueStateReader would work better.

So im not really sure why the test case is constructed as such when you are trying to test the reducing state reading.
I think you probably copied the map state reading test, which wont work because map states are stored very differently from reducing states.

Thanks, that's exactly the kind of insight that I was looking for! I realize now that it makes sense to try reading the reducing state with a ValueStateReader. The fact that my reduced value happens to be a map has nothing to do with an actual MapState.

Cool, I would try to simplify the test case to not include so many operators, only the window and the minimal other stuff :) maybe that helps in further debugging

@gyfora thanks, I added commit.
Now the test successfully reads reducer state of Map<String, String> \o/

Running the test prints:
countState = [{2=3}, {1=1}]

&
mapValues = [{2=3}, {1=1}]

Which is correct, because keyBy is by key only => it should:

randomly pick one map with key=1 (of the 3 input maps)
and one map with key=2 (only 1 such input map)

If you have any further suggestions as I start to clean this up (and try to use this for my actual use case with a rather big state), please let me know!

sounds good, then I guess you dont need to keep the changes for the AbstractMapStateReader. Or does that fix any issue?
It might make sense to add a static helper to the KeyedStateReader class so users wouldnt have to specify "reducer-state-name" etc

@gyfora this one's ready for review. Thanks for guiding me through to make this work!

looks good, thank you for experimenting with this!
I will start working on a Builder for creating the reader during the holidays, now we start to have too many static methods :)


[Customization] Fix import customization

Packages impacted by this PR
@azure/dev-tool
Issues associated with this PR
#26947
Describe the problem that is addressed by this PR
Imports weren't being resolved from the correct file. The behavior we expect is that imports in the generated and custom layers are propagated to the emitted output. If something in the generated layer consumes a local import, the corresponding emitted file should import that symbol from the same relative path. Ditto for the custom layer, but imports from that layer take precedence. Also, when the custom layer imports from the generated layer, the corresponding emitted file should import that symbol from the path of the module relative to the root of the generated layer. This PR is intended to implement the above behavior.

LGTM, thanks!


If only Max-Age or Expires specified in SetCookie, calculate the other

For example, if I set only Max-Age to 60, it'd be handy if SetCookie automatically set Expires to 60 seconds from now.

Hi @Manouchehri
It seems to be a good idea, but it might be a bit "intrusive". And, I'm wondering if it would be better to set only Max-Age if there's trouble setting both?

Hmm, what about we only add the calculated Expires if:

Max-Age is set
Expires is not set

Ah that's good. But, I want to know what is the purpose of setting both Max-Age and Expires by this feature. Is there the browser does not support Max-Age?

I don't know of any browsers that only support Max-Age. Furthermore, I would strongly caution against this, as it can cause problems in the event that either the server or client clocks are not set properly.


Improve CD

Current state:
Github doesn't let to just update pre-release artifacts, so deletion is required. It feels too hacky, I am working on the solution. However, there are plenty of things that can be improved in the current setup:

[ ] Fix: Pre-Release versions not being replaced
[ ] Skip pre-release build on actual build
[ ] Update all the action versions to avoid "Node 16" warning
[ ] Cache poetry

Upon further discussion in private with the @nikitastupin we decided to split PR in 2 parts: the first would update the CD versions and add caching/cleanup. The other part would introduce pre-release build workflow.

Merging! Thank you!


IE 11 on Windows 7 errors: crypto exists, but does not have getRandomValues

Admittedly, this may be an edge case. In our production app we're getting errors that seem result from crypto existing, but not having getRandomValues on IE11 on Win7.

A good percentage of our IE11 + Win7 users are triggering this error, although I was unable to reproduce on BrowserStack. I believe this could be fixed by testing msCrypto first, as suggested in the discussion from 2015 here: https://github.com/kelektiv/node-uuid/pull/107#discussion_r26627860.
Thoughts?

Actually yes :).
https://github.com/kelektiv/node-uuid/pull/274


Refresh how-to-make-thread-safe-calls-to-windows-forms-controls.md

Summary
New content and code. Code is uploaded to dotnet/samples in PR https://github.com/dotnet/samples/pull/682.
Per Task https://mseng.visualstudio.com/TechnicalContent/_queries/edit/1409990/?triage=true.

@rpetrusha - I've made the changes, and the code samples are corrected here and also posted at https://github.com/dotnet/samples/pull/682. Once that is merged I'll remove them from here and add the links. I also made some other changes, like renaming the method in the first complete example. Also some Acrolinx changes. Please give it another review - thanks.

I've merged dotnet/samples#682, @v-thepet.

@rpetrusha - Thanks, now I've removed the embedded samples and added the links.

Thanks, @v-thepet. I'll merge your PR now.


Feature/add request timeout

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


TypeError: Cannot read property 'width' of undefined

Hello 👋
We're running into the above error in one of our apps, using ember-text-measurer v0.4.0. The stacktrace is:
TypeError: Cannot read property 'width' of undefined
  at width (addon-tree-output/ember-text-measurer/services/text-measurer.js:15)
  at width (addon-tree-output/ember-text-measurer/services/text-measurer.js:54)

indicating a undefined being returned for this.ctx.measureText here.
Unfortunately this happens very sparingly and I couldn't reproduce 😔 I am not sure in which situations measureText doesn't return an object...
Anybody stumbled over this too or has an idea an what the cause could be?

I certainly did not. If that happens, it would be a bug in the platform I think: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/measureText


Bug(qe): errors don't get logged

Supersedes https://github.com/prisma/prisma/issues/14933
Background
Prisma can be configured to log events to stdout or emit logging events. Those events can be categorized into four levels  which do not have a hierarchical relationship with each other. (A logging level does not include events from any other level)
One of these levels is error, but the reference doesn't specify what is eligible to be logged using this level.
Given that the reference has a section on errors users might have the reasonable expectation that, when any of those happen, an event is logged to the console or emitted for subscription depending on the configuration.
This is manifested in past issues like https://github.com/prisma/prisma/issues/14933, but given the reproduction scenarios below, the problem is not restricted to findFirstOrThrow and findUniqueOrThrow NotFound errors, but to all the errors happening in Prisma
Reproduction
I created two reproduction scenarios, using the libray engine and the binary engine (As they exercise two different code paths for dispatching requests coming from the prisma client)
Both resulted on the error not being logged.

Premise: the engine was tricked to through a panic when dispatching a query
diff --git a/query-engine/core/src/interpreter/query_interpreters/read.rs b/query-engine/core/src/interpreter/query_interpreters/read.rs
index 6916f78fcc..878f876c5e 100644
--- a/query-engine/core/src/interpreter/query_interpreters/read.rs
+++ b/query-engine/core/src/interpreter/query_interpreters/read.rs
@@ -16,6 +16,10 @@ pub fn execute<'conn>(
     trace_id: Option<String>,
 ) -> BoxFuture<'conn, InterpretationResult<QueryResult>> {
     let fut = async move {
+        if 1 < 2 {
+            panic!("Damn that's a panic");
+        }
+
         match query {
             ReadQuery::RecordQuery(q) => read_one(tx, q, trace_id).await,
             ReadQuery::ManyRecordsQuery(q) => read_many(tx, q, trace_id).await,

Scenario 1 - Binary engine
index.ts
import { PrismaClient, Prisma } from '.prisma/client'

async function main() {
  const prisma = new PrismaClient({
    log: [
      {
        emit: 'event',
        level: 'error',
      },
    ],
    __internal: {
      engine: {
        endpoint: "http://<IP_ADDRESS>:57581",
      },
    },
  } as any);

  (prisma as PrismaClient<Prisma.PrismaClientOptions, 'error'>).$on("error", (e) => {
    console.log("WORKS WELL")
    process.exit(1)
  })

  const email =<EMAIL_ADDRESS>
  const res = await prisma.user.findFirst({
    where: {
      email,
    }
  })

  console.log(res)
}

void main().catch((e) => {
  console.log("NOOOO!")
  console.log(e)
  process.exit(1)
})

prisma.schema
generator client {
  provider        = "prisma-client-js"
  output          = "../node_modules/.prisma/client"
  engineType      = "binary"
  previewFeatures = []
}
datasource db {
  provider = "postgresql"
  url      = "postgresql://postgres:prisma@localhost:5432"
}
model User {
  id    String @id @default(cuid())
  email String @unique
  posts Post[]
}
model Post {
  id       String @id @default(cuid())
  title    String
  author   User   @relation(fields: [authorId], references: [id])
  authorId String
}

Result:

Scenario 2 - Library engine
index.ts
import { PrismaClient, Prisma } from '.prisma/client'

async function main() {
  const prisma = new PrismaClient({
    log: [
      {
        emit: 'event',
        level: 'error',
      },
    ],
  });

  prisma.$on("error", (e) => {
    console.log("WORKS WELL")
    process.exit(1)
  })

  const email =<EMAIL_ADDRESS>
  const res = await prisma.user.findFirst({
    where: {
      email,
    }
  })

  console.log(res)
}

void main().catch((e) => {
  console.log("NOOOO!")
  console.log(e)
  process.exit(1)
})

prisma.schema
generator client {
  provider        = "prisma-client-js"
  output          = "../node_modules/.prisma/client"
  previewFeatures = []
}
datasource db {
  provider = "postgresql"
  url      = "postgresql://postgres:prisma@localhost:5432"
}
model User {
  id    String @id @default(cuid())
  email String @unique
  posts Post[]
}
model Post {
  id       String @id @default(cuid())
  title    String
  author   User   @relation(fields: [authorId], references: [id])
  authorId String
}

Result

Expected behavior
The specifics have to be determined. There's no previous record in the codebase to determine the correct behavior. And the reference  of what constitutes an error is vague enough as to require a specification of how this should behave.
My proposal is to log with the error level what is said to constitute an error in the error reference thus following the principle of least astonishment. But I'd like to count with @janpio's take on how this should behave before jumping into implementation.
Definition of done

[x] Expected behavior clarified
[x] Implementation and tests ensuring expected behavior
[ ] Docs on the log levels clarify the expected behavior

We just upgraded prisma and found that the client logger was logging query errors. We found this a bit baffling as this should be handled by the service where the queries run from, and they should be logged or not depending on the business requirements.
I would have expected that the client errors listener would log connection errors, internal errors from prisma, and other parts related to the query engine/pools and internals. Not query errors.

What would the "service where the queries run from" be in your interpretation? In my understanding there is only one component for Prisma Client users, which is Prisma Client - where you can configure the logging in certain ways.

@janpio we use insert as means to create idempontent requests, knowing that duplicate inserts will result in an error:
since the upgrade we see these Unique constraint failed on the fields: (transactionId), target: transaction.create.
being logged, however this is in a implementation choice from us, and it is an application error, not a prisma client error.
What i mean by this, is that service implementation caused the error, not the prisma client in some unrelated way from the application.
The result of this design decision is that we are now filtering these messages through string comparisons (which is quite undesirable), when for me the application should choose if such errors are logged or not. Not the prisma client itself, as it removes control from the application, and generates quite a bit of undesired noise.
Hope my reply makes more sense.

Yeah I think I follow. What logging do you have enabled in Prisma Client?

Probably easier to show it:
Query/Info are disabled in prod. I am not sure why the community wants this feature. But for us we would like to be able to exclude these errors.
prismaClient.$on('query' as any, (e: Prisma.QueryEvent) => {
  logger.trace(e, `[DB-Prisma] query: ${e.query}; duration: ${e.duration} ms.`);
});

prismaClient.$on('info' as any, (e: Prisma.LogEvent) => {
  logger.info(e, `[DB-Prisma] message: ${e.message}, target: ${e.target}.`);
});

prismaClient.$on('warn' as any, (e: Prisma.LogEvent) => {
  logger.warn(e, `[DB-Prisma] message: ${e.message}, target: ${e.target}.`);
});

const ignoredMessages = ['Unique constraint failed on the fields'];

const shouldLogEvent = (e: Prisma.LogEvent) => {
  if (
    ignoredMessages.some((ignoredMessage) => e.message.includes(ignoredMessage))
  ) {
    return false;
  }
  return true;
};

prismaClient.$on('error' as any, (e: Prisma.LogEvent) => {
  if (shouldLogEvent(e)) {
    logger.error(e, `[DB-Prisma] message: ${e.message}, target: ${e.target}.`);
  }
});

prismaClient.$on('beforeExit', async () => {
  await shutdownPromise;
  console.warn('[DB-Prisma] Prisma process is about to shutdown');
});

And via which of those are errors now unexpectedly logged?

The error callback.

Ok, if you do not want the error caused by queries to be logged there, which would you then want to have logged? I am still trying to build a complete picture here.

I will refer to my original comment:

I would have expected that the client errors listener would log connection errors, internal errors from prisma, and other parts related to the query engine/pools and internals. Not query errors.

We didnt had this behavior in prisma in older versions. what caused the change to encompass this?

See from above:

Given that the reference has a section on errors users might have the reasonable expectation that, when any of those happen, an event is logged to the console or emitted for subscription depending on the configuration.
This is manifested in past issues like #14933, but given the reproduction scenarios below, the problem is not restricted to findFirstOrThrow and findUniqueOrThrow NotFound errors, but to all the errors happening in Prisma

I am facing this same problem as @ricardolpd.
I updated my Prisma version from 3.15 to the latest and was baffled by the large amount of log output from tests that expect an exception. I tried to suppress it by passing { log: []}  or { log: [ { 'level': 'error', 'emit': 'event' } ] } to the constructor, but the log continued to output.
It looks very strange that the error log is output even when an exception is caught. Is there any way to prevent the error log from being output?


Fixed some truncated text.

Speculatively continued it. Alternatively, it can just be removed.

Yeah, looking at the original that is indeed correct (not sure what happened)
Thanks!


FIX #3141 Refactor netstat command and tests

Updated netstat command to minimize its output with -t and -l
flags.
Refactored regex on libmachine/provision/utils.go:checkDaemonUp to
avoid matchNetstatOut returning true when remote machine has a
similar port to dockerPort listening (e.g. dockerPort := 2376 and
remote machine has port 23760 listening).
Refactored utils_test.go with more accurate netstat output.
Signed-off-by: Tiago Pires<EMAIL_ADDRESS>

Nice!

LGTM

Thanks for putting this together @tpires !


Add fedora support and controls config

Add support for Fedora
Add the controls property to bind_config to allow configuration of the control channel
Expose additional_config_files and per_view_additional_config_files to allow the including of arbitrary configuration files.

CentOS 8 also works without issue but only on chef >= 14 (the DNF package resource throws an exception) so I've left that out despite testing it works as it'd need the supporting chef version bumping up. Fedora 30 and 28 (which CentOS 8 was branched from) work fine.

LGTM


Heroku Precache

To circumvent slow startups in Clara, we should precache commands' deps in prebuild time
use heroku-prebuild field for this

Added in 267a473 and 25faeb3.


Corrections to sign types remain to be integrated into the spreadsheet shared on the Web

See my email from November 17, 2023 at 7:42:55 PM EST
Thanks,
Carol

This has been resolved on dev1.cs

This is resolved on dev1.


Add web API MS Learn module to ToC

Note: I'm trying to mirror the ToC structure under the Tutorials node. We'll have a Data access child node once the EF Core Learn module publishes. There will also be a Web apps child node when Wade's Razor Pages Learn module publishes.

@tdykstra Please take another look.

@tdykstra Thank you for your feedback.


Fix typos

Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[x] Other

Checklist

[x] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
Please describe your changes here. If this fixes a bug, please link to the issue, if possible.

Codecov Report
Base: 98.39% // Head: 94.96% // Decreases project coverage by -3.43% :warning:

Coverage data is based on head (dbdc13f) compared to base (6e953c6).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2631      +/-   ##
==========================================
- Coverage   98.39%   94.96%   -3.44%
==========================================
  Files          63       63
  Lines        6806     6796      -10
==========================================
- Hits         6697     6454     -243
- Misses        109      342     +233

Flag
Coverage Δ

unittests
94.96% <ø> (-3.44%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

rich/_null_file.py
100.00% <ø> (ø)

rich/cells.py
100.00% <ø> (ø)

rich/pretty.py
98.98% <ø> (-0.01%)
:arrow_down:

rich/rule.py
100.00% <ø> (ø)

rich/segment.py
98.72% <ø> (ø)

rich/_windows_renderer.py
0.00% <0.00%> (-100.00%)
:arrow_down:

rich/_win32_console.py
3.01% <0.00%> (-86.94%)
:arrow_down:

rich/console.py
96.44% <0.00%> (-1.57%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


pcf-start 0.4.3

Type: Missing
Summary:
pcf-start 0.4.3
Details:
Looked in ClearlyDefined. License is Microsoft Software License Terms
NPM license field indicates see License
Resolution:
Declared license is OTHER
Affected definitions:

pcf-start 0.4.3

Microsoft License shown during package install.