Adding support for NuggetEffect variogram

This PR adds NuggetEffect as a new variogram structure.
It includes sill and range attributes just for variogram fitting to work (they are not used at all). This can be revisited.

Codecov Report

Merging #31 into master will increase coverage by 1.82%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
+ Coverage   67.00%   68.82%   +1.82%
==========================================
  Files          12       11       -1
  Lines         394      401       +7
==========================================
+ Hits          264      276      +12
+ Misses        130      125       -5

Impacted Files
Coverage Δ

src/theoretical.jl
94.28% <100.00%> (+8.80%)
:arrow_up:

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 877b528...00b0b29. Read the comment docs.

Let's just wait for the tests to finish running in Travis, and then we can go ahead and merge :+1:

One test is failing, but it has nothing to do with the changes proposed in the PR. I think it has to do with the version of Plots.jl again, unfortunately. I will merge this right away, and we can try to reproduce the error locally in a separate discussion.
Thanks again for the improvement :ok_hand:

The test that was failing should be passing again, it was an issue with Plots.jl as usual :/
https://github.com/JuliaPlots/Plots.jl/issues/3065


Release prom. exporter

[ ] be sure that exporter works as expected and exports specific metrics
[ ] check with head of master (we changed SHOW THREADS output)
[ ] add new release


Database disconnect without trace

Describe the bug
Database (Mariadb) disconnected without trace. Tried to run for 24 hours and found there is something wrong with the database connection. Check the log and found the followings. The db is running well and can be accessed through phpmyadmin. Have no clue what happened. Will try it again.
20200514 14:06:17.801921 UTC 12803 ERROR error - MysqlConnection.cc:413
20200514 14:06:17.801975 UTC 12803 ERROR Error(2006) [HY000] "MySQL server has gone away" - MysqlConnection.cc:445

To Reproduce
Steps to reproduce the behavior:

Setup an API with http-controller to query the db, e.g. below
Leave it idle or run for sometime, e.g. 24hours
Access the API
See error

uint64_t id = 123456;
static const std::string query = "SELECT * FROM foo WHERE id = ?";
auto dbClientPtr = drogon::app().getFastBbClient("Foo");

dbClientPtr->execSqlAsync(query,
  [](const Result &r){
     LOG_DEBUG << "Rows : " << r.count();
  },
  [](const DrogonDbException &e){
     LOG_ERROR << e.base().what();
  },
  id
);

Expected behavior
Perform the query and return.
Desktop (please complete the following information):

Linux
Chrome

This error ocurrs when the connection is timeout and is closed by server side. see #285 and here, when this happens, drogon will automatically reconnect to the server, please confirm whether the application can automatically return to normal.

Ok, lemme have another test

If my setup is correct (I think so, the DB is working with other softwares), there should be some bugs in the DbClientLockFree::newConnection() or the subsidiary functions.
For the sake of testing, the wait timeout is set to low value, e.g. wait_timeout = 5. If a query is performed within this period, no doubt is a normal case, but the subsequent queries will work for a couple of times till failed with "MySQL server has gone away".
If a query is performed after the first timeout query_time > wait_timeout + 1, it never succeed and does not reconnect. It seems the closeCallback is not called anymore.
But if no query is ever performed, the connection keeps reconnecting and disconnected.
Is it something related to #342 ?

If my setup is correct (I think so, the DB is working with other softwares), there should be some bugs in the DbClientLockFree::newConnection() or the subsidiary functions.
For the sake of testing, the wait timeout is set to low value, e.g. wait_timeout = 5. If a query is performed within this period, no doubt is a normal case, but the subsequent queries will work for a couple of times till failed with "MySQL server has gone away".
If a query is performed after the first timeout query_time > wait_timeout + 1, it never succeed and does not reconnect. It seems the closeCallback is not called anymore.

I think you are right, but now I can't produce the error, please tell me the eviroment(OS, version of mariadb).
you could make a breakpoint and display the call-stack when the error occurs.

But if no query is ever performed, the connection keeps reconnecting and disconnected.
Is it something related to #342 ?

Ubuntu 18.04 LTS
10.4.12-MariaDB - MariaDB Server
The error is so random. From my test, I set the wait_timeout=5 or even lower valule wait_timeout>=1 at the DB. Run a drogon app and wait till the connect-disconnect loop will stop at sometime. The time to wait is kind of arbitrary at my current setup. Then perform a query with the controller, e.g. The one in the first post.
Here is the log from GDB but I don't think is useful for at the moment.
I have add some LOG_* so the line numbers may have a tiny bit offset from yours.
(gdb) bt 10
#0  drogon::orm::MysqlConnection::outputError (this=0x555555966b90) at /home/drogon/orm_lib/src/mysql_impl/MysqlConnection.cc:450
#1  0x00007ffff7e38f75 in drogon::orm::MysqlConnection::<lambda()>::operator()(void) const (__closure=0x5555558ea9c0)
    at /home/drogon/orm_lib/src/mysql_impl/MysqlConnection.cc:422
#2  0x00007ffff7e3b135 in std::_Function_handler<void(), drogon::orm::MysqlConnection::execSqlInLoop(std::string_view&&, size_t, std::vector<char const*>&&, std::vector<int>&&, std::vector<int>&&, drogon::orm::ResultCallback&&, std::function<void(const std::__exception_ptr::exception_ptr&)>&&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/bits/std_function.h:300
#3  0x00005555555cd016 in std::function<void ()>::operator()() const ()
#4  0x00007ffff7710061 in trantor::EventLoop::doRunInLoopFuncs (this=0x7ffff7f63f00 <drogon::HttpAppFrameworkImpl::getLoop() const::loop>)
    at /home/drogon/trantor/trantor/net/EventLoop.cc:286
#5  0x00007ffff770f847 in trantor::EventLoop::loop (this=0x7ffff7f63f00 <drogon::HttpAppFrameworkImpl::getLoop() const::loop>)
    at /home/drogon/trantor/trantor/net/EventLoop.cc:183
#6  0x00007ffff7d43301 in drogon::HttpAppFrameworkImpl::run (this=0x7ffff7f63940 <drogon::HttpAppFrameworkImpl::instance()::instance>)
    at /home/drogon/lib/src/HttpAppFrameworkImpl.cc:506
#7  0x00005555555cbc01 in main ()

@an-tao It may worth to have a look at trantor::Channel. It seems like the eventCallback_ somehow is not registered correctly and missed in void Channel::handleEventSafely().

@ihmc3jn09hk I made a PR #438 to fix this issue, please check it.
I'm not sure why this error occurs, but I think we should try to fix it by a minimum logical modification.

In such situation, I think I will make use of the DB as a kind cache and make a periodic query to cleanup expired entries as well as keep the connection awake.
Thanks for the follow-up.


WindowsScriptEngine: abstract the Dispatcher, allow usage without the WindowsDesktop runtime

WindowsScriptEngine uses System.Windows.Threading.Dispatcher. On .NET Core or .NET 5, this requires the WindowsDesktop runtime to be installed on the host.
Here we abstract the use of the Dispatcher in an ISyncInvoker interface, so that ClearScript.Windows can be distributed without the dependency on the WindowsDesktop runtime. ISyncInvoker is an interface that represents the fact that Windows Script engines require thread-affinity.
Constructor overloads are added to JScriptEngine and VBScriptEngine to pass an instance of ISyncInvoker.
Constructors that take no ISyncInvoker parameter create a DefaultSyncInvoker, which is a very simple implementation suitable for scripts that do not perform any form of event handling.
A separate DispatcherSyncInvoker is provided for the other use cases. It is distributed in a separate ClearScript.WindowsDesktop project. It is implemented using a System.Windows.Threading.Dispatcher, which is suitable for scripts that use event handling, or scripts that need the Windows message queue to be processed.
Test plan:

all unit test pass
ClearScript.Windows can be referenced in another project that does not enables UseWPF, and can be run on a host where the WindowsDesktop runtime is not installed

Dear @ClearScriptLib, this is based on the comments on PR #220.
This is indeed simpler and cleaner than #220, and it reaches the goal of allowing the use the Windows engines on a host where WindowsDesktop is not installed.
However, I've not found a way to solve the problem without having 2 projects: one without the WindowsDesktop dependency, and another one with the dependency.
In this PR, I chose to split the 2 projects this way:

CleanScript.Windows does not depend on the WindowsDesktop runtime, but by default it uses a ISyncInvoker that's limited. So that's somehow a breaking change compared to the current behaviour.
CleanScript.WindowsDesktop just contains a single class: DispatcherSyncInvoker, the implementation that needs the WindowsDesktop runtime. So it's up to the user to choose to pass that invoker.

Obviously, there are other options. For example, there could be 2 parallel projects, CleanScript.Windows and CleanScript.WindowsHeadless:

CleanScript.Windows could keep depending on the WindowsDesktop runtime and use DispatcherSyncInvoker by default,
CleanScript.WindowsHeadless would not depend on the WindowsDesktop runtime and uses the simpler DefaultSyncInvoker by default.
The benefit of that 2nd option is that there is less behaviour change for current users of the CleanScript.Windows package.

Dear @ClearScriptLib, this is based on the comments on PR #220.
This is indeed simpler and cleaner than #220, and it reaches the goal of allowing the use the Windows engines on a host where WindowsDesktop is not installed.
However, I've not found a way to solve the problem without having 2 projects: one without the WindowsDesktop dependency, and another one with the dependency.
In this PR, I chose to split the 2 projects this way:

CleanScript.Windows does not depend on the WindowsDesktop runtime, but by default it uses a ISyncInvoker that's limited. So that's somehow a breaking change compared to the current behaviour.
CleanScript.WindowsDesktop just contains a single class: DispatcherSyncInvoker, the implementation that needs the WindowsDesktop runtime. So it's up to the user to choose to pass that invoker.

Obviously, there are other options. For example, there could be 2 parallel projects, CleanScript.Windows and CleanScript.WindowsHeadless:

CleanScript.Windows could keep depending on the WindowsDesktop runtime and use DispatcherSyncInvoker by default,
CleanScript.WindowsHeadless would not depend on the WindowsDesktop runtime and uses the simpler DefaultSyncInvoker by default.
The benefit of that 2nd option is that there is less behaviour change for current users of the CleanScript.Windows package.

Hi @tlecomte,
Thanks again for your ideas and code! After experimenting a bit, we came to the same conclusion regarding the extra assembly, and have already completed most of the implementation.
Our design differs from yours in the following ways:

ClearScript.Windows retains its API and functionality via an internal DispatchSyncInvoker.
All non-WPF code goes into a new assembly, ClearScript.Windows.Core.
ClearScript.Windows.Core also contains non-WPF versions of JScriptEngine and VBScriptEngine.
The syncInvoker parameter of non-WPF engines is required and cannot be null.
The trivial invoker is currently named NullSyncInvoker, but that could still change before the release.

Please send your thoughts!

Hi @tlecomte,
Thanks again for your ideas and code! After experimenting a bit, we came to the same conclusion regarding the extra assembly, and have already completed most of the implementation.
Our design differs from yours in the following ways:

ClearScript.Windows retains its API and functionality via an internal DispatchSyncInvoker.
All non-WPF code goes into a new assembly, ClearScript.Windows.Core.
ClearScript.Windows.Core also contains non-WPF versions of JScriptEngine and VBScriptEngine.
The syncInvoker parameter of non-WPF engines is required and cannot be null.
The trivial invoker is currently named NullSyncInvoker, but that could still change before the release.

Please send your thoughts!

That sounds great, many thanks @ClearScriptLib !

That sounds great, many thanks @ClearScriptLib !

We've posted ClearScript 7.1. Thanks again for your input!

We've posted ClearScript 7.1. Thanks again for your input!

Thanks again, that's great!

Thanks again, that's great!


enhancement: embedify all of the meta commands

Old responses:

New responses:

This pr should wait until GH-75 is merged as it will cause merge conflicts, and I would rather resolve them here than on that pr.

Actually, the conflicts are easy enough to fix there, so I'll merge this now.


Save bandwidth setting

Since now in vfo mode bandwidth is not saved and after a power cycle you loose it, would it be possible to fix this?
No idea if this egzumer change on kamill repo could be of any help:
https://github.com/kamilsss655/uv-k5-firmware-custom/commit/ee871999db1f0d2e9c5ec898311442de747797d7

Hi,
Hummm, that doesn't seem right.
If you're in VFO mode and, for example, Wide, and you change to Narrow, this change will be reflected on restart.
Or maybe I didn't understand.
Armel F4HWN.

I think he meant it's not saved if switched from the user-definable shortcuts.
Anyways, I consider it a feature rather than a bug. The most convenient method to change a setting should always be temporary.


Question - losing auth on refresh?

Howdy - first, thank you for the excellent tutorial.  Has been a great launching off point to get me used to Vue/FastAPI (as a recovering manager/executive who hasn't coded up something wholly new in quite a while :) ).
I hope you don't mind a possibly silly question - if it's annoying, feel free to delete this issue.
I'm running into an issue which I've been trying to debug, but haven't been able to figure out - which is that whenever the page is refreshed, the app loses the user (and requires log in again).
I can't decide if this is expected behavior (I know it's sending an authentication cookie over) - and I realize that it may be, as I can't find any place that the app is interacting with local storage to maintain the user.  So I figured I would ask. :)
Mostly just trying to figure if I missed something somewhere, or if it's just something I need to add.
Thanks again!

I've just been going through this and hit the same issue.
I've worked around it though by changing  router where it checks whether the user is authenticated and if not redirects to the login page, and adding an initial check first to see if we are not authenticated, then call the viewMe service on the userStore (which uses the existing token to try to retrieve current user details) which then enables the next isAuthenticated check to pass.
No idea if this is a good/bad way of doing it though!
This is what I did (its using the Composable API and Pinia so slightly different but should easily be adapatable:
router.beforeEach(async (to, _, next) => {
  const userStore = useUserStore()

  if (to.matched.some(record => record.meta.requiresAuth)) {
    // If not authenticated (maybe refreshed page?)
    // Retry to get user details
    if (!userStore.isAuthenticated) {
      await userStore.viewMe();
    }

    if (userStore.isAuthenticated) {
      next();
      return;
    }
    next('/login');
  } else {
    next();
  }
});

Thank you!  This solved it (with a couple of small tweaks I'll put below for others)
(2.  Memo to self, actually look back at my question on github to see if anyone answered before haring off on another path - that would have saved me an hour :) )

Just for other n00bs since it took me a minute to work it out, if working from the raw setup of the tutorial, the code below should work (logging just for seeing what is happening).
router.beforeEach(async (to, _, next) => {
  if (to.matched.some(record => record.meta.requiresAuth)) {
    // If not authenticated (maybe refreshed page?)
    // Retry to get user details - fron github question
    if (!store.getters.isAuthenticated) {
      console.log('Not authenticated');
      await store.dispatch('viewMe');
    }

    if (store.getters.isAuthenticated) {
      console.log('Is authenticated');
      next();
      return;
    }
    next('/login');
  } else {
    next();
  }
});


added search function, which make it amazing!

I have added a search function, it is really cool now!
https://github.com/Sh4yy/personal-ai/assets/134143178/a0161fe7-98f0-4624-826d-e57c0ba0991a

it seems you are not interested in that, I will close it, thanks for your repo!


Added conditional skip rules to skip some tests when Dexterity packag…

Added code to skip tests that require the Dexterity package if it's not installed.

@jaydenmilne already has a commit to fix this problem.


refactor: update project structure

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

Project coverage is 99.39%. Comparing base (e782f6f) to head (6a32ff2).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   99.39%   99.39%
=======================================
  Files           6        6
  Lines         164      164
  Branches       15       15
=======================================
  Hits          163      163
  Partials        1        1

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


Fix for issue #4235.

This PR:

Fixes a bug

Description:
Fix for issue #4235 . The issue occurs due to the use of a NaN result produced from a zero denominator equation.

Thanks for the PR but I've resolved this issue via capping the duration during the init of the Tween.


add "dep ensure" check in CI test

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

Describe alternatives you've considered

Additional context

could refer to https://github.com/kubernetes-sigs/azuredisk-csi-driver/pull/65

Working on it

CI always failed when I add dep check alone. So in #16 I add dep check after reducing vendor size.

This issue cloud also be closed.#16 has fixed it.

thanks. how do you @tall49er find this project?

I am applying for GSoC. I find this project on Kubernetes project idea list. You could review my proposal for this project and give my some advices. Thanks.
https://docs.google.com/document/d/1xUXDJufTKWGWxMA2bVBDWjX-7vv2E21GXAP1QM_adUk/edit?usp=sharing

What about other two projects about AzureFile and AzureDisk? I only apply for Blobfuse. Could you please get me involved in any one of these projects. I will much appreciate that.

@tall49er those two projects have assignees already.

Could you please apply for additional headcount for this project?

@tall49er I am not familiar with GSOC, is there any exception for this rule?

Yes, since this project need to have more development resources. You could probably get in contact with Kubernetes community and asking for more headcount.


Automatically fetch new data on generated sites when in the editor

In nuxt2 you could previously run enablePreview() to refetch data, maybe we can implement something like that?
Expected Behavior

I expect the application to always fetch new data when in preview mode.
Current Behavior

Currently it displays pregenerated content.
Steps to Reproduce

Use useAsyncStoryblok to fetch data in a generate nuxt3 application.
Deploy site.
Edit the site in the live editor in storyblok.
Notice how the site is still with the generated content.

Example code from Henrik Hansson:
<template>
    <StoryblokComponent v-if="story" :blok="story.content" />
</template>

<script setup lang="ts">
import { ISbStoriesParams } from 'storyblok-js-client';

const { currentRoute } = useRouter();
const slug = currentRoute.value.path.toString().replace(/\/$/, '');

const version = useRuntimeConfig().public
  .version as ISbStoriesParams['version'];

const story = await useAsyncStoryblok(slug === '' ? 'start' : slug, {
  version: version,
  resolve_links: 'url'
});

</script>

Discussion from discord: https://discord.com/channels/700316478792138842/1111583846731882586
Discussion from nuxt github: https://github.com/nuxt/nuxt/issues/15639 & https://github.com/nuxt/nuxt/discussions/18407#discussioncomment-5997866

I have been looking into this for a few weeks but still have no solution how to make the Storyblok visual editor work properly using Nuxt 3 and SSG. As mentioned, this was a very simple matter on Nuxt 2 using enablePreview() to force asyncData to fetch new content, but there seem to be no way to achieve this in Nuxt 3. refreshNuxtData() should be the solution but it has no effect on `useAsyncStoryblok. Is there actually no way of makeing the visual editor work using Nuxt 3 and SSG or am I missing some obvious solution?

I really want to see this feature as well. Actually this is even so important, that I just can not transfer this to my clients.... They just don't understand what happens.
Is there any news on this, because this is really critical.
I also tried to load draft data when in preview etc, but everytime I hit save, it changes back to the generated content. Location.reload(false) also isn't doing anything.

We really need this feature as well and I have created a funky work around that worked for me. We can flush the cache when you click the save button in the visual editor.
How we did it
This is how we fetch data from Storyblok, we dont use useAsyncStoryblok, but a combination of useAsyncData and useStoryblokApi. We do this because we need the refresh function that useAsyncData provides.
const { data, error, refresh, status } = await useAsyncData(
  `get-story-${dataSlug}`,
  async () =>
    await useStoryblokApi().get(`cdn/stories/${slug}`, {
      language: topbar.localeSlash,
      version: STORYBLOK_VERSION,
      resolve_relations: ['global.call_to_action']
  }),
  ...

We use the npm run generate command when we deploy our site. So out of the box, we can't use the visual editor (as of now) because of the static site generation. But with the refresh function, we can flush the cache and call the API again.
So what I did was this:
process.client &&
  window.self !== window.top &&
  onMounted(() => {
    window.addEventListener('message', (event) =>
      event.origin === 'https://app.storyblok.com' &&
      event.data?.action === 'change' &&
      setTimeout(() => refresh(), 1000)
    )
  })

If the page loads on the client side and is in an iframe, use onMounted to attach an eventListener for the message event. If the origin is from storyblok.com and is a change action, refresh the asyncData. I threw this together yesterday, so I am not sure the setTimeout is necessary.
By doing this, the data variable from the useAsyncData updates when you click the save button in the visual editor. So no real time updates, but its something.
An official and less funky solution would be nice, but maybe this could help for the moment.

Thank you @Adamkillander96 for your solution, but as you mentioned without the pipeline it wont work. And it's also not real time update as with Nuxt 2 and enablePreview() . Is there any news on this? I have been testing exchanging the key for useAsyncData without success. Maybe I've missed something obvious, or the approach could inspire someone:
const route = useRoute();
const slug = route.path.replace(/\/$/, '');

const story = ref();
const storyblokApi = useStoryblokApi();

const preview = route.query._storyblok ? true : false;

const { data } = await useAsyncData(
  preview ? 'story-preview' : 'story',
  async () =>
    await storyblokApi.get(`cdn/stories/${slug}`, {
      version: preview ? 'draft' : 'published',
    })
);
story.value = data.value?.data.story;

onMounted(() => {
  useStoryblokBridge(story.value?.id, (evStory) => (story.value = evStory));
});

I also want to stress how important this is, not being able to use the visual editor is making it impossible to hand over any statically hosted project using Nuxt 3 to a client.

Is this only for generated sites, not on normal hybrid nuxt3 apps?

I dove a little bit deeper down into problem and decided to set up a few simple tests on a dedicated Netlify site. Neither refresh() as @Adamkillander96 suggested or refreshNuxtData() as any effect on the fetched content. I might be missing something obvious here but am at wits end, is there really no way to achieve a functional visual preview?

@Dawntraoz, could you maybe give us an update on this feature? It seems that more and more people are struggling with this...

Years ago, before enablePreview() was introduced in Nuxt 2, using a dedicated SPA site for the visual preview was a way to solve this problem. I just did a test run in Nuxt 3 and it still seems to work. There used to be some navigational issues but so far, in my limited testing, I haven't found any. It's not ideal to be dependent on a second site for the visual preview but you can keep them identical with the use of an environmental variable. And make sure to use the same version in all API calls or you can encounter unwanted results.
For Netlify it can look something like this:
export default defineNuxtConfig({
 process.env.PREVIEW ? ssr: false : ssr:true,

  runtimeConfig: {
    public: {
      version:
        process.env.SITE_ENV === 'production' && !process.env.PREVIEW
          ? 'published'
          : 'draft',
    }
  }
});

I still have some testing to do but this looks promising!

check out this solution: https://github.com/storyblok/nuxt-ultimate-tutorial/issues/5#issuecomment-1453412111
it seems to be working quite well for me.
also: make sure, any calls to a non-existent page are redirected to 200.html, and not for example to the root index.html! otherwise you will have strange effects in storyblok's visual editor with new pages, that have not yet been generated.
on apache hosting you can put this in your .htaccess:
ErrorDocument 404 /200.html

i'm having some success with this solution: https://github.com/storyblok/nuxt-ultimate-tutorial/issues/5#issuecomment-1453412111
with it, the story ref seems to get correctly updated, but there seem to be general problems afoot with various elements (like the img-src attribute, or v-html) not getting updated during hydration.  i've opened a Nuxt-issue here, with Daniel concluding it is a vue issue. i've now opened a new issue for the vue core here.
also note, that on static hosting, you have to make sure, that calls to non-existant sites get redirected to 200.html. with apache you can put ErrorDocument 404 /200.html inside your .htaccess.
all in all, after working many hours on a prerendered nuxt+storyblok project i can only conclude: it is a veritable shit-show, with many weird effects and stuff not working correctly. :-/

Hi folks 👋
As I've already mentioned to @codeflorist in his issue on this at UT repo: https://github.com/storyblok/nuxt-ultimate-tutorial/issues/5#issuecomment-1765051405, as I'm working on the last part of the Ultimate Tutorial (Preview environments & Deployment), I have the SSG with preview mode refreshing (as in Nuxt 2) working there.
You can check here the [...slug].vue: https://github.com/storyblok/nuxt-ultimate-tutorial/blob/part-7/pages/[...slug].vue
And the preview plugin needed: https://github.com/storyblok/nuxt-ultimate-tutorial/blob/part-7/plugins/preview.js
Again, I hope this helps and can fix all the issues you were having 🤗 As I told to CodeFlorist, if you want to jump in a quick call to see the workaround together or discuss doubts, happy to help and add more insights on the tutorial thanks to your feedback!

Thank you @Dawntraoz, your solution is a lot leaner than my take on the problem :)
However I get
Uncaught TypeError: e.target.closest is not a function
whenever I click on a block in the visual preview and the editor does not focus on the block. Is this working on your end? My templates should be good, this is working using my solution.

@henrikhansson indeed should be working, probably worth checking out the differences with main: https://github.com/storyblok/nuxt-ultimate-tutorial/compare/main...part-7, just in case something is different in your solution 🤔

The article is now live! Please check it out and let me know your feedback: https://www.storyblok.com/tp/create-a-preview-environment-for-your-nuxt-3-website 💜
I will close the issue since this resolves the topic, no need to update the SDK since it's implemented directly on the end project. Do you think will be helpful to update the README.md? If so, I will include it as reference 👌


Fixes #6367: replace doesn't work

Fixes #6367
Changes proposed in this pull request:
While using replace from "”" to """, value.replace("”",""") grel expression.
I added a check to verify whether the next character is not the same delimiter, or if it represents the last character in the sequence.

Thanks for tackling this! I think the problem is actually in the front end, not the back end, so I'd suggest looking at the Javascript code which constructs the GREL expression. It probably needs to escape any occurrence of the double quote (") character in either the search string or the replacement string provided by the user. The fix shouldn't require any changes to the GREL parser.

@tfmorris , as advised, I have removed the modifications from the backend and added code to escape any occurrence of the double quote (").

Thank you! Looks great. Would you mind adding a front end test to make sure that we don't break this again in the future?
https://github.com/OpenRefine/OpenRefine/blob/master/main/tests/cypress/cypress/e2e/project/grid/column/edit-cells/replace.cy.js

One other request, please don't use the number sign (#) in the names of branches in the future. Since it's the shell comment character, it causes the command
git checkout #6367-replace-not-working

to do nothing unless you quote the branch name.

Thank you! Looks great. Would you mind adding a front end test to make sure that we don't break this again in the future?
https://github.com/OpenRefine/OpenRefine/blob/master/main/tests/cypress/cypress/e2e/project/grid/column/edit-cells/replace.cy.js

I don’t have much idea about cypress but will try to look into it and add test case for the same.

@surajbora59 you could probably modify an existing test case in in replace.cy.js so that the string replaced with contains a double quote.
To run the Cypress tests, see: https://openrefine.org/docs/technical-reference/functional-tests

@wetneb , few observation in the doc which you shared I think it needs to be updated I noticed that there is no integration folder, adding the tests in the *cy.js are files automatically available in the list in cypress.

Also need to updated the port  "333" instead of "3333"

Test Results:


Kuroka x death

https://github.com/leshass/gotjsh/assets/119536973/51c45708-647e-4a8f-b3b4-ce5dbd34eb16

https://github.com/leshass/gotjsh/assets/119536973/76a2bb65-19b9-455f-beca-14411a754f1a


Basic training Sept 2023

This is a draft, a work in progress. It's still not completely clear how much we'll change from the March training. Adding more recordings? Simply directing attendees to the playlists and being live on Slack to reply? It's still being discussed.

Closed in favour of https://github.com/nf-core/nf-co.re/pull/1834


api.helper.get.is_delegated_inbox always returning false

The below code used to detect if the current mailbox is used by a delegated account is no longer working:
api.helper.get.is_delegated_inbox = function() {
    return api.tracker.globals[17][5][0] === "fwd";
};

It seems that api.tracker.globals[17][5][0] is equals to acfg in case a delegated account is in use and to dlg (or md:tes on some accounts) when the manager account is used (or when it is a "simple" account with no delegation)
Note: acfg is also returned when delegation is not allowed at all at a domain level (cf. #381)

Fixed in 0.6.14.
Thanks @josteink for the merge :+1:


Add Web Platform Tests harness

Since much of our API surface aims to implement existing web specifications like fetch, Service Workers, Streams, and encoding, the best way to get solid test coverage for our builtins is to run the official test suite for these specifications, WPT.
This change introduces a custom harness for

running WPT tests
evaluating the results against a set of expectations in a CLI to be used in CI
evaluating the results against a set of expectations in an interactive web interface
updating expectations

I think much of this will not be the final word on how to run WPT tests, but it works pretty well for the time being.
This change also comes with a list of tests to run (in tests/wpt-harness/test.json) and associated expectations (under tests/wpt-harness/expecations). These will be added to over time as we improve spec adherence.
And finally, this change also modifies the GitHub Actions test workflow to run the WPT harness to ensure that we don't accidentally regress spec adherence.

I had honestly not expected the tests to pass on the very first attempt 😬  Mainly because I wasn't sure I had everything right on preparing the wpt.py server to run and installing dependencies.
Speaking of dependencies, I want to get those cached before landing this: compiling Wizer and Viceroy takes up 17 of 18 minutes for this test ...

Ok, this all seems to work surprisingly well! 🥳  I have to add a bunch of documentation, and do some cleanup, but once that's done, this should be ready to go


feat(MvPowerSeries.LexOrder): lexicographic order of multivariate power series

Define the order of multivariate power series with respect to the lexicographic order on monomials.
Prove that the ring of multivariate power series over a domain is a domain.
Extension to some rings of Hahn series

Could you try merging master, fixing the build and then putting this back on the queue? Thanks!
bors r-
bors d+

Thanks, looks like CI should be happy with this now!
bors r+


README Documentation on master is ahead of latest release for Run()

Reading through the README, Commit #6b77c8f changes the usage of Run() vs Start() vs StartReturningModel() 12 days ago, but the most recent release was Aug 19. Therefore, the instructions provided can't be followed without using a go replace directive or a workspace file.
I would request this issue stays open for those new to bubbletea as a helpful pointer until a new tagged release becomes available.
Pointer: until a release after v0.22.1 becomes available, use StartReturningModel() in place of Run()

Thanks, I've encountered the same issue.

New code paths are available after point release! Closing.


ignore the broker only at the root

The ag search tool respects the .gitignore file but having broker alone
was too aggressive for the tool. So by adding the / it tells git to
ignore broker only at the project root.

Before:
$ /usr/bin/ag --ignore-dir vendor "^\/\/[A-Za-z]"
pkg/handler/handler.go
419://printRequest - will print the request with the body.

pkg/app/app.go
36://CreateApp - Creates the application

pkg/apb/types.go
13://SpecManifest - Spec ID to Spec manifest

After
$ /usr/bin/ag --ignore-dir vendor "^\/\/[A-Za-z]"
pkg/handler/handler.go
419://printRequest - will print the request with the body.

pkg/app/app.go
36://CreateApp - Creates the application

pkg/apb/types.go
13://SpecManifest - Spec ID to Spec manifest

pkg/broker/types.go
183://BindResponse - Response for a bind

pkg/broker/broker.go
120://Login - Will login the openshift user.
870://AddSpec - adding the spec to the catalog for local development

With the previous .gitignore ag would never look in the broker packages for anything. Now it does. Also, you can add files to broker directory still and they are not ignored which was the reason for the !pkg entry before.


Add separate user-agent header definitions to unit tests.

Fixes #3

(The issue number is #4 not #3.)
Fix is okay for me.


OpenMP causes abort

I see that it is supposed to be experimental but I wanted to see how to use it for my usecase. I just make with THREAD_SAFE and USE_OPENMP and run example 9 with Forward Euler. I get the following error
Verification failed: (j != end) is false: Couldn't find diagonal in row. i = 19, j = 19, I[i+1] = 19
 ... in function: void mfem::SparseMatrix::DiagScale(const mfem::Vector&, mfem::Vector&, double) const
 ... at line 1782 of file: linalg/sparsemat.cpp

Backtrace gives me
#1  0x00007ffff6b5f028 in __GI_abort () at abort.c:89
#2  0x000000000040c77c in mfem::mfem_error(char const*) ()
#3  0x0000000000568bab in mfem::SparseMatrix::DiagScale(mfem::Vector const&, mfem::Vector&, double) const ()
#4  0x0000000000426885 in mfem::CGSolver::Mult(mfem::Vector const&, mfem::Vector&) const ()
#5  0x0000000000423000 in mfem::ForwardEulerSolver::Step(mfem::Vector&, double&, double&) ()
#6  0x0000000000405b4f in main ()

I can see that the mass matrix seems to be incorrectly created.
Any pointers to what might be the issue. Thanks.

Hi @vikramsg,
The issue is that the integrators used in this example are not thread safe. These are the classes MassIntegrator and ConvectionIntegrator. One way to make them thread-safe is to move the data members used as temporaries to the implementation of their AssembleElementMatrix() methods. For MassIntegrator, these data members are:
   Vector shape, te_shape;

and for ConvectionIntegrator:
   DenseMatrix dshape, adjJ, Q_ir;
   Vector shape, vec2, BdFidxT;

I'll make a branch with these changes in a little bit.
Thanks for the bug report,
Veselin

Fixed in PR #158.

Hi @v-dobrev ,
Thanks for the fix.
I had a question. Why is thread safe not the default option?
Vikram

Hi Vikram,
The thread-safe option applies to some parts of the code and so it has limited use. It also comes with a (relatively small) performance penalty. If you want to use mfem with threading you should be careful and check what functions/methods are really thread-safe. Unfortunately, at this point this is generally not reflected in the doxygen documentation.
Let us know if you run into other issues.
Thanks,
Veselin


Giving no links

I ran this code in the command propmt C:\Users\HP\Desktop\chia-anime-downloader-master>python chia_anime_downloader.py -D http://www.chia-anime.tv/episode/fate-zero/ 1-25 1080p -v -l
Then I get this

Then when the script has finished running I get a fate-zero folder and a fate-zero .txt file which are both empty but it's strange because it's meant to store the links to the .txt file

From the image below you'll notice that after selecting the option of saving link it justs exits

It's 2019 and for what ever reason trying to watch videos from Chia-anime.tv while using Firefox produces a white screen again. No Error code. just a blank white screen. just to check I used chrome, and the Videos play just fine. Did they put an exclusion in the web code?


Remove version number of Microsoft.Azure.SignalR

Remove version number when referencing Microsoft.Azure.SignalR package to use the latest version.

@xscript : Thanks for your contribution! The author, @wesmc7777, has been notified to review your proposed change.

@MicrosoftDocs/apex-docs-pr-reviewers #sign-off

@xscript : Thanks for your contribution! The author, @wesmc7777, has been notified to review your proposed change.

@tysonn


🐛 [Bug]: DropdownMenu.Item组件title数据改变，渲染没有实时更新，再次点击才更新

Which React Vant packages are impacted?

[x] react-vant (React Vant core)
[ ] react-vant-icons(React Vant Icon)

What version of React Vant are you using?
3.0.4
Reproduce live demo(codesandebox or stackblitz)?
No response
Descripition
<DropdownMenu onChange={setValue}>
              <DropdownMenu.Item
                name='id'
                title={title}
                options={tempList}
              >
              </DropdownMenu.Item>
            </DropdownMenu>

title 没有更新

https://codesandbox.io/s/zi-ding-yi-cai-dan-nei-rong-forked-sb9iyt?file=/App.tsx


bdc.json file

Running the command:
azdata bdc config init --source aks-dev-test --target custom
results in two json files: cluster.json and control.json, there is no bdc.json file to be found, can you please correct this page accordingly. I'm using rc1 btw.

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

ID: 3f789883-5a24-a045-21d5-4b95951cb798
Version Independent ID: fadbef40-b033-7e4f-533a-abd7a8e303db
Content: Deployment guidance - SQL Server big data clusters
Content Source: docs/big-data-cluster/deployment-guidance.md
Product: sql
Technology: big-data-cluster
GitHub Login: @MikeRayMSFT
Microsoft Alias: mikeray

I had the same issue.  I didn't have the latest azdata build.  Once I uninstalled and reinstalled azdata, I got the bdc.json file.

@chrisadkin  - I'm trying to repro. Is this still an issue (assuming you're on the latest azdata). Thanks for submitting.

I've verified with the product group that bdc.json and config.json are the correct file names. If you have other file names, there is an older version of azdata.

I can confirm this also. Had the same issue, but after upgrading azdata, I received the expected files


TypeError with Chef client 12.6

I get the following error when the handler is called in chef client 12.6 on Windows 2012R2
[2016-02-03T11:28:08+00:00] ERROR: Report handler Chef::Handler::Datadog raised #<TypeError: no implicit conversion of nil into Array>
[2016-02-03T11:28:08+00:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.0.0/gems/chef-handler-datadog-0.7.0/lib/chef/handler/datadog_chef_tags.rb:46:in `|'

This seems to be caused by the node_tags method returning nil
    @node.tags.map! { |tag| 'tag:' + tag } if @node.tags

then being fed into
	@combined_host_tags = chef_env | chef_roles | chef_tags

Changing it to
    @node.tags ? @node.tags.map! { |tag| 'tag:' + tag } : []

fixes the issue

Thanks for reporting! Any chance of a PR?

I had done extensive research in to the Chef Client's tags method, and it's always supposed to return an Array.
It makes sense to guard against it misbehaving, especially since it's been reported before.

Resolved via #78, released in 0.8.0. Thanks!


Proper way to get item metadata by path while avoiding the url length limit

Category

[x] Question
[ ] Documentation issue
[ ] Bug

I use the https://${SHAREPOINT_SITE_ID}/_api/v2.0/drives/${DRIVE_ID}/root:@path:?path='${URL_ENCODED_PATH}'  endpoint to get an item by its path.
When a file name contains unicode characters, it's quite easy for the url to exceed the 2048-character length limit.
For example, the character "鵝" is usually encoded to "%E9%B5%9D", and a filename consisting of 300 "鵝" encodes to an url longer than 2700 characters, so when I try to get the item's metadata the API returns a 401 error with an empty response body.
I did find a way to shorten the url by encoding "鵝" as "%u9D5D", however there's 3 problems with it:

I think this is UTF-16?
is this encoding supported for all onedrive apis?
the character U+1F4A9 "💩" is "%uD83D%uDCA9", so a filename with 300 "💩"s would be more than 300 * 6 * 2 = 3600 characters and still exceed the 2048-character limit

[ ]: http://aka.ms/onedrive-api-issues
[x]: http://aka.ms/onedrive-api-issues

Unfortunately there is a URL length limit, and our recommendation would be to use ID's to reference drive items, rather than their paths.
Could you explain your scenario more?

We obtain a list of Sharepoint items that we care about with the (old) Sharepoint Rest APIs, and then use the Sharepoint items' paths (FileRef) to get the corresponding drive items for file hashes and other useful information.

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


Enhance test coverage & Inits test for DnD

Codecov Report

Merging #48 into master will decrease coverage by 16.35%.
The diff coverage is 88.88%.

@@             Coverage Diff              @@
##            master      #48       +/-   ##
============================================
- Coverage   100.00%   83.64%   -16.36%
============================================
  Files            8       12        +4
  Lines          108      214      +106
  Branches        14       28       +14
============================================
+ Hits           108      179       +71
- Misses           0       32       +32
- Partials         0        3        +3

Impacted Files
Coverage Δ

packages/dnd/Base/src/Base.js
88.63% <ø> (ø)

packages/dnd/Store/index.js
100.00% <ø> (ø)

scripts/dflex-utils-test/index.js
88.23% <88.23%> (ø)

packages/draggable/src/DraggableStoreImp.js
100.00% <100.00%> (ø)

packages/coreInstance/src/CoreInstance.js
30.00% <0.00%> (ø)

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 bdc3d06...19a5832. Read the comment docs.


Add information about Delivery Optiomization "scope" beyon Windows 10 updates

It would be good if that article mentioned that Delivery Optimization works not only with Windows 10 updates, but also with Office 365 ProPlus updates, Microsoft Store apps, etc. etc.  The perception from this article could be that it works only for Windows 10 updates, while that is not true.
It's kind of hard to find that information anywhere, except on some scattered blogs as well as here:
https://myignite.techcommunity.microsoft.com/sessions/64510#ignite-html-anchor

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

ID: eb67e518-6f60-23e0-2545-c2839e2b4159
Version Independent ID: e9a31629-e3cb-0367-31c4-5661284d89bf
Content: Configure Delivery Optimization for Windows 10 updates (Windows 10)
Content Source: windows/deployment/update/waas-delivery-optimization.md
Product: w10
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

Good point! I have an overhaul of these topics in the pipeline right now (hopefully live later today in fact), including a table of all types of downloads that DO can manage. However, O365 ProPlus isn't currently in that table, so I'll double-check with the PM on that.

@officedocsbot assign @e0i

@mariuszo-at-microsoft-com
The issue is being marked as resolved since this issue has had been addressed with the following commit and content has been updated according to your input.
https://github.com/MicrosoftDocs/windows-itpro-docs/commit/076f1af663f191a2c8e45f2778f3770e21d4883c#diff-913948eb72d430873f66b6dd8ebed31b
Thank you for taking the time to provide feedback.

@officedocsbot close


Fix For WMTS services if errors occurs

… it just skips the tile.

Coverage increased (+0.02%) to 81.337% when pulling 3cd0473a213539340e192f46f8408d7390aa429b on 12593-WMTS404Bug into ef54fcf900bb96fc74786fb50778e449164b4c33 on master.


What does this cookbook do? Exactly?

I added this to my Chef repository and ran the recipe.
Not sure what the result is. Should there be something up and running? How can it be accessed?
As a suggestion: I would structure cookbook in such a way that with just including recipe you will end up with something that works. Then provide documentation on what is working using the default path.
Then add documentation how things can be improved. Made more secure. Etc etc.
So start with the simplest case and allow for improvements. Rather than start with most complete and complicated case.

Hmmm not sure exactly what the issue you faced here was, however I'd recommend looking at the test-kitchen config file (.kitchen.yml) as that will now give you an idea on how you can use this cookbook in each platform.   ; )

@ostraaten This cookbook installs Tomcat 6/7 on various platforms and templates configuration files for running a web application on Tomcat.  Out of the box without your own application it really does nothing, but combined with your own application it hopefully gives you a fully functional application server.


Create Tekton CLI Logo

we'd really like to get a logo for the Tekton CLI (https://github.com/tektoncd/cli) - it's a command line interface for interacting with Tekton, so inspiration wise we thought something involving the tekton cat using a computer keyboard could be really cute.
Let me know if there's someone else I should direct this request to! And there's one other Tekton project - the dashboard - that we'd potentially like to request a logo for as well.

inspiration for the logo design:

Tekton cat is pretty awesome, so I created a couple logo suggestions:

:laughing: the second option can be interpreted to be that Tekton cat craps on your command line :laughing:

In progress

@danlopez00 did this ever happen?

Yes, this has been in process from the design team (internal Jira ticket), but got de-prioritized during last couple weeks.  Its between #1 option above or the sketch provided in jira.

@danlopez00 how do we see the sketch in jira?
Very exciting!

@bobcatfish ^^^^

ahhhh that's so cute! i love that! That one gets my vote but ultimately I think it's up to the folks who own the CLI project so I'll ping them in here to decide:

@vdemeester
@sthaha
@hrishin
@chmouel
@danielhelfand
@piyush-garg
@pradeepitm12

Oh I definitely vote for this one :heart_eyes_cat:

I ❤

I would vote for this one  : https://github.com/cdfoundation/foundation/issues/147#issuecomment-619214804

I liked https://github.com/cdfoundation/foundation/issues/147#issuecomment-619214804. However, the CLI sign is not that visible.
Otherwise would vote for https://github.com/cdfoundation/foundation/issues/147#issuecomment-619643367.
it could be nice if we can write > tkn in front of the terminal sign.
Thanks!

My personal favorites https://github.com/cdfoundation/foundation/issues/147#issuecomment-619214804
and https://github.com/cdfoundation/foundation/issues/147#issuecomment-619643367

I like the one below, but I think all are great and thanks to everyone who put these together.

Alright, final vote in on https://github.com/cdfoundation/foundation/issues/147#issuecomment-619214804 :angel:

SGTM. @bobcatfish ... the vote suggests. Will set in motion.

@danlopez00 make sure it ends up here thanks https://github.com/cdfoundation/artwork/tree/master/tekton

@danlopez00 just to make sure, the vote suggested

@danlopez00 anything more we need to do to get the above sketched into a final logo? Let me know if I should open another issue :D

I'm not 100% sure what the next steps are here so I've opened https://github.com/cdfoundation/foundation/issues/197


Sending a :form-param param with vector value always results in indexed style of params

I'm running version 2.2.0.
I have a problem where I'm required to POST form params such as "a=1&a=2&a=3".
Here's the code:
(client/post "http://www.google.com" {:form-params {:a [1 2 3]}})

Instead of expected default style of a=1&a=2&a=3, I get the following:
a[0]=1&a[1]=2&a[2]=3
See attached Wireshark capture for the request to google above:

Is there a way I can change this?

I don't think there is currently a way to change this, we'll need to add something for :form-params similar to the :multi-param-style added for the query string parameters.

Is there a way I could manually achieve this?

But what about this:
https://github.com/dakrone/clj-http/blob/master/src/clj_http/client.clj#L753
Doesn't that take multi-param-style as parameter?

Works with 3.3.0.


German locale

Pull Request Checklist

[ ] Description: Briefly describe the changes in this pull request.
[ ] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[ ] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[ ] Testing: Have you written and run sufficient tests for the changes?
[ ] Code Review: Have you self-reviewed your code and addressed any coding standard issues?

Description
[Insert a brief description of the changes made in this pull request, including any relevant motivation and impact.]

Changelog Entry
Added

[List any new features, functionalities, or additions]

Fixed

[List any fixes, corrections, or bug fixes]

Changed

[List any changes, updates, refactorings, or optimizations]

Removed

[List any removed features, files, or deprecated functionalities]

Security

[List any new or updated security-related changes, including vulnerability fixes]

Breaking Changes

[List any breaking changes affecting compatibility or functionality]

Additional Information

[Insert any additional context, notes, or explanations for the changes]

[Reference any related issues, commits, or other relevant information]

Thanks!

Hello @tjbck,
I was under the impression that this Pull Request had been closed. Please refrain from merging it into the DEV branch, as there were some complexities intrudeced by i18n-script changes to other locales keys.
I Will create a new PR for the translations
Thank you!


Create Ask Me Anything page

Story
No response
Description
We plan to host the first Ask Me Anything session on Feb 9 @ 5pmCET/11amET.  Nick and Rob will be the Node-RED experts answering questions.  WE need a page created to promote this session.
Here is the text we can use.
Title: Meet the Experts: Ask Me Anything about Node-RED
Description:
Do you have a questions about Node-RED or need some advice on a tricky issue using Node-RED? Here is your opportunity to get help from the experts. Nick O'Leary, co-founder of Node-RED & CTO of FlowForge, and Rob Marcer, Node-RED community member & Developer Advocate @ FlowForge, will be hosting an interactive Ask Me Anything session. Thisis a great opportunity to ask questions of the Node-RED experts.
Attendees will be able to ask questions live during this session. However, we also encourage you to ask questions in advance. To ask an advance questions .
To attend the Ask Me Anything session please register in advance.
Speakers:
Nick O'Leary, co-founder Node-RED and CTO at FlowForge
Rob Marcer, Developer Advocate at FlowForge

I assume we will be using a separate registration form for this?

How I've integrated the AMA session in (using the same form at the moment)
https://user-images.githubusercontent.com/99246719/214814234-fe1dc291-2e23-4209-917e-1ce0b490d971.mov

I assume we will be using a separate registration form for this?

Yes. Here is the JS for the second form.

Is it possible to push this page live on Tuesday so we can start promoting the session?

Absolutely, was just waiting on confirmation of whether of not we were including a Webinar or not? Happy to go ahead with the AMA only for now

Just noticed the date is incorrect. It should be Feb 9 not Feb 8.

@robmarcer is working on the description of the webinar. I hope he will have something later this week. For now, let's publish the page with just the AMA session.

Closed by https://github.com/flowforge/website/pull/359


Search button labels aren't as clear as they could be

The labels on the two buttons next to the search box - "Go" and "All Resources" - are potentially confusing to users. If they wish to search from within all resources, they might choose to click the "All Resources" button instead of "Go", which will not produce the desired result.
To make the different purposes of these buttons clear, relabel "Go" as "Search" and "All Resources" as "Browse All".

Ben: All resources should be different al together (e.g. text link below search)


Address Actual Durations Far Exceeding Threshold Durations

This is a fix for the issue of the actual duration for a connection far exceeding the threshold durations.
Closes #6

I refactored this branch to support the new feature to repeat the last interval repeatedly.  The logic is a bit simpler now too in my opinion.


Make the initial version of pipeline for unit test and building/pushing images

I think we can close this PR.


Humans and mutants are friends, not enemies!

First of all, thank you so much for this super useful tool 🙌 🙌 🙌
I've recently discovered it and it's extremely helpful in the project I'm working on.

I disagree with the slogan on the logo

We're not killing mutants! Mutants are our best friends to find and kill our true enemy which is bugs!
Mutants probably have families, it's not cool to kill 'em. I'd change the slogan to represent friendship and partnership between humans and mutants, something like humans and mutant are best friends ☺

Hi @limonte, this is not the place for these kind of messages 😉. You should join our Slack channel for discussing this. I'm closing this issue


range and contribution parameters for geostatistical utilities

v = pyemu.utils.geostats.ExpVario(a=a,contribution=sill,anisotropy=1.0,bearing=0.0)
gs = pyemu.utils.geostats.GeoStruct(variograms=v,nugget=0,transform='log')
Is 'a' the effective range or the 'a' in the exponential variogram?
Does contribution contain the nugget contribution?

The range of the exponential variogram is approx 3 times the "a" parameter (same as PEST and GSLIB).  The contribution of the nugget is only accounted for at the GeoStruct level (not for variograms individually)


how to remove some js object from Context

@eleinadani  @wirthi  Hello, I want to ask a question, we now have a scenario:
In a server-side project, we will load the js method into the local memory of the machine, and then execute the corresponding js method according to the front-end request, but we know that the local memory of a machine is limited, and the js method cannot be loaded indefinitely, so we want to be based on some Elimination strategy, some js methods are eliminated, but I tried the deletion exposed by graalvm, it seems that the corresponding js method object cannot be deleted successfully, and the corresponding memory is released. The test code is as follows:
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.HostAccess;

public class App2 {
    public static void main(String[] args) {
        Context context = Context.newBuilder().allowAllAccess(true).allowHostAccess(HostAccess.ALL)
                .build();
        context.eval("js", "function test(){\n" +
                "   console.log('new Person(ruanzhi).greet()')\n" +
                "}");
        context.getBindings("js").getMember("test").execute();
        context.getBindings("js").removeMember("test");
    }
}

For this kind of scenario, how do I need to deal with the problem of insufficient memory? Do you have a good solution now?

Don't store the members in the global context. Use an intermediate object, like yourFunctions. While you cannot delete elements from the global scope, you can delete members from this object.
Best,
Christian

Don't store the members in the global context. Use an intermediate object, like yourFunctions. While you cannot delete elements from the global scope, you can delete members from this object.
Best,
Christian
@wirthi
Can you give me a sample code, such as how to modify the above code, you can clean up some memory effects and use the automatic recycling mechanism of the virtual machine

Hi,
var yourFunctions={};
yourFunctions.test = function() { ... }
...
yourFunctions.test();
...
delete yourFunctions.test;   // or context.getBindings("js").getMember("yourFunctions").removeMember("test");

Best,
Christian

@wirthi Thank you very much for your response. I understand the code example you gave, which can help me release the memory occupied by the function corresponding to "yourFunctions.test" in the virtual machine, but cannot release the memory of the "yourFunctions" object, as shown below Modified code:
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.HostAccess;
public class App2 {
    public static void main(String[] args) {
        Context context = Context.newBuilder().allowAllAccess(true).allowHostAccess(HostAccess.ALL)
                .build();
        context.eval("js","var yourFunctions={};\n" +
                "yourFunctions.test =function(){\n" +
                "   console.log('new Person(ruanzhi).greet()')\n" +
                "}");
        System.out.println(context.getBindings("js").getMember("yourFunctions").getMember("test").execute());
        System.out.println(context.getBindings("js").getMember("yourFunctions").removeMember("test"));
    }
}

In this way, every js function in the database needs to be wrapped by such an object,
Then during the program's luck, after a certain function is not called, I release the function object in this way, but the corresponding outer object cannot be released. For this drawback, can I dynamically bind different functions to the outer object? , Such as "yourFunctions" object, after I delete a test member, I can dynamically bind another js function member. So I can reuse this outer object. So I wonder if Graalvmjs provides such an api interface to help me accomplish this. If so, I hope to give me a sample code, I will learn it for reference. If not, is there any other way to solve the problem I described (I need to wrap each JS function with a different similar "yourFunctions" object. When releasing, I can only release the space occupied by the corresponding js function, not completely release the different Similar to "yourFunctions" object takes up space)

@wirthi  I seem to find a way to dynamically bind js functions. Look at my code as follows:
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.HostAccess;

public class App2 {
    public static void main(String[] args) {
        Context context = Context.newBuilder().allowAllAccess(true).allowHostAccess(HostAccess.ALL)
                .build();
        context.eval("js","var yourFunctions={};\n" +
                "yourFunctions.test =function(){\n" +
                "    console.log('sync new Person(ruanzhi).greet()');\n" +
                "    return 'ruanzhi'\n" +
                "}\n");

        System.out.println(context.getBindings("js").getMember("yourFunctions").getMember("test").execute());
        // Delete 'test' function
        context.getBindings("js").getMember("yourFunctions").removeMember("test");
        //  Dynamically bind a function
        context.eval("js", "yourFunctions.test1=function (){\n" +
                "    console.log('sync new Person(ruanzhi).greet()');\n" +
                "    return 'ruanzhi2'\n" +
                "}");
        System.out.println(context.getBindings("js").getMember("yourFunctions").getMember("test1").execute().asString());

    }
}

As shown in the code, I can delete a function, or bind a function to the object through the "eval" method. I don't know if this method is correct, or if there are other methods, for example, I have tried: "putMember" method, but it seems that this method can only bind java objects and cannot meet my requirements. So I also want to know whether the "putMember" method can only bind a java object, but cannot dynamically bind a js function
In addition, I would like to ask what is the difference between "context.parse" method and "context.eval"? Both methods can parse js code. I understand it. When using Nashorn, I didn't understand the difference between the two. Hope can get an explanation

Hi @ruanzhi
the problem you experience is not a GraalVM limitation - it is a JavaScript language limitation. The ECMAScript specification mandates that one cannot delete from the global scope. See for instance the explanation in delete operator on developer.mozilla.org:

Any property declared with var cannot be deleted from the global scope or from a function's scope.
As such, delete cannot delete any functions in the global scope (whether this is part from a function definition or a function expression).

My sample code (using this yourFunctions object) should solve the problem in the sense that you can delete all functions and there should be no leftover that cannot be GCed. If you cannot do it like that, you are basically saying that you have to put all functions in the global scope - which feels a bit weird, I would even say that it is an anti-pattern to store user-defined functions on the global scope, especially for longer-running applications.

putMember

With putMember you can store a org.graalvm.polyglot.Value object to a Context binding (JavaScript in your case). This could be a Java object, but also a Value that you received from the JavaScript context, e.g. a function:
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Value;

public class Main {

    public static void main(String[] args) {
        Context context = Context.newBuilder("js").build();
        context.eval("js", "var yourFunctions={}; yourFunctions.foo = function(a) { print('hello: '+a); }; yourFunctions.foo('000'); ");
        Value bindings = context.getBindings("js");
        Value yourFunctions = bindings.getMember("yourFunctions");
        Value fooFn = yourFunctions.getMember("foo");
        yourFunctions.putMember("bar",fooFn);
        context.eval("js", "yourFunctions.foo('111'); yourFunctions.bar('222');");
        context.eval("js", "delete yourFunctions.foo");
        yourFunctions.removeMember("bar");
        context.close();
    }
}

See how I get the foo function from JavaScript (from the bindings, via the yourFunctions member) and store it again there, under the new name bar. I can call both foo and bar afterwards. I can also delete them (independently), either via delete on the JavaScript side or via removeMember in Java.
I cannot really offer you an API to do what you request automatically. Value is our API that provides the building blocks. Your concrete idea (installing and deleting functions on the yourFunctions object) is something that can be done with a single call to putMember or removeMember each. It might make sense to package that either on the JavaScript or the Java side in helper functions, but there really is not much magic around that.
A totally different option you should evaluate is to use new Contexts for every new "execution". I don't know your full use-case, but typically you should be able to close a context after a while (after a request, after a user session, etc.) and open a new one for the next user/request/session/etc. That should also solve the memory leak problem - and it will separate all the contexts from each other, avoiding data leak between customers, etc.
Best,
Christian

@wirthi Thank you for your patient response, I fully understand how to deal with it, thank you again


Update dependencies

Please update dependencies 🙏
There are some issues that start occurring. For example:
Because freezed >=1.1.1 depends on analyzer ^3.0.0 and mocktail 0.2.0 depends on test ^1.16.0, if freezed >=1.1.1 and mocktail 0.2.0 then test_api 0.2.19 or 0.4.9.
And because mobile_app depends on flutter_test from sdk which depends on test_api 0.4.8, freezed >=1.1.1 is incompatible with mocktail 0.2.0.
So, because mobile_app depends on both freezed 1.1.1 and mocktail 0.2.0, version solving failed.
pub get failed (1; So, because mobile_app depends on both freezed 1.1.1 and mocktail 0.2.0, version solving failed.)

Hi @pro100svitlo 👋
Thanks for opening an issue!
This is a duplicate of https://github.com/felangel/bloc/issues/3110#issuecomment-1004381832 and is due to an incompatibility between flutter test and analyzer ^3.0.0.

Oh, got it.
Thanks for the fast reply and for the package it self 🙏
Have a nice day!


Add .preventDefault() on scan and swipe methods

Everytime we try to capture a barcode with a focused input the default action after that is to keypress enter. When working with <form>, this is a huge inconvenient because it will try to submit the form anyway. So here I take the keypressing response and execute a .preventDefault() so it won't try to enter (keypress == 13) anymore.
Great plugin btw, it will help me a lot.
Thanks!

Great addition. Thanks for adding this!


IonRasterOverlay error

Hi,
i tried cesium samples and everything worked out well,
so i decided to load a custom cdb by switching cesiumWorldTerrain source to "From url",
Put a valid filepath (file:///E:/etc.../tileset.json
on the output Log i get:
LogCesium: Loading tileset from URL [...]
LogCesium: Loading tileset from URL [...] done <- by this point i assume there is no problem with the file path
LogCesium: Warning: [2021-08-12 13:50:42.907] [warning] Only quantized-mesh terrain tilesets currently support overlays.
the above warning is printed a lot of time before i get the following error
LogCesium: Error: [2021-08-12 13:56:44.070] [error] [IonRasterOverlay.cpp:71] Ion raster overlay metadata response type is not 'IMAGERY', but unknown
i searched and found the file type i use is not supported (b3dm)
my problem is that this broke cesium for my computer ... map 1 and 5 of the cesium sample are broken (nothing is displayed), if i do the steps again by creating a level, adding a blank 3D tileset and filling the parameters for the world it still doesn't work. Every time, i get the above error. Even if i delete the project and download the cesium sample again, i get the same error and nothing is displayed.
As i couldn't find an answer for this on my own, i ask you for some help!

Hello @Jesus-tatherium! Some of the errors seem to indicate that you are attempting to drape raster overlay imagery over top of your new tileset, which is only supported for quantized-mesh (i.e. terrain tilesets like CesiumWorldTerrain). This makes sense since you changed the tileset source directly on the CWT actor, which previously had a component for the imagery overlay which would stop working when the tileset content type changes from quantized-mesh to b3dm.
However, b3dm should still work as long as the raster overlay component is not added to it.
Either way, this does not sound like the kind of issue which should completely break cesium for your computer. That may be a separate issue with the access token you are using. If you are using the ion access token from the samples project, it may suddenly stop working since it is only meant for demoing. We encourage users to create their own Cesium Ion account and generate their own access token. If that does not resolve your second issue, let me know.

Overlays on arbitrary tilesets should work now.


Changing the link role to "internal" gives 404

Infinite Scale 2.0.0-beta.8+1f53ec525 Community
ownCloud Web UI 6.0.0-rc.4
Steps:

create file or folder
create public link
change the role of the link to internal

Actual result:
request:
curl 'https://localhost:9200/ocs/v1.php/apps/files_sharing/api/v1/shares/VWHKBjPKgiGJrxo' \
  -X 'PUT' \
  --data-raw 'permissions=0&name=Link&expireDate=' \

response:
code 200. error in body response: <ocs><meta><status>error</status><statuscode>404</statuscode><message>no share permission</message></meta></ocs>

Fixed on master.

TODO QA team

[ ] add API tests for changing the role of the public link to internal

@roshanlc is working on adding the tests for this

Tests added in PR  https://github.com/owncloud/ocis/pull/5415


Bump the copyright date at the bottom of the ReadTheDocs pages

Fixed in #747. Thanks for reporting this, @BruceEckel.


Revert "Update OAuthPrompt.cs"

Reverts microsoft/botbuilder-dotnet#1579

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll

@mingweiw Can you add more detail here around "Why revert?" Why do we need to revert? Should we do anything else in place of the code we're reverting?
The original changes were made and verified with @jeffders, and if they're wrong we should figure out what to do.

Also, if we're reverting this here - what about the JS (any Python) codebase?

We need to create a new issue to track this change in both languages, etc.

In REviewing all of Jeff's recent email w/ teams, the code that's there appears to be correct. I don't think this PR is needed.


Implement Spark-compatible CAST from String to Decimal

What is the problem the feature request solves?
What is the problem the feature request solves?
We currently delegate to DataFusion when casting from string to decimal and there are some differences in behavior compared to Spark.

An input of 4e7 produces 40000000.00 in Spark, and null in DataFusion
Inputs of ., -, + and empty string produce null in Spark, and 0.0 in DataFusion
Input of 0 produces 0 in Spark, and null in DataFusion
Arrow-rs does not support negative scale (Cannot cast string to decimal with negative scale). We could choose to fallback to Spark for this use case (or if SQLConf.LEGACY_ALLOW_NEGATIVE_SCALE_OF_DECIMAL_ENABLED is enabled)

Describe the potential solution
No response
Additional context
I used the following test in CometCastSuite to explore this.
  test("cast string to decimal") {
    val values = generateStrings(numericPattern, 5).toDF("a")
    castTest(values, DataTypes.createDecimalType(10, 2))
    castTest(values, DataTypes.createDecimalType(10, 0))
    withSQLConf((SQLConf.LEGACY_ALLOW_NEGATIVE_SCALE_OF_DECIMAL_ENABLED.key, "true")) {
      castTest(values, DataTypes.createDecimalType(10, -2))
    }
  }

Describe the potential solution
No response
Additional context
No response

Hi, I'd like to contribute to this!

Thanks @kevinmingtarja.
You can take a look at @andygrove's PR as a reference https://github.com/apache/datafusion-comet/pull/307

Current state for reference:
scala> import org.apache.spark.sql.types._
import org.apache.spark.sql.types._

scala> val inputs = Seq("", "0", "1", "+1.0", ".34", "-10.0", "4e7").toDF("n")
inputs: org.apache.spark.sql.DataFrame = [n: string]

scala> inputs.write.mode("overwrite").parquet("test.parquet")
24/04/28 11:46:51 INFO src/lib.rs: Comet native library initialized

scala> val df = spark.read.parquet("test.parquet")
df: org.apache.spark.sql.DataFrame = [n: string]

scala> val df2 = df.withColumn("converted", col("n").cast(DataTypes.createDecimalType(10, 2)))
df2: org.apache.spark.sql.DataFrame = [n: string, converted: decimal(10,2)]

scala> df2.show
+-----+---------+
|    n|converted|
+-----+---------+
|-10.0|   -10.00|
| +1.0|     1.00|
|  .34|     0.34|
|  4e7|     null|
|    1|     1.00|
|    0|     0.00|
|     |     0.00|
+-----+---------+

scala> spark.conf.set("spark.comet.enabled", false)

scala> df2.show
+-----+-----------+
|    n|  converted|
+-----+-----------+
|-10.0|     -10.00|
| +1.0|       1.00|
|  .34|       0.34|
|  4e7|40000000.00|
|    1|       1.00|
|    0|       0.00|
|     |       null|
+-----+-----------+

Note: I encountered a java.lang.AssertionError: assertion failed: Decimal$DecimalIsFractional on the second df2.show, but it seems like a known issue and can safely be ignored: https://kb.databricks.com/scala/decimal-is-fractional-error

Hi @kevinmingtarja, are you working on this issue? If not, I would like to work on it. Thank you.

Hi @kevinmingtarja, are you working on this issue? If not, I would like to work on it. Thank you.

Hey, i don't think i have the bandwidth rn to complete this, so please feel free to work on it. I have made some progress here on a branch in my fork, so feel free to take inspirations from there as well if needed!

Hi @sujithjay, let me know if you are still working on this. I am happy to continue #615 and add you as a co-author. Let me know, thank you

I was looking at this issue and now - with comet and comet disabled shows same result -

+-----+-----------+
|    n|  converted|
+-----+-----------+
|-10.0|     -10.00|
| +1.0|       1.00|
|  .34|       0.34|
|  4e7|40000000.00|
|    1|       1.00|
|    0|       0.00|
|     |       null|
+-----+-----------+

scala> spark.conf.set("spark.comet.enabled", false)

scala> df2.show
+-----+-----------+
|    n|  converted|
+-----+-----------+
|-10.0|     -10.00|
| +1.0|       1.00|
|  .34|       0.34|
|  4e7|40000000.00|
|    1|       1.00|
|    0|       0.00|
|     |       null|
+-----+-----------+

But even with comet enabled it does not go through DataFusion as it is marked as incompatible, I then checked this in the DataFusion project the following queries
query TR
select arrow_typeof(cast(4e7 as decimal(10,2))), cast(4e7 as decimal(10,2));
----
Decimal128(10, 2) 40000000

works fine  but the following one if I add a '4e7' as shown below it throws arrow-error
External error: query failed: DataFusion error: Arrow error: Cast error: Cannot cast string '4e7' to value of Decimal128(38, 10) type

[SQL] select arrow_typeof(cast('4e7' as decimal(10,2))), cast('4e7' as decimal(10,2));

I think, if we add the functionality for string to decimal in arrow-rs, then the above error would be resolved and also this issue will be addressed. Previous attempt to fix this issue  was made on DataFusion project. Can someone please help me understand, why aren't we fixing it in arrow-rs project?

I think, if we add the functionality for string of this format to decimal in arrow-rs, then the above error could be resolved and also this issue will be addressed. Previous attempt to fix this issue was made on DataFusion project. Can someone please help me understand whether the fix can be applied in arrow-rs and use the cast from there?

It makes sense to me for arrow-rs to support casting 4e7 as decimal. There was actually a discussion about this in https://github.com/apache/datafusion/issues/10315

take, this arrow-pr should fix one.


Did you get my message?

Hi Antonio,
I've sent you an email on UXDX a few days ago and I'm wondering if you had a chance to read it; I'm afraid it might have been marked as spam.
I would like to say thank you for being involved in Open Source and discuss something regarding our conference.
Could you please double check your email or drop me a message at<EMAIL_ADDRESS>Thanks in advance,
Catherine

This should be sorted! Nice one anyway, works better than emails!
Thanks for the notification!