doc: subnet

Thanks for contributing!
Notice:

[ ] unite test or E2E test
[ ] do not forget essential code comment and log
[ ] document for the PR
[ ] release note label
"release/none"
"release/bug"
"release/feature"
[ ] read about  Contribution notice: https://spidernet-io.github.io/spiderpool/latest/develop/contributing/

What issue(s) does this PR fix:

Fixes #
Special notes for your reviewer:

Can you squash these commits to one?

it could be  merged as a squash on github


Download

There's no download button for the .js... How do I download this?

Click on 'Raw' button, then Ctrl+S and save it to the plugins folder.


Package is installed and available but throws ModuleNotFound error when imported

Using the sample code on this page to validate whether a package is available doesn't seem to work as expected. I used this snippet to check for the availability of beautifulsoup4:
EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import pkg_resources
pkg_name = "beautifulsoup4"
try:
    version = pkg_resources.get_distribution(pkg_name).version
    print("Package " + pkg_name + " is version " + version)
except:
    print("Package " + pkg_name + " not found")
'

This returns a message that I would expect to mean that the package is available:
STDOUT message(s) from external script: Package beautifulsoup4 is version 4.10.0

However, I think this is a lie, because when I try to use this package I get a ModuleNotFound error:
ModuleNotFoundError: No module named 'beautifulsoup4'

I am not a smart man. This discrepancy has me very confused.

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

ID: e6294b36-44e3-eea4-4e03-8260ae01fe08
Version Independent ID: c88e5502-c0b1-56aa-a32e-f1e17192cd17
Content: Get Python package information - SQL Server Machine Learning Services
Content Source: docs/machine-learning/package-management/python-package-information.md
Product: sql
Technology: machine-learning
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

@j-valentine -- thank you for your research and feedback.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@WilliamDAssafMSFT -- William, please look into this issue.

@WilliamAntonRohm -- You can disregard this, as it transpires that I am an idiot.

beautifulsoup4 is the package name, and the package is correctly installed so the first message is correct.
beautifulsoup4 (the package) has no module named beautifulsoup4, so the second message is also correct. (the module is called bs4, so that is what I should have been importing).

Thank you for your quick response and my apologies for wasting your time.

@j-valentine -- thank you for your follow-up, and no problem at all!


apis: add protobuf for reservation

Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/lgtm
/approve


XSS in mod details view

if the mod description contains HTML, it gets rendered in the wormhole app

a real issue ^^, extremely difficult to find ^^. please hire this man

I'll fix this

Fixed in commit #9f7bd11


Fix sentence.

When creating a new PR, please do the following and delete this template text:

Reference the issue number if there is one:
Fixes #Issue_Number

The "Fixes #nnn" syntax in the PR description causes
GitHub to automatically close the issue when this PR is merged.

@ecoffman  Thanks!


Association named 'product_category' was not found on Shoppe::Product

Following the Getting Started Series (http://tryshoppe.com/docs/tutorials/getting-started), after modifying the products controller:
def index
    @products = Shoppe::Product.root.ordered.includes(:product_category, :variants)
    @products = @products.group_by(&:product_category)
end

def show
    @product = Shoppe::Product.find_by_permalink(params[:permalink])
end

And adding routes (not sure if order is important here, but I have tried both with "mount Shoppe..." before and after other routing commands):
get "product/:permalink", to: "products#show", as: "product"
post "product/:permalink", to: "products#buy", as: "buy"
root to: "products#index"

mount Shoppe::Engine => "/shoppe"

After creating an index page, making sure all of Shoppe's migrations and setup have been completed according to the guide, and restarting the server, I consistently receive the following error when attempting to load the index page for the projects controller (ie. /shoppe still loads the shoppe admin AND the seeded data for product categories is present):
Started GET "/" for ::1 at 2015-06-03 10:49:26 +0000
Processing by ProductsController#index as HTML
    ESC[1mESC[35mShoppe::Product Load (1.6ms)ESC[0m  SELECT "shoppe_products".* FROM "shoppe_products" WHERE "shoppe_products"."parent_id" IS NULL  ORDER
   BY "shoppe_products"."default" DESC, "shoppe_products"."name" ASC
Completed 500 Internal Server Error in 13ms (ActiveRecord: 1.6ms)

ActiveRecord::AssociationNotFoundError (Association named 'product_category' was not found on Shoppe::Product; perhaps you misspelled it?):
    app/controllers/products_controller.rb:5:in `index'

I checked schema.rb for references to product categories for clues. Perhaps the names in documentation have not been updated to a naming change in the migration:
create_table "shoppe_product_categories", force: :cascade do |t|
    t.string   "name"
    t.string   "permalink"
    t.text     "description"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "parent_id"
    t.integer  "lft"
    t.integer  "rgt"
    t.integer  "depth"
    t.string   "ancestral_permalink"
    t.boolean  "permalink_includes_ancestors", default: false
end

add_index "shoppe_product_categories", ["lft"], name: "index_shoppe_product_categories_on_lft"
add_index "shoppe_product_categories", ["permalink"], name: "index_shoppe_product_categories_on_permalink"
add_index "shoppe_product_categories", ["rgt"], name: "index_shoppe_product_categories_on_rgt"

create_table "shoppe_product_categorizations", force: :cascade do |t|
    t.integer "product_id",          null: false
    t.integer "product_category_id", null: false
end

add_index "shoppe_product_categorizations", ["product_category_id"], name: "categorization_by_product_category_id"
add_index "shoppe_product_categorizations", ["product_id"], name: "categorization_by_product_id"

Any suggestions?
Thank you

This is fixed in documentation#8. I'll push the update shortly

awesome. thank you

index is fixed, but not show - the current method delivers an exception for the show action.

Apologies for the delay. I've updated the documentation - http://tryshoppe.com/docs/tutorials/products. See product_category -> product_categories


fix dockerfiles

这个 PR 实现什么功能/修复什么问题:
RT
是否需要 backport 到之前的 release 分支:

/hold

Codecov Report

Merging #4102 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #4102      +/-   ##
=========================================
- Coverage    6.89%   6.88%   -0.01%
=========================================
  Files         507     508       +1
  Lines       85490   85635     +145
=========================================
+ Hits         5894    5899       +5
- Misses      79096   79236     +140
  Partials      500     500

Flag
Coverage Δ

#aFlag
6.88% <ø> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/util/httputils/httputils.go
39.91% <0%> (-0.26%)
:arrow_down:

pkg/compute/models/groups.go
5.08% <0%> (-0.09%)
:arrow_down:

pkg/compute/models/storagecachedimages.go
0.36% <0%> (-0.01%)
:arrow_down:

pkg/cloudcommon/db/db_dispatcher.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/guests.go
0.58% <0%> (ø)
:arrow_up:

pkg/compute/models/managedresource.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/skus_tools.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/skustools.go
2.51% <0%> (ø)

pkg/compute/models/hosts.go
0.34% <0%> (ø)
:arrow_up:

pkg/compute/models/networks.go
0.55% <0%> (ø)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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

/hold cancel
/cc @zexi

/area utils

/lgtm

/lgtm
/approve


Add way to activate a workspace on current path tree

Useful when opening the terminal from inside a workspace subfolder (a project folder for example). Running the command source ww . will activate the current workspace and keep the cwd.

Update docs? Probably also worth to mention that this new feature is linux only.

Update docs? Probably also worth to mention that this new feature is linux only.

done


eager dependency pre-bundling is no longer working

Environment
Working directory: /home/projects/github-um8mfw-zyx1rr                             16:29:50
Nuxt project info:                                                                 16:29:50

------------------------------
- Operating System: Linux
- Node Version:     v18.20.3
- Nuxt Version:     3.12.3
- CLI Version:      3.12.0
- Nitro Version:    2.9.7
- Package Manager<EMAIL_ADDRESS>- Builder:          -
- User Config:      ssr, vite, compatibilityDate, devtools
- Runtime Modules:  -
- Build Modules:    -
------------------------------

Reproduction
Link to project with faulty behaviour (version 3.12.3)
https://stackblitz.com/edit/github-um8mfw-zyx1rr
Link to project with expected (old) behaviour (version 3.5.3)
https://stackblitz.com/edit/github-um8mfw-pufiup
Describe the bug
On the first dev server startup in version 3.5.3, dependencies are optimized eagerly.
While in 3.12.3 dependencies are optimized lazily which may cause waterfall of page reloads significantly affecting developer experience.
This is a problem because:

it takes more time
page may reload after some delay (it seems like the page is ready to interaction, but then it reloads)

Each reload is accompanied by this message:
new dependencies optimized: X, Y
optimized dependencies changed. reloading

To confirm the issue you need to:

delete node_modules/.cache directory
run npm run dev and do NOT visit the page in browser
once server is warmed up

3.5.3 version - node_modules/.cache/vite/client/deps will contain optimized deps
3.12.3 version - node_modules/.cache/vite/client/deps will not contain optimized deps

visit "index" page

3.5.3 version - no page reloads
3.12.3 version - may be multiple page reloads

Additional context
No response
Logs
First load log from my project with this issue (look at timestamps)

  ➜ DevTools: press Shift + Option + D in the browser (v1.3.9)                                                                                5:26:20 PM

[5:26:20 PM]  WARN  Plugin /Users/.../platform/support/blanket-3/.nuxt/keycloak.d.ts is not wrapped in defineNuxtPlugin. It is advised to wrap your plugins as in the future this may enable enhancements.

ℹ Vite client warmed up in 2093ms                                                                                5:26:22 PM
✔ Nuxt Nitro server built in 1903 ms                                                                                nitro 5:26:22 PM
ℹ ✨ new dependencies optimized: @fe/ozi, axios, @fe/bonsai-logger-nuxt3, qs                                                                 5:26:26 PM
ℹ ✨ optimized dependencies changed. reloading                                                                                5:26:26 PM

[5:26:28 PM]  WARN  Plugin /Users/.../platform/support/blanket-3/.nuxt/keycloak.d.ts is not wrapped in defineNuxtPlugin. It is advised to wrap your plugins as in the future this may enable enhancements.

ℹ ✨ new dependencies optimized: @fe/prop-types, @fe/icons-vue3                                                                              5:26:31 PM
ℹ ✨ optimized dependencies changed. reloading                                                                                5:26:31 PM

[5:26:32 PM]  WARN  Plugin /Users/.../platform/support/blanket-3/.nuxt/keycloak.d.ts is not wrapped in defineNuxtPlugin. It is advised to wrap your plugins as in the future this may enable enhancements.

ℹ ✨ new dependencies optimized: is-what, @fe/nuxt3-graylog, @fe/nuxt3-sentry                                                                5:26:44 PM
ℹ ✨ optimized dependencies changed. reloading                                                                                5:26:44 PM

[5:26:45 PM]  WARN  Plugin /Users/.../platform/support/blanket-3/.nuxt/keycloak.d.ts is not wrapped in defineNuxtPlugin. It is advised to wrap your plugins as in the future this may enable enhancements.

Hello :wave: this is probably fixed in the nightly channel. can you try adding this piece of code in a module ?
    nuxt.hook('imports:sources', (sources) => {
      const routerImports = sources.find(s => s.from === '#app/composables/router' && s.imports.includes('onBeforeRouteLeave'))
      if (routerImports) {
        routerImports.from = 'vue-router'
      }
    })

or try with nuxt-nightly

@huang-julien Thanks for the quick reply!
Unfortunately, it does not work :(
Behaviour is the same as with 3.12.3 - https://stackblitz.com/edit/github-um8mfw-4wq7pl

ooops I commented on the wrong issue 🤦

In 3.5 there was a bug with warmup that warming up every single module, we later fixed that so now entries are lazy. And causing those dependencies are not discovered eagerly.
I had the impression for a very long time that Vite will pre-optimize entries in depedencies field of package.json but after a confirmation with @ patak-dev, that feature has been removed a very long while ago.
I am not sure if we could fix the warmup issue (which defeat the purpose of on-demand), but maybe we could have a better convention allow users to specify the deps to optimize? /cc @danielroe should we provide the dependenecis list from package.json on our end?

I made https://github.com/antfu/vite-plugin-optimize-exclude, which might or might not help. If you are interested, please give a try in your full app and see how things would improve for you.

@antfu Sorry for the slow reply
Currently, the best way to resolve the problem for me is to manually add each package to optimizeDeps.include
I tried the plugin like that, but there were errors:
✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "getCurrentInstance"

    node_modules/vue-router/dist/vue-router.mjs:6:9:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵          ~~~~~~~~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "inject"

    node_modules/vue-router/dist/vue-router.mjs:6:29:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                              ~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onUnmounted"

    node_modules/vue-router/dist/vue-router.mjs:6:37:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                      ~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onDeactivated"

    node_modules/vue-router/dist/vue-router.mjs:6:50:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                   ~~~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onActivated"

    node_modules/vue-router/dist/vue-router.mjs:6:65:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                  ~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "computed"

    node_modules/vue-router/dist/vue-router.mjs:6:78:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                               ~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "unref"

    node_modules/vue-router/dist/vue-router.mjs:6:88:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "watchEffect"

    node_modules/vue-router/dist/vue-router.mjs:6:95:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "defineComponent"

    node_modules/vue-router/dist/vue-router.mjs:6:108:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "reactive"

    node_modules/vue-router/dist/vue-router.mjs:6:125:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "h"

    node_modules/vue-router/dist/vue-router.mjs:6:135:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ^

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "provide"

    node_modules/vue-router/dist/vue-router.mjs:6:138:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "ref"

    node_modules/vue-router/dist/vue-router.mjs:6:147:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "watch"

    node_modules/vue-router/dist/vue-router.mjs:6:152:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "shallowRef"

    node_modules/vue-router/dist/vue-router.mjs:6:159:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "shallowReactive"

    node_modules/vue-router/dist/vue-router.mjs:6:171:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~~~~~~~~~

✘ [ERROR] No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "nextTick"

    node_modules/vue-router/dist/vue-router.mjs:6:188:
      6 │ import { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';
        ╵                                                                                ~~~~~~~~

 ERROR  [unhandledRejection] Build failed with 17 errors:                                                                                4:48:17 PM
node_modules/vue-router/dist/vue-router.mjs:6:9: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "getCurrentInstance"
node_modules/vue-router/dist/vue-router.mjs:6:29: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "inject"
node_modules/vue-router/dist/vue-router.mjs:6:37: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onUnmounted"
node_modules/vue-router/dist/vue-router.mjs:6:50: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onDeactivated"
node_modules/vue-router/dist/vue-router.mjs:6:65: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onActivated"
...

  node_modules/vue-router/dist/vue-router.mjs:6:9: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "getCurrentInstance"
  node_modules/vue-router/dist/vue-router.mjs:6:29: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "inject"
  node_modules/vue-router/dist/vue-router.mjs:6:37: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onUnmounted"
  node_modules/vue-router/dist/vue-router.mjs:6:50: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onDeactivated"
  node_modules/vue-router/dist/vue-router.mjs:6:65: ERROR: No matching export in "node_modules/vue/dist/vue.runtime.esm-bundler.js" for import "onActivated"
  ...
  at failureErrorWithLog (node_modules/esbuild/lib/main.js:1651:15)
  at node_modules/esbuild/lib/main.js:1059:25
  at node_modules/esbuild/lib/main.js:1527:9
  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)


Location of the Android SDK has not been set up

DDMS files not found

I tryed to add the SDK path, it didn't let me apply. I just continue and imported the project it worked.


URL parser fix v2

Hi @JSibir thanks for the fix.
I'm unable to see the need to have two conditional constructors, if having a simple constructor wohtour regex is enough:
let parsedUrl = new URL(url, location.origin);

if url is "/my_file.zip" and location.origin is 'http://www.google.com' => http://www.google.com/my_file.zip
if url is "http://www.google.com/my_file.zip" and location.origin is 'http://www.google.com' => http://www.google.com/my_file.zip
if url is "http://www.amazon.com/my_file.zip" and location.origin is 'http://www.google.com' => http://www.amazon.com/my_file.zip
Maybe there's a case, where using a simple constructor might not work?

This case is confusing: new URL('http://www.google.com/myfile.zip', 'http://www.otherdomain.com'), so I try to made it clearer.
However, it can be optimized by removing regexp test.
Lets wait for @NicolasRannou opinion.

Reading now, it seems that after all:
let parsedUrl = new URL(url, location.origin);

location.origin ensures that "new URL" doesn't crash even if url is relative and if url is absolute, then location.origin is ignored.
@JSibir can you think of a use case where 'http://www.otherdomain.com'  is important in new URL('http://www.google.com/myfile.zip', 'http://www.otherdomain.com')?

@NicolasRannou no, the first argument is more important always.

OK great, so we could also hard code the second argument in case of location.origin get some unexpected value - something like:
const parsedUrl = new URL(url, 'https://github.com/FNNDSC/ami');

At least, something like:
  parsedUrl = new URL(url, domain);

so if user didn't pass domain, then location.origin is used by default.

Adding params to AMI.Lodaer is a complex task.
I don't plan to do it in this branch.
It's easier to say that relative URL is unsupported for now if nodejs environment support is important.

Yes, I didn't realize params was not already there -
// Hard code domain so new URL works for both relative and absolute URLs
// Do not use location.origin to initialize the domain because it does not work
// in a Node environment.
// If url is absolute, domain is ignored in new URL.
const domain = 'https://github.com/FNNDSC/ami';
const parsedUrl = new URL(url, domain);

We could use this polyfill?
https://www.npmjs.com/package/location-origin

since the only purpose of "location.origin" it to avoid new URL from crashing and that we do not use or need it at any point yet, let's keep it hard coded.
If we need it at some point we can explore solutions.
Polyfills will just make the library bigger.
Does it make sense?

No really, for now i think it's a good compromise.

With hardcoded domain, relative URL will be unsupported.
No one can use /data.php?file=123 or /file.dcm, because file is stored not on https://github.com/FNNDSC/ami.

Let me try this solution, maybe this URL is not used to fetch the file, only to validate file extension

Yes I see the potential problem now - so we will probably now go for
const domain = location.origin;
parsedUrl = new URL(url, domain);

Then we should potentially use something like:
const domain = params.domain || location.origin;
const parsedUrl = new URL(url, domain);

It's not used to fetch the files, only to validate the extension (I've just tried to load a relative url + full url, with the fixed domain).
const domain = 'https://github.com/FNNDSC/ami';
const parsedUrl = new URL(url, domain);

So, for now this fix should work for now

May be const parsedUrl = new URL(url, 'http://fix.me');, so it looks like obvious todo?

thanks for testing @eduardor2k (cool screenshots btw :) ) , solution sounds good @JSibir ,

@JSibir sounds good to me too

@JSibir can you declare 1 variable per line, and separate each declaration by a ";"?

@NicolasRannou  I already done it in last commit


istioctl get not working

istioctl get route-rule isn't working anymore.
In the routing task, creating the rules works, but the get's fail.
Franks-MacBook-Pro:bookinfo frankbudinsky$ istioctl create -f route-rule-all-v1.yaml
Created config: route-rule productpage-default
Created config: route-rule reviews-default
Created config: route-rule ratings-default
Created config: route-rule details-default
Franks-MacBook-Pro:bookinfo frankbudinsky$ istioctl get route-rules -o yaml
<no output>

Franks-MacBook-Pro:bookinfo frankbudinsky$ istioctl create -f route-rule-reviews-test-v2.yaml
Created config: route-rule reviews-test-v2
Franks-MacBook-Pro:bookinfo frankbudinsky$ istioctl get route-rule reviews-test-v2
Error: received non-success status code 404 with message item with key default/route-rule-reviews-test-v2 not found

The rules have, however, been set and are working as expected.
We should make sure to add istioctl get to the e2e test.

Probably a duplicate of #653 and the problem is on the server.


timing

when I use CucumberPreprocessorPlugin my config is like this:
`
async setupNodeEvents(
  on: Cypress.PluginEvents,
  config: Cypress.PluginConfigOptions
): Promise<Cypress.PluginConfigOptions> {
  cypressSplit(on, config);
  await addCucumberPreprocessorPlugin(on, config);

  on(
    "file:preprocessor",
    createBundler({
      plugins: [createEsbuildPlugin(config)],
    })
  );

  on(
    'after:spec',
    (spec: Cypress.Spec, results: CypressCommandLine.RunResult) => {
      if (results && results.video) {

        const failures = results.tests.some((test) =>
          test.attempts.some((attempt) => attempt.state === 'failed')
        )
        if (!failures) {

          fs.unlinkSync(results.video)
        }
      }
    }
  )

  return config;
},

`
then timing.json does not update and also console log timing duration dose not show

I found the problem when move cypressSplit(on, config); to end of function before return config; it works correctly
but now the problem is this part of my code doesn't work any more:
on(
'after:spec',
(spec: Cypress.Spec, results: CypressCommandLine.RunResult) => {
if (results && results.video) {
    const failures = results.tests.some((test) =>
      test.attempts.some((attempt) => attempt.state === 'failed')
    )
    if (!failures) {

      fs.unlinkSync(results.video)
    }
  }
}

)
I think cypressSplit(on, config); some where rewrite the after:spec

Just need to add
on(         'after:spec',         (spec: Cypress.Spec, results: CypressCommandLine.RunResult) => {           console.log("ddd");         }       )
after
cypressSplit(on, config);
config file will be like this:
`import { defineConfig } from 'cypress'
import cypressSplit from 'cypress-split'
module.exports = defineConfig({
e2e: {
// baseUrl, etc
supportFile: false,
fixturesFolder: false,
video: false,
setupNodeEvents(on, config) {
cypressSplit(on, config);
  on(
    'after:spec',
    (spec: Cypress.Spec, results: CypressCommandLine.RunResult) => {
      console.log("ddd");
    }
  )
  // IMPORTANT: return the config object
  return config
},

},
})
`
then you see:
cypress-split: here are passing spec timings
{
"durations": []
}
cypress-split: spec timings unchanged
durations is empty in the console.
I test it with your repo: cypress-split-timings-example

Do you see the problem?
how can I solve it?
I want to use both of after:spec and cypressSplit(on, config); in my config file

Yeah, I think because this plugin and your code register on('after:spec' callbacks, Cypress has a bug. Luckily I have a fix: https://github.com/bahmutov/cypress-on-fix

Thank you, it works
Do you ever report this bug to the Cypress team?

yes


Remove redundant gene TPM outputs

In resolution of https://github.com/nf-core/rnaseq/issues/847, and effective reversion of https://github.com/nf-core/rnaseq/pull/1302, remove redundant TPM outputs.
PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/rnaseq branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Thanks @FriederikeHanssen !


Fix Issue & Pull Request comment headers on mobile

This PR fixes the Issue and PR comment headers on mobile. The changes I made also work on desktop which is why I didn't use media queries. This has the nice side effect to make the header look good in edge cases where user's have really long names which wouldn't fit the header even on desktop.
We could also discuss hiding the avatar completely and let the comments take the full width on mobile (like github does) but that would be a separate change.
Before:

After:

Codecov Report

Merging #13039 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13039      +/-   ##
==========================================
- Coverage   42.62%   42.60%   -0.02%
==========================================
  Files         672      672
  Lines       73785    73785
==========================================
- Hits        31448    31439       -9
- Misses      37247    37253       +6
- Partials     5090     5093       +3

Impacted Files
Coverage Δ

modules/indexer/stats/db.go
60.86% <0.00%> (-8.70%)
:arrow_down:

modules/log/event.go
56.60% <0.00%> (-0.95%)
:arrow_down:

models/gpg_key.go
53.33% <0.00%> (-0.58%)
:arrow_down:

services/pull/pull.go
40.78% <0.00%> (-0.50%)
:arrow_down:

Continue to review full report at Codecov.

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


Update comments of JSON.java

What this PR does / why we need it?
Summary of your change
Update comments
Please indicate you've done the following:

[ ] Made sure tests are passing and test coverage is added if needed.
[ ] Made sure commit message follow the rule of Conventional Commits specification.
[ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

Codecov Report
Patch coverage has no change and project coverage change: -2.54 :warning:

Comparison is base (883c043) 75.78% compared to head (7a41f1c) 73.25%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1445      +/-   ##
============================================
- Coverage     75.78%   73.25%   -2.54%
+ Complexity    20274    19364     -910
============================================
  Files           615      603      -12
  Lines         79727    78988     -739
  Branches      17598    17436     -162
============================================
- Hits          60418    57859    -2559
- Misses        12043    13942    +1899
+ Partials       7266     7187      -79

Impacted Files
Coverage Δ

core/src/main/java/com/alibaba/fastjson2/JSON.java
71.39% <ø> (+0.30%)
:arrow_up:

...rc/main/java/com/alibaba/fastjson2/JSONReader.java
71.13% <0.00%> (-1.90%)
:arrow_down:

...tlin/src/main/kotlin/com/alibaba/fastjson2/JSON.kt
0.00% <ø> (ø)

... and 80 files with indirect coverage changes

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


mkdirp issue!

Hi,
I have some issue installing your plugin, I'm getting the following error:
Apr 27 17:50:09 raspberrypi homebridge[30913]: [4/27/2017, 5:50:09 PM] ERROR LOADING PLUGIN homebridge-broadlink-rm:
Apr 27 17:50:09 raspberrypi homebridge[30913]: [4/27/2017, 5:50:09 PM] Error: EACCES: permission denied, mkdir '/home/homebridge'
Apr 27 17:50:09 raspberrypi homebridge[30913]: at Object.fs.mkdirSync (fs.js:895:18)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at sync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:71:13)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at sync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at sync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at Function.sync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at LocalStorage.parseStorageDirSync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:600:20)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at LocalStorage.initSync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:141:14)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at Object.nodePersist.initSync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/node-persist.js:37:32)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at Object.<anonymous> (/usr/lib/node_modules/homebridge-broadlink-rm/helpers/persistentState.js:7:13)
Apr 27 17:50:09 raspberrypi homebridge[30913]: at Module._compile (module.js:571:32)

I looked at issue #60 and installed your latest release but i can't get ahead of this.
maybe it's necessary for you to know, I'm using damien to load homebridge on boot and my config and persist folders are at /var/homebridge/ and not /home/homebridge like it's trying to access.
Please help!

Hi @nitaybz where are you placing your config.json?
The plugin is meant to use the same directory as that - usually this would be ~/.homebridge/
This is the code (which is the same as the homebridge uses):
var home = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE;
home = path.join(home, ".homebridge");

nodePersist.initSync({ dir: `${home}/plugin-persist/homebridge-broadlink-rm` });

I'm guessing you've created a user called homebridge?
Can you let me know the output of the following please:
echo $HOME
echo $HOMEPATH
echo $USERPROFILE

I've added the ability to set the directory manually in version 2.2.2 by setting a config value for "homebridgeDirectory". The README has been updated with relevant information.

I have run into this issue as well.
Homebridge runs just fine manually, but when it autostarts as a daemon, it throws the error just like above.(before updating this worked fine)
I set up the autostart following the setup https://timleland.com/setup-homebridge-to-start-on-bootup/
I haven't found any config sample regarding "homebridgeDirectory", so I'm bit confused as to how I should change the config file in /var/homebridge , or how should I change my setup altogether to avoid problems like these?

If your config.json is in /var/homebridge/ then you can put
  "platform":"BroadlinkRM",
  "name":"Broadlink RM",
  "homebridgeDirectory": "/var/homebridge/"

Thanks for being so responsive!
That solved the problem for me.


Certificate generation documentation?

Hi,
I am prototyping QUIC for a mobile application, thanks for making aioquic available.
Question: I am getting a certificate error even after hardcoding --host with the example http3 code, I am assuming that's because there is a mismatch between localhost and external server address I am communicating with (I'm not using localhost for development). Are there any documentation resources on how to generate the various certificates needed for that, if that is indeed the issue?
Here's the error:
2020-03-20 11:44:58,924 INFO quic [1dee7d339857a8fa] Connection close code 0x12A, reason hostname 'test.us-east-2.compute.amazonaws.com' doesn't match 'localhost'

Thanks in advance!

There is nothing QUIC-specific about the certificates. You can use any certificate provider you would use for HTTPS, for instance letsencrypt


Colibri Browser

Colibri Browser - https://github.com/WhichBrowser/Parser-PHP/issues/219

Coverage remained the same at 100.0% when pulling c8a66f19c5379a14c582a12dc524502dba7f5d9c on ayumi-cloud:Colibri into 4899110cd2f87b01e04ced62dbb9dec541031dee on WhichBrowser:master.


Add simple maths support

Would be good to add simple branch math support. This is the ability to specify in the json that we want to scan over a variable like "BRANCH1 + BRANCH2."
I'm not sure about the best way to do this, but TTree::Draw's branch manipulation syntax is very good at doing this sort of thing. I'm sure numpy has something clever as well.

I would have to think more about this. To be honest, what's tricky is just building the branch. To be technical, apply_cut() doesn't do anything but just that -- apply the cut. We could make it something that gets pre-built, where the cuts to make are scanned over, and if it finds a math equation in one of them (looking for a + or - or * or /), then it will split it up and create a new temporary branch to make the cut on.
The other way is to do this upstream where you add the new branch to the ntuple (who cares about size at this point if you always run cuts over a subset of all branches) and then the script downstream doesn't care.


[go_router] Is there a onRestore callback when using StatefulShellRoute and StatefulShellRoute in order to regain focus?

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
When A branch gets created gains focus. When B branch gets created gains focus. When A branch get restored it doesn't regain focus.
Proposal
Having the possibility to execute code when a branch is restored

I managed to do it by listening router.routeInformationProvider.addListener(_routeInformationProviderListener) and reading router.routeInformationProvider.value.uri.path.
I wonder if there is a better way to do it.


Add basic xml support to jballerina

Purpose
Add support for XML in jballerina. This includes:

XML Literals

XML Elements
XML Comments
XML Processing instruction
XML Text

XML Attributes (defining, accessing)
Namespaces
XML access-expression

Samples
function testXML() returns (xml, any, any, xml, xml, xml) {
    xmlns "http://wso2.com/" as ns0;

    xml x = xml `<ns0:foo a="hello world" xmlns:ns1="http://ballerinalang.org/"><ns1:bar1>hello1</ns1:bar1><bar2>hello2</bar2></ns0:foo>`;

    x@[ns0:b] = "active";
    xml x2 = x["{http://ballerinalang.org/}bar1"];
    return (x, x@, x@[ns0:b], x.*, x2, x2[0]);
}

Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[x] Added necessary documentation

[x] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@SupunS , conflicts

Codecov Report

Merging #15063 into master will increase coverage by 11.98%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             master   #15063       +/-   ##
=============================================
+ Coverage        11%   22.99%   +11.98%
- Complexity        0     4970     +4970
=============================================
  Files            38     1340     +1302
  Lines          1163    66786    +65623
  Branches        191     9062     +8871
=============================================
+ Hits            128    15357    +15229
- Misses         1022    49735    +48713
- Partials         13     1694     +1681

Impacted Files
Coverage Δ
Complexity Δ

...rinalang/compiler/semantics/model/SymbolTable.java
0% <ø> (ø)
0 <0> (?)

.../ballerinalang/compiler/tree/BLangNodeVisitor.java
0% <ø> (ø)
0 <0> (?)

...n/java/org/ballerinalang/model/types/TypeKind.java
0% <ø> (ø)
0 <0> (?)

...rg/wso2/ballerinalang/compiler/bir/BIREmitter.java
0% <0%> (ø)
0 <0> (?)

...lang/compiler/bir/writer/BIRInstructionWriter.java
0% <0%> (ø)
0 <0> (?)

...2/ballerinalang/compiler/bir/model/BIRVisitor.java
0% <0%> (ø)
0 <0> (?)

...g/wso2/ballerinalang/compiler/desugar/Desugar.java
0% <0%> (ø)
0 <0> (?)

...llerinalang/compiler/bir/writer/BIRTypeWriter.java
0% <0%> (ø)
0 <0> (?)

...alang/compiler/semantics/analyzer/TypeChecker.java
0% <0%> (ø)
0 <0> (?)

...ng/compiler/semantics/analyzer/SymbolResolver.java
0% <0%> (ø)
0 <0> (?)

... and 1305 more

Continue to review full report at Codecov.

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


New Hot Water function crashes homebridge

[5/6/2019, 10:27:58 AM] TypeError: Cannot read property 'toString' of undefined
    at PlatformAccessory.addService (/usr/local/lib/node_modules/homebridge/lib/platformAccessory.js:54:59)
    at boiler_Accessory.handleValve (/homebridge/node_modules/homebridge-tado-platform/src/accessories/boiler.js:58:22)
    at new boiler_Accessory (/homebridge/node_modules/homebridge-tado-platform/src/accessories/boiler.js:33:10)
    at TadoPlatform._addOrConfigure (/homebridge/node_modules/homebridge-tado-platform/src/platform.js:510:11)
    at TadoPlatform.configureAccessory (/homebridge/node_modules/homebridge-tado-platform/src/platform.js:629:12)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)

This causes homebridge to SIG TERM on my install

Closing - was resolved by another reConfig: true and re-enabling all sensors.


Doc topic about imports/export is misleading

Describe the bug
A clear and concise description of what the bug is.
The section about imports/exports is misleading. There is no need to export+import resources anymore if they reside in the same CDK app. https://docs.aws.amazon.com/cdk/latest/guide/aws_construct_lib.html
To Reproduce
See #2472
Expected behavior
See #2472 with response
Version:

OS: all
Programming Language: all
CDK Version: 0.30.0

I'll update the docs today.

The section no longer discusses export/import.


Wait for connect to finish sending all data

Goroutines created in connect, transfer data from a handler to telnet
client. However, as there's no synchronization between the goroutine
and the telnet server, there's a case where the server sends a prompt
before the goroutines finished all transmissions.
This fix assure that the telnet server waits until all data are sent to
the client, before sending a prompt.

I've found an issue that the one last byte generated by telsh.Handler is sent after the shell prompt.
Currently, there is a race condition between handler.Run() and go func launched in connect().
I've added channels to wait for go funcs launched in connect() to finish their jobs.

My vote for this pull request

My vote for this pull request


Fixed crop area movable image

Hi,
I can't get this working:
The crop area to be fixed and the image movable.
Tried this:
<vue-cropper
        v-if="image_path"
        ref="cropper"
        :src="image_path"
        :aspect-ratio="640 / 320"
        :auto-crop-area="0.6"
        drag-mode="crop"
        :dashed="false"
        :movable="false"
        :crop-box-resizable="false"
        :cropMove="form.image_cropped_data"
        alt="Profiel afbeelding"
>
</vue-cropper>

It must be possible because I can see a demo here.
see example (Cropper with fixed dragger)
But it won't work. The crop area is still movable and the image not.
Any idea?

Never mind. This is the solution for a fixed crop area:
<vue-cropper
        v-if="image_path"
        ref="cropper"
        :src="image_path"
        :aspect-ratio="4/4"
        drag-mode="move"
        :view-mode="1"
        :movable="true"
        :crop-box-movable="false"
        :crop-box-resizable="false"
        :cropMove="form.image_cropped_data"
        alt="Profiel afbeelding"
>
</vue-cropper>

Hope it's useful for someone in the future :)

Thx !


DataLoader destroyed before promise complete.

I've managed to hit DataLoader destroyed before promise complete. in this file.
Since I'm using the bundle it's not explicitly clear how I got to a broken state.
It's likewise hard to create a minimal test case.
Any clues why this might happen?

Hi, can you give me the vendors (graphql-php, dataloader-php, graphql-bundle)  versions please?

webonyx/graphql-php                         v0.9.11
overblog/dataloader-bundle                  v0.3.0
overblog/dataloader-php                     v0.5.1

thanks, are you also using native graphql promise adapter?

Yes

Ok thanks, can you try to update to webonyx/graphql-php v0.9.14 and overblog/dataloader-php v0.5.2, we fix recently some bugs on the SyncAdapter, that could be the solution...

Yup that fixed it 👍


[BUG] After upgrading to last version A new error apeared

Hi, after upgrading to latest version I get this error:

Most users of LoLLMs are on Windows and not being abot to install it on windows unless using WSL is a bit of a problem :(

qigen should not be used on windows.. someone did an oopsie somewhere..

will do a patch release in the coming days

Please do. I'm obliged to ask peopole to use other bindings while waiting :(


Action to build wheels on ROCm 6.0

For AMD RX 7000 series GPU (e.g. 7900XTX with gfx1100), ROCm 5.6 and especially 5.7 are extremely  unstable and can always lead to memory access fault in llm inferencing. A good way to solve this problem is to obtain pytorch 2.3.0+rocm6.0 and recompile all relative wheels.
It would be convenient if a wheel based on ROCm 6.0 or later could be released, instead of compiling locally. Thus I created this action script and opened this PR.
I have run the action script and tested the generated wheel on my own RX 7900XTX.
BTW, github is really stingy with hard disk space, I have been struggling to install all dependencies in such a limited hard disk : -(

Failed to pass tests with rocm aio build actions, delete the corresponding yml file.

I think this merge is useful .  I also build a wheel for 6.0 before like this one. 6.0 is stable, Time to update.

I think this merge is useful . I also build a wheel for 6.0 before like this one. 6.0 is stable, Time to update.

Thank you for your comment, I have tested the stable version.

This looks good. Is there a reason for building on Ubuntu 22.04, though? I made that change before and had to revert it because a lot of server instances are still on 20.04 and the wheels won't be backwards compatible.

Well, the reason is simply that I like newer ones. In consideration of compatibility, it should be on 20.04. Thank you for your remind.

Thank you.
I've added it to the matrix and done some tests. It seems like it's building correctly now with Ubuntu 20.04 and Torch 2.3.0. If v0.0.20 also builds for the CUDA wheels there should be +rocm6.0 wheels in the release as well.
Lots of stuff breaking in Torch 2.3.0 sadly, and they dropped ROCm 5.6 support. It's all kind of a mess and the build actions reflect that so they need to be tidied up a lot, I think.

ROCm 5.6 is kind of old now. Would it be possible to seperate different pytorch versions? e.g. exllamav2+rocm5.6+torch2.2, exllamav2+rocm6.0+torch2.3

Yes, it'll build with Torch 2.2 for ROCm 5.6. As soon as I can get this stuff to work. Very close now.

Should be done now. Tested the wheel with Torch 2.3.0 and ROCm 6.0 on the latest Manjaro. It's integrated in the existing workflow but I'll merge this anyway for completeness, then rework the all the actions for the next release. Thanks for the input. :)


Remove version: GiulioSorrentino.WinDateFrom version 4.1.3

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/numerunix/WinDateFrom.avalonia/releases/download/4.1.3/WinDateFrom.Avalonia-4.1.3-x64.msi
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 588)


Udemy Says: 'NoneType' object has no attribute

What happened?
Why its giving me error im using cookies.txt
Python -v 3.11
Udemy Says: 'NoneType' object has no attribute 'content' on https://www.udemy.com/api-2.0/users/me/subscribed-courses?fields[course]=id,url,title,published_title&page=1&page_size=500&search=how-to-start-a-youtube-automation-channel-monetize-it-fast
Expected Result
Down... The Course
Branch
feat-selenium
What operating systems are you seeing the problem on?
Windows
Relevant log output
No response
Other information
No response

I also encountered this situation
Arguments: ()
Traceback (most recent call last):
  File "D:\PycharmProjects\udemy-downloader\main.py", line 2066, in <module>
    main()
  File "D:\PycharmProjects\udemy-downloader\main.py", line 2059, in main
    parse_new(udemy, udemy_object)
  File "D:\PycharmProjects\udemy-downloader\main.py", line 1743, in parse_new
    parsed_lecture = udemy._parse_lecture(lecture)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PycharmProjects\udemy-downloader\main.py", line 1006, in _parse_lecture
    sources = self._extract_sources(sources, skip_hls)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PycharmProjects\udemy-downloader\main.py", line 523, in _extract_sources
    out = self._extract_m3u8(download_url)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PycharmProjects\udemy-downloader\main.py", line 587, in _extract_m3u8
    asset_id = asset_id_re.search(url).group("id")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'group'
(venv) PS D:\PycharmProjects\udemy-downloader>

use feat/refactor with the --browser option (see the readme in that branch)


add output for indonesian blocklist

Appreciate the PR, looks like this one has conflicts, so I'm gonna close this one, but clean it up locally and push in a few 👍


fix: broken Gaussian NB example

Fixes a broken Gaussian NB test

It is weird, it works for me without this change
https://github.com/smartcorelib/smartcore/blob/2c892aa603d4070e6a443828f76df3ca556daf11/src/naive_bayes/mod.rs#L74

It is weird, it works for me without this change
https://github.com/smartcorelib/smartcore/blob/2c892aa603d4070e6a443828f76df3ca556daf11/src/naive_bayes/mod.rs#L74

I forgot to mention that the bug I fix here is caused by changes in this PR


draw route service

Hello,
Is this plugin support drawing route between location to have such a live tracker ?
Thanks,

nop.

see this topic https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/2493 , he can integrate the google maps v3 with the plugin

I can't understand you have implement a plugin and you don't give answer, you just answer by one word without any informations, you don't want us to use this plugin?

I don't know why you don't see the past issues.
https://github.com/mapsplugin/cordova-plugin-googlemaps/search?q=direction&type=Issues
I don't recommend to use this plugin for beginners. Why don't you use Google Maps JavaScript v3 directly.

because your plugin looks native,  did you see this topic https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/2493,  what should we do to update marker position in your native map and draw the route please?


The Dreaded MissingPluginException (Let's have an FAQ)

As a plugin developer, I get numerous issues regarding this error on a regular basis. There are many unrelated causes for this error, and to make matters worse, the error message identifies the plugin that was attempting to use platform channels although that is not necessarily the plugin that is responsible for the error, and so you get issues posted by app developers on the wrong projects asking for the bug to be fixed. Furthermore, sometimes the error is caused by an incorrectly written plugin and other times it is caused by something the app developer did or didn't do. In both cases, there is a lack of documentation to help both the plugin developer and the app developer to navigate this issue and track down the root of what's causing it.
What I think is sorely needed is an official MissingPluginException FAQ listing all of the causes for this error and how to address them.
Additionally, since a lot of these errors can be caused whenever an app is creating a background FlutterEngine and it fails to register plugins for some reason, the documentation for Flutter background execution needs to be improved. The following page, for example, still refers to an old Medium article written by Ben Konyi that desperately needs an update:
https://flutter.dev/docs/development/packages-and-plugins/background-processes
On the Android side, the linked article has still not been updated to explain the v2 architecture and plugins that don't do this correctly may fail to do plugin registration correctly in certain circumstances. Yet, this is what the official Flutter documentation refers to.
Here is something that I (as a plugin developer) cannot figure out from the documentation: In that medium article, Ben uses this callback trick on Android to allow plugins to be registered in the background, but it is not needed anymore under v2:
  // In a custom Application subclass
  public void onCreate() {
    super.onCreate();
    GeofencingService.setPluginRegistrant(this);
  }

But the same article uses this trick in the iOS implementation:
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Register the plugins with the AppDelegate
  registerPlugins(self);
  // Set registerPlugins as a callback within GeofencingPlugin. This allows
  // for the Geofencing plugin to register the plugins with the background
  // FlutterEngine instance created to handle events. If this step is skipped,
  // other plugins will not work in the geofencing callbacks!
  [GeofencingPlugin setPluginRegistrantCallback:registerPlugins];

  // Override point for customization after application launch.
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

Is this trick still required in iOS but not required in Android? If I view the latest version of the geofencing plugin on GitHub, it still has this trick in it. However, the flutter_isolate plugin doesn't do this trick and STILL seems to work in almost most cases, although still people sometimes report that plugins do not get registered in some cases, and it is never obvious what causes it to work with some combination of plugin dependencies and not others. It is typically the presence of one culprit plugin that if removed from the project, allows everything to work again.
In almost every case, it is extremely difficult to track down which plugin is causing plugin registration to fail except by removing plugins one by one until things work again. Perhaps this is also cause to try to improve the error messages so that the real source of the problem can be more easily pinpointed.

I'm just surveying how various plugins handle the registration of plugins in the background on iOS, and there seems to be some variety and probably not all plugins are doing it correctly.
FlutterGeofencing as mentioned above sets a plugin registrant callback. This callback uses the app's generated plugin registrant to register all plugins. This is the official example linked from the documentation, but to me, this seems wrong if the plugins were already registered automatically because you would run into a "Duplicate plugin error". Perhaps the generated plugin registrant should really check if the plugins are already registered before trying to register them again.
flutter_downloader also copies the approach of FlutterGeofencing except that in the callback doesn't use the app's generated plugin registrant, it only attempts to register one plugin and only if it hasn't already been loaded:
void registerPlugins(NSObject<FlutterPluginRegistry>* registry) {
    if (![registry hasPlugin:@"FlutterDownloaderPlugin"]) {
        [FlutterDownloaderPlugin registerWithRegistrar:[registry registrarForPlugin:@"FlutterDownloaderPlugin"]];
    }
}

Putting aside that this is not a general solution as it only loads one plugin, it does appear to be a safer approach to test if the plugin is already registered before attempting to register it. Maybe the official generated plugin registrant should do this for all plugins to prevent a Duplicate plugin error. However that being said, it seems that this if condition has no effect because there is an open issue with flutter_downloader suggesting that some users are still getting a Duplicate plugin error: https://github.com/fluttercommunity/flutter_downloader/issues/177 . So it would seem that [registry hasPlugin:@"FlutterDownloaderPlugin"] is always returning false/NO and then the following attempt to register still gives a duplicate plugin error. The problem for the plugin developer here is if they remove this code, then it will work fine for users where the plugins happen to be automatically registered, but it will end up with a MissingPluginException where automatic plugin registration fails. It is not clear to me why automatic plugin registration would happen sometimes and not others.
flutter_isolate just relies on automatic plugin registration. It does not require the plugin user to modify their AppDelegate to set a callback that manually registeres the plugins. This seems to work just fine, although I have heard for some people this does not work and they are getting MissingPluginExceptions.
audio_service (my plugin) uses flutter_isolate under the hood to manage the background FlutterEngine on iOS and so it comes with the same issues.
Could it be that as the generated plugin registrant goes through each plugin in alphabetical order, if encounters one where registerWithRegistry fails, then all of the ones before it will be registered, but all of the ones after it will not?

There are so many related issues, I don't understand why this isn't being noticed by the Flutter team as a fundamental problem with how plugins are registered. Here are just a handful of currently open picked at random. They all have the same general description - hard to reproduce, it sometimes happens and sometimes magically fixes itself, with no explanation as to why or how. There are literally hundreds more MissingPluginException issues, most of which have been closed, not because it's fixed but because it's not reliably reproducible.
https://github.com/FirebaseExtended/flutterfire/issues/2675
https://github.com/mogol/flutter_secure_storage/issues/71
https://github.com/flutter/flutter/issues/46679
https://github.com/jonataslaw/VideoCompress/issues/23
https://github.com/flutter/flutter/issues/57443
https://github.com/pauldemarco/flutter_blue/issues/532
https://github.com/kmcgill88/admob_flutter/issues/21
https://github.com/flutter/flutter/issues/66833
https://github.com/tekartik/sqflite/issues/452

Just wanted to say, that I have provided an example that's easy to reproduce with the most basic setup.

Sound like a real pain for someone maintaining a plugin.
/cc @bparrishMines for your plugin author DevX effort.

This has been biting me a lot for the last few days, and there seem to be a number of workarounds such as adding --no-shrink or downgrading to android-gradle 3.5.  Neither of these are particularly palatable choices, in my own case downgrading to the older android-gradle broke one set of plugins, upgrading to android-gradle 4.1 broke a different set of plugins, and using android-gradle 4.0.2 with --no-shrink is where I feel I have force-landed.
Is there a bug somewhere for "switch android templates to use newer android-gradle" because that bug really needs to be aware of this problem. There was a pull request to do a similar thing back in December 2017, and it appears that something like that is needed again.

It would be interesting to know if this problems only appear in the release builds
If so then it's probably because Proguard strips out the code.

It would be interesting to know if this problems only appear in the release builds
If so then it's probably because Proguard strips out the code.

After I stumbled upon this problem the third time I realized 100% that it's not plugin X or plugin Y's problem. In all of the three times I had this it was release only which makes it just much more painful to debug. Something has to be done, because this will wear down both the app developers and the plugin developers.
So far my experience with Flutter is amazing, but this particular issue is a pressing one.
Just one to add to @jamesncl 's list: https://github.com/miguelpruivo/flutter_file_picker/issues/545
I can dig for the other two occasions. You can see in the issue that others are stumbling upon that, the plugin developer cannot help, the app developers like me try to poke this from all angles... it's just a carnage

It would be interesting to know if this problems only appear in the release builds
If so then it's probably because Proguard strips out the code.

One more thing: ProGuard is now R8, and soon android.enableR8=true will be deprecated and cannot be turned off. I've seen workaround proposals which would exclude classes from ProGuard shrinking/removal, but since we are not dealing ProGuard any more those obviously won't help.

It would be interesting to know if this problems only appear in the release builds
If so then it's probably because Proguard strips out the code.

Sir, you were right. This exactly explains why it's release only, and ProGuard rules (multiple) solved my particular problem.

From a developer perspective this is very frustrating as well. Any time something goes wrong in 1 plugin, all the plugins start throwing this error. If the packages are deeply integrated into your app, this is a bit of a debugging nightmare. You have no idea where to start, or what is causing the problem.
We really need more clear errors here, pointing specifically to the plugin that has failed first and allowing it to expose it's errors.
For example, currently I have this error coming from (at least) 4 plugins, only on iOS, on Android everything works perfectly, and all of these plugins support ios:

PathProvider
FlutterLocalNotifications
FirebaseCore
Purchases_Flutter

No clue which of these actually has the error, and ripping any of them out of the app is very time consuming. This is exacerbated by long build times and test cycles on IOS.
Very frustrating process and really needs more attention from the team. Pitching Flutter as production ready, but then having crippling issues like  this when you reach scale is a bit irresponsible.

From a developer perspective this is very frustrating as well. Any time something goes wrong in 1 plugin, all the plugins start throwing this error. If the packages are deeply integrated into your app, this is a bit of a debugging nightmare. You have no idea where to start, or what is causing the problem.
We really need more clear errors here, pointing specifically to the plugin that has failed first and allowing it to expose it's errors.
For example, currently I have this error coming from (at least) 4 plugins, only on iOS, on Android everything works perfectly, and all of these plugins support ios:

PathProvider
FlutterLocalNotifications
FirebaseCore
Purchases_Flutter

No clue which of these actually has the error, and ripping any of them out of the app is very time consuming. This is exacerbated by long build times and test cycles on IOS.
Very frustrating process and really needs more attention from the team. Pitching Flutter as production ready, but then having crippling issues like  this when you reach scale is a bit irresponsible.

From a developer perspective this is very frustrating as well. Any time something goes wrong in 1 plugin, all the plugins start throwing this error. If the packages are deeply integrated into your app, this is a bit of a debugging nightmare. You have no idea where to start, or what is causing the problem.
We really need more clear errors here, pointing specifically to the plugin that has failed first and allowing it to expose it's errors.
For example, currently I have this error coming from (at least) 4 plugins, only on iOS, on Android everything works perfectly, and all of these plugins support ios:
* PathProvider

* FlutterLocalNotifications

* FirebaseCore

* Purchases_Flutter

No clue which of these actually has the error, and ripping any of them out of the app is very time consuming. This is exacerbated by long build times and test cycles on IOS.
Very frustrating process and really needs more attention from the team. Pitching Flutter as production ready, but then having crippling issues like this when you reach scale is a bit irresponsible.

Sorry to hear your struggle, and that iOS is affected as well.
Does iOS build pipeline has a similar stage as R8/ProGuard. I'm not iOS developer but that stack is different because ObjectiveC is more bare metal language, no VM like in case of Java/Kotlin so maybe ProGuard stage doesn't make sense that much? But maybe there's still some compiler stage which tries to remove unused code?

From a developer perspective this is very frustrating as well. Any time something goes wrong in 1 plugin, all the plugins start throwing this error. If the packages are deeply integrated into your app, this is a bit of a debugging nightmare. You have no idea where to start, or what is causing the problem.
We really need more clear errors here, pointing specifically to the plugin that has failed first and allowing it to expose it's errors.
For example, currently I have this error coming from (at least) 4 plugins, only on iOS, on Android everything works perfectly, and all of these plugins support ios:
* PathProvider

* FlutterLocalNotifications

* FirebaseCore

* Purchases_Flutter

No clue which of these actually has the error, and ripping any of them out of the app is very time consuming. This is exacerbated by long build times and test cycles on IOS.
Very frustrating process and really needs more attention from the team. Pitching Flutter as production ready, but then having crippling issues like this when you reach scale is a bit irresponsible.

Sorry to hear your struggle, and that iOS is affected as well.
Does iOS build pipeline has a similar stage as R8/ProGuard. I'm not iOS developer but that stack is different because ObjectiveC is more bare metal language, no VM like in case of Java/Kotlin so maybe ProGuard stage doesn't make sense that much? But maybe there's still some compiler stage which tries to remove unused code?

Really have no idea what's going on. If I take the same set of plugins to a fresh project on the same machine and simulator, it works fine. But if I do reduce my my view you a single Widget, that only prints getApplicationSupportDirectory it still throws this MissingPluginException error.
I just toasted my entire iOS folder, and ran a new create . which I think might have got it working.

Really have no idea what's going on. If I take the same set of plugins to a fresh project on the same machine and simulator, it works fine. But if I do reduce my my view you a single Widget, that only prints getApplicationSupportDirectory it still throws this MissingPluginException error.
I just toasted my entire iOS folder, and ran a new create . which I think might have got it working.

I have just installed my app using flutter build apk --release and I am getting this exception
Unhandled Exception: MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)

It works fine when I use flutter run --release which is odd.

I have just installed my app using flutter build apk --release and I am getting this exception
Unhandled Exception: MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)

It works fine when I use flutter run --release which is odd.

@febg11 If this is on Android, did you disable Proguard?

@febg11 If this is on Android, did you disable Proguard?

@escamoteur it is for Android and all I wrote was
flutter build apk
Do you disable proguard using the --no-shrink argument? I want to avoid using that if so.

@escamoteur it is for Android and all I wrote was
flutter build apk
Do you disable proguard using the --no-shrink argument? I want to avoid using that if so.

Yep, the reason this makes problems is that proguarf stripps the plugin code out of the apk because it does not register correctly.

Yep, the reason this makes problems is that proguarf stripps the plugin code out of the apk because it does not register correctly.

Makes sense. I did the android version migration yesterday and before that If I built the app without no shrink it would just crash completely when opened.
Could I have made a mistake during the migration that would lead to this problem?

Makes sense. I did the android version migration yesterday and before that If I built the app without no shrink it would just crash completely when opened.
Could I have made a mistake during the migration that would lead to this problem?

I don't think so. the Flutter Team changed the default for proguard somewhere in the recent passt, so probably you also made a Flutter Upgrade.

I don't think so. the Flutter Team changed the default for proguard somewhere in the recent passt, so probably you also made a Flutter Upgrade.

I remember running it.. i was updating the firebase dependencies. The actual error when thrown in the logcat comes from my code calling path provider and not a library, is that to be expected?

I remember running it.. i was updating the firebase dependencies. The actual error when thrown in the logcat comes from my code calling path provider and not a library, is that to be expected?

I have followed the instructions here: https://flutter.dev/docs/cookbook/persistence/sqlite#example
And the latest command flutter run lib/db_test.dart returns this exception Error: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite).
I will come back and try again in few months. Good luck to the flutter team!
FTR
Flutter 1.24.0-10.2.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 022b333a08 (7 weeks ago) • 2020-11-18 11:35:09 -0800
Engine • revision 07c1eed46b
Tools • Dart 2.12.0 (build 2.12.0-29.10.beta)

I have followed the instructions here: https://flutter.dev/docs/cookbook/persistence/sqlite#example
And the latest command flutter run lib/db_test.dart returns this exception Error: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite).
I will come back and try again in few months. Good luck to the flutter team!
FTR
Flutter 1.24.0-10.2.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 022b333a08 (7 weeks ago) • 2020-11-18 11:35:09 -0800
Engine • revision 07c1eed46b
Tools • Dart 2.12.0 (build 2.12.0-29.10.beta)

@r4mbo7 did you try to deactivate proguard? If this only happens in relase on Android that probably fixes it

@r4mbo7 did you try to deactivate proguard? If this only happens in relase on Android that probably fixes it

@r4mbo7 did you try to deactivate proguard? If this only happens in relase on Android that probably fixes it

What's the best way to deactivate ProGuard from the build gradle? I'd prefer that over --no-shrink.

@r4mbo7 did you try to deactivate proguard? If this only happens in relase on Android that probably fixes it

What's the best way to deactivate ProGuard from the build gradle? I'd prefer that over --no-shrink.

Please see here:
https://github.com/flutter/flutter/issues/72970#issuecomment-755336666
--no-shrink doesn't work I tried it

Please see here:
https://github.com/flutter/flutter/issues/72970#issuecomment-755336666
--no-shrink doesn't work I tried it

Please see here:
#72970 (comment)
--no-shrink doesn't work I tried it

All what worked for me so far is a two part ProGuard exclusion rule, which is tailored to my use-case (flutter-blue plugin and file picker plugin fail), but I still see NPEs sporadically, so I'll try fully disable ProGuard. When I tried those switches I ran into compilation errors.
-keep class com.pauldemarco.flutter_blue.** { *; }
-keep class androidx.lifecycle.DefaultLifecycleObserver

Please see here:
#72970 (comment)
--no-shrink doesn't work I tried it

All what worked for me so far is a two part ProGuard exclusion rule, which is tailored to my use-case (flutter-blue plugin and file picker plugin fail), but I still see NPEs sporadically, so I'll try fully disable ProGuard. When I tried those switches I ran into compilation errors.
-keep class com.pauldemarco.flutter_blue.** { *; }
-keep class androidx.lifecycle.DefaultLifecycleObserver

Please see here:
#72970 (comment)
--no-shrink doesn't work I tried it

Do you advise to try android.enableR8=false in gradle.properties? It's frightening to know that it'll go away soon with newer Gradle versions although we have this whole bucket of problems in our hand.

Please see here:
#72970 (comment)
--no-shrink doesn't work I tried it

Do you advise to try android.enableR8=false in gradle.properties? It's frightening to know that it'll go away soon with newer Gradle versions although we have this whole bucket of problems in our hand.

Sorry, I'm not an gradle specialist.

Sorry, I'm not an gradle specialist.

Sorry, I'm not an gradle specialist.

Are there any?

Sorry, I'm not an gradle specialist.

Are there any?

@pedromassango  I got same error in release mode:
lutter (18178): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)

....

flutter (18178): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider)

what should I do? I am using the latest flutter master branch!

@pedromassango  I got same error in release mode:
lutter (18178): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)

....

flutter (18178): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider)

what should I do? I am using the latest flutter master branch!

@jinfagang
Try this: https://github.com/FirebaseExtended/flutterfire/issues/4424#issuecomment-772750576
You will be able to use all your plugins if they use V2 Embedding

@atrope nice. You seem to have confirmed my theory from earlier up in the thread:

Could it be that as the generated plugin registrant goes through each plugin in alphabetical order, if encounters one where registerWithRegistry fails, then all of the ones before it will be registered, but all of the ones after it will not?

Yes, usually the cause is an Android plugin that hasn't been upgraded from the v1 to the v2 architecture. But this error can also happen on iOS, in which case it has some other cause. And as others have mentioned above and elsewhere, the error can also occur during code shrinking, hot reloading with changes to plugins, and probably other reasons.
So until this error is completely eradicated, it is equally important as fixing it to actually improve the error message so that it doesn't lead users to go and post bug reports on the wrong plugins.
The audio_service project has 23 reported issues for MissingPluginException, and along with the other few plugins that create FlutterEngines, it finds itself at the epicentre of this bug. I ended up creating my own FAQ to help users track down the culprit plugin, so that one could decide whether to replace it with an alternative, report the bug to the correct author, or submit a pull request to the correct project.
But regarding the alphabetical order of the generated plugin registrant, I haven't tried your solution but if all it takes is one v1 plugin to halt the loading of all plugins after it, I suspect that this might only work to allow all of the v2 plugins to work within the newly spawned FlutterEngine, but the following v1 plugins would still not work within that newly spawned FlutterEngine. If your app by chance just happens to only use those v1 plugins in the main FlutterEngine, that might work out OK. Have you confirmed whether these v1 plugins operate correctly within the spawned FlutterEngine? If it actually does work, then this is a fix to the original v1 plugin registration problem for Android, and you might want to submit a pull request.

@ryanheise as I wrote there, it is a workaround to use V2 extensions on background services (Android) that should automatically register and any V1 extension was breaking the rest.
I think V1 extensions need to be registered manually just like we did with firebase_messaging until version 7.
So on Android we will be able to use any V2 extension automatically(with the workaround or if flutter team fixes the V1 breaking V2 plugin, or insert the workaround in the tool) and need to register Any V1 extension.
Maybe the users on your app are trying to use a V1 extension that needs to manually be registered, do you know the names of the plugins so we can be sure it is this?
On iOS I have never tried using plugins in background.. ao I can't tell you right now, I will try to check and get back here.

@xster do you have any thoughts on this issue? Do you we have any tests that use background execution?

The audio_service project has 23 reported issues for MissingPluginException, and along with the other few plugins that create FlutterEngines, it finds itself at the epicentre of this bug. I ended up creating my own FAQ to help users track down the culprit plugin, so that one could decide whether to replace it with an alternative, report the bug to the correct author, or submit a pull request to the correct project.

I found your FAQ: https://github.com/ryanheise/audio_service/wiki/FAQ#why-does-my-app-get-a-missingpluginexception

Just an idea for this latest V1/V2 conversation: if the suspicion turns out to be true then the best would be to display the V1/V2 compatibility status explicitly on pub.dev and possibly penalize V1 plugins through Pub Points. This could incentivize authors to upgrade to V2.

Please flutter team, do something to save the developers!

I made a repo for reproducing the issue, please follow the steps from this issue: #76768

FWIW, I think a lot of cases are related to https://github.com/flutter/plugins/pull/3746 which was just merged as a fix.
https://github.com/flutter/engine/pull/25297 will also add a bit more hints to the output when similar classes of issues arise.
I'd like to see what impact these have in the next release.

At the current stage, I'm broadly considering https://github.com/flutter/plugins/pull/3746 to have fixed all known issues and #78964 + https://github.com/flutter/engine/pull/25395 will make it much easier to detect future issues.
I spot checked a few of the referenced bugs from here (thanks @jamesncl for compiling
https://github.com/flutter/flutter/issues/62006#issuecomment-712244696) and I believe all have been resolved. If you're still seeing MissingPluginExceptions on the master branch, please open a new issue and cc me.

Leaving open for the initial request of having an FAQ about this exception, which would still be useful since there are still several ways of getting it.

if anyone getting this in flutter 2.2.X
just update replace your contents of MainActivity.kt with
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

if anyone getting this in flutter 2.2.X and Android
just

Again, there are a number of possible causes for a missing plugin exception. There is no one thing everyone who sees it (even on a single platform) can do that will fix it.

if anyone getting this in flutter 2.2.X and Android
just replace the contents of MainActivity.kt with
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

The io.flutter.embedding.android.FlutterActivity what you override here already has the exact same configureFlutterEngine implementation (source ocde in io.flutter/flutter_embedding_debug)! For this exact reason the upgrade guide even advises to remove the unnecessarily empty file ("you can also optionally delete the MainActivity.java/kt file if you'd like"). Therefore I'm curious what would be the reason this could change anything? Maybe some old source which haven't been upgraded fully yet?

is there any update for it, I come across many plugins that missing; any work around for all; I don't like --no-shrink;
MissingPluginException(No implementation found for method toggle on channel wakelock);

I'm going to lock this issue as it's continuing to attract comments that are trying to use this a single location to debug something that has, as discussed in recent comments above, many possible unrelated causes. If you are trying to report an issue where you believe a MissingPluginException is due to a Flutter bug, please file a new issue for your specific case.
This issue is at this point only tracking adding documentation about possible sources of this issue, not a place to report issues themselves.


🎨 Feat new CuiCui banner

Pull Request
Description
@damien-schneider To create the banner as you said I used figma. I'm glad you liked it, I was happy to see your message.
I have made the changes you told me.
✨ Change the font to Albert Sans.
✨ Medium thickness.
✨ Spacing -7.
Type of Change
Please delete options that are not relevant:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation update
[ ] Other (please describe):

Checklist
Please ensure your PR fulfills the following requirements:

[x] I have read and followed the Contributing Guidelines.
[x] My code follows the code style of this project.
[x] My code respect as much as possible the W3C standards with corresponding ARIA roles and html semantics.

[x] I have performed a self-review of my code.
[x] I have commented my code (if necessary), particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation (if applicable).
[x] My changes generate no new warnings.

Screenshots (if applicable)

If your PR includes UI changes, please include screenshots or GIFs showing the new behavior.
Additional Context
🎨 I hope you like it and if not, I accept any feedback to improve the banner and upload it again.

Absolutely fantastic work! I’m truly impressed and really love the outcome.
Could you let me know which software you used for this? Was it Figma?
I have a small suggestion: to better align the font with the logo, would it be possible to use the “Albert Sans” font in Medium weight and reduce the letter spacing by approximately -7%? I believe this adjustment would enhance the overall design.
Thanks again for your excellent work!

@damien-schneider 🎨 I hope you like it with what you have told me, if not, tell me about it.

Just amazing ! Thanks for this PR !! Love it !


Publish New Versions

Version Updates
Merging this PR will bump all of the applicable packages based on your change files.
@effection/channel
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/atom
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/core
[2.0.0-beta.6]

Add esm builds

6660a46 Add esm build (#462) on 2021-08-03

effection
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/events
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/fetch
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/inspect
[2.0.0-beta.8]

Add esm builds

Bumped due to a bump in @effection/inspect-server.
6660a46 Add esm build (#462) on 2021-08-03

@effection/inspect-server
[2.0.0-beta.8]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/inspect-utils
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/main
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/node
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/main.
6660a46 Add esm build (#462) on 2021-08-03

@effection/process
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/react
[2.0.0-beta.8]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/subscription
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/websocket-client
[2.0.0-beta.8]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/websocket-server
[2.0.0-beta.8]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

@effection/inspect-ui
[2.0.0-beta.7]

Add esm builds

Bumped due to a bump in @effection/core.
6660a46 Add esm build (#462) on 2021-08-03

Let's see what happens after this.

Let's see what happens after this.

We have cjs and esm builds, I would suspect it counts those as all part of the same bundle.
If you want tree shaking then you need rollup or a bundler


add a %url% tag

add an available tag for the download url of an image or even the page url (probably not possible). Would be helpful for reference in an external txt file when a download fails to see what should have downloaded

also unrelated but I see that there is a %count% tag available now (thank you!), is it missing from the wiki on purpose?

I added the %url_file% and %url_page% in the commit 1cc9c8243d455582b0e9ad17d8e079b134341786. It's better used with the external log/text file feature.
It will be included in this weekend's update.

or even the page url (probably not possible)

Everything is possible. :smile:

also unrelated but I see that there is a %count% tag available now (thank you!), is it missing from the wiki on purpose?

Yeah, it's missing on purpose because it's not fully implemented yet, and doesn't work in most cases (always returns 0), so I would advice you not to use it as is. I'll update the original issue when it actually works.


osx platform treated as ios

PhoneGap CLI, node & npm versions
phonegap: 6.5.2+cordova.6.5.0
node: 7.10.0
npm: 4.2.0
Expected Behaviour

pluigns that don't support the osx platform not being installed into an osx project.
osx-CFBundleIdentifier to actually set the bundle identifier
ios-CFBundleIdentifier to not set both ios and osx identifiers

Actual Behaviour
OSX platform is treated as an IOS platform completely
Steps to Reproduce
Try building an osx platform with <plugin name="cordova-plugin-statusbar" spec="~2.2.3" /> in the config xml.
Sample Code that illustrates the problem
Anything with the above
Error messages

ERROR: Plugin 'StatusBar' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.

I tried this with the latest Cordova (not PhoneGap):
cordova create foo
cd foo
cordova platform add osx
cordova plugin add<EMAIL_ADDRESS>cordova build

It built fine, and didn't add anything to the project that it is not supposed to (I opened up the platform Xcode project to verify).

Have you actually launched the app? That's when the error occurs.
Also, might be worth trying out with phonegap, not cordova.
Is the plugin in the platforms/osx/osx.json?
Does the osx-CFBundleIdentifier get regarded in the Info.plist ?

I can show you what's happening on screenhero if you'd like :)

Here's a small example project:
https://github.com/meza/phonegap-error-example
npm install
phonegap build ios <- verify it works
phonegap build osx <- check the console output in xcode when you run the project
Also the bundle identifiers are not updated

Hi @meza,
I have reviewed this and can confirm what you have reported using both cordova/phonegap. After chatting with the cordova team they said that cordova-osx will fallback to using the iOS implementation if an OSX one isn't available. That explains why you are seeing the status bar plugin installed and the subsequent error in the logs when running your application.
This might also be why the osx-CFBundleIdentifier isn't being used either. Also it is worth nothing that cordova-osx is pretty old, hasn't been updated in over a year, so some of these things might not have been implemented properly.

Thanks @surajpindoria for confirming.
Do you have any recommendations on how to get around this problem? I'm at the point of finishing up the project and shipping it, but this is blocking me from actually being able to deliver a buildable codebase.

I am not very familiar with cordova-osx myself, but @tripodsan has worked on it and can help you more than I can.

Closing this issue due to inactivity. Please feel free to re-open if the issue is still not resolved.


chore(clerk-js,backend): Remove deprecated __clerk_referrer_primary

Description
This is safe to remove, as the code that was adding this query param has been removed for at least 6 releases.
To give more context __clerk_referrer_primary was introduced in order to identify when a primary was redirected back to a satellite app and interstitial was triggered. This was later replaced by using __clerk_synced and the isInterstitial parameter from the load method.

Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[x] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[x] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

It seems that there is no occurrence of __clerk_referrer_primary in our logs for the last 14 days. I think we may proceed with this one

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


parser: implement Restore for TableOptimizerHint

Impletment Restore and unit test for TableOptimizerHint.
Issue: https://github.com/pingcap/tidb/issues/8532

Here is a problem that should be resolved before moving on to SelectStmt. The SelectFields of the following two queries are different:

select /*+ TIDB_SMJ(t1) */ * from t1 join t2

*ast.SelectStmt	&{{{{select /*+ TIDB_SMJ(t1) */ * from t1 join t2}}} {[]} 0xc00000f5c0 false 0xc00000a720 <nil> 0xc00000f5f0 <nil> <nil> [] <nil> <nil> none [0xc0000a6d20] false false}
  *ast.TableOptimizerHint	&{{} TIDB_SMJ [t1] 0}
  *ast.TableRefsClause	&{{} 0xc000146080}
    *ast.Join	&{{} {[]} 0xc000054340 0xc000054380 1 <nil> [] false false}
      *ast.TableSource	&{{} 0xc000144090 }
        *ast.TableName	&{{} {[]}  t1 <nil> <nil> []}
      *ast.TableSource	&{{} 0xc000144120 }
        *ast.TableName	&{{} {[]}  t2 <nil> <nil> []}
  *ast.FieldList	&{{} [0xc000058660]}
    *ast.SelectField	&{{} 27 0xc0000a6d70 <nil>  false}

select /*+ TIDB_SMJ(`t1`) */ * from t1 join t2

*ast.SelectStmt	&{{{{select /*+ TIDB_SMJ(`t1`) */ * from t1 join t2}}} {[]} 0xc00000f5c0 false 0xc00000a760 <nil> 0xc00000f5f0 <nil> <nil> [] <nil> <nil> none [0xc0000a2d20] false false}
  *ast.TableOptimizerHint	&{{} TIDB_SMJ [t1] 0}
  *ast.TableRefsClause	&{{} 0xc000146080}
    *ast.Join	&{{} {[]} 0xc000054340 0xc000054380 1 <nil> [] false false}
      *ast.TableSource	&{{} 0xc000144090 }
        *ast.TableName	&{{} {[]}  t1 <nil> <nil> []}
      *ast.TableSource	&{{} 0xc000144120 }
        *ast.TableName	&{{} {[]}  t2 <nil> <nil> []}
  *ast.FieldList	&{{} [0xc000058660]}
    *ast.SelectField	&{{} 29 0xc0000a2d70 <nil>  false}

The only difference is SelectField.Offset, which will count the backquotes put by Restore. For this PR we can wrap identifiers in the source SQL text with backquotes, but there are hundreds of select test cases of SelectStmt and some shall not be handled this way. So any suggestion?

@exialin I have meet the same problem as you said in the first place: The only difference is SelectField.Offset, which will count the backquotes put by Restore
So I create a new nodeFieldCleaner visitor to reset offset in PR #153 , you can have a look.


PacReq: docker

Types
-deb (Debian achieve release of the package)
URL
https://docs.docker.com/engine/install/debian/
Building guide
Add as PPA
Additional context
No response

Completed with #2732.