Setting drill down in option and do mergeOption not working

I know that drill down is working because it works if I set directly in myOptions inside template
<template>
      <vue-highcharts :highcharts="Highcharts" :options="myOptions" ref="vueHighcharts"/>
</template>```

// in script
data() {
    return {
      // ...
      myOptions: {
          // ...
      }
   }
}

However, I want to set drill down dynamically by setting myOptions and mergeOption. And this does not work!
this.myOptions.drilldown.series = this.chartData.drilldown;
this.hichart.mergeOption(this.options);

Any guide how to do this?
Thanks in advance
Haris

Can you provide any online code? Or you can fork Vue-highcharts Demo

Sorry, was sidetracked by other stuff. Will get back once I got something working with the demo fork!

Hi again @superman66 , took me so long to get back to you.
It turns out mergeOption function is working when I modify the vue-highcharts-demo code given by you.
Since I have problem with sandbox link that you share with me. I put my testing code in Github. My test code is in LoadModuleChart.
I add 2 button to change the series and drilldown serries. The functions to change is in methods
Thanks and I am going to close this issue. Must be something wrong with my code since it works in the demo.


bug: Users Can Edit Generated Code Within Code Blocks

Bug Report
Installation Method
Docker
Environment

Open WebUI Version: 0.4.2

Confirmation:

[x] I have read and followed all the instructions provided in the README.md.
[x] I am on the latest version of both Open WebUI and Ollama.
[ ] I have included the browser console logs.
[ ] I have included the Docker container logs.
[x] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:
When the LMM generates code within a block, I should only be able to edit it by modifying the model message
Actual Behavior:
The user can edit the code, but when the page is refreshed, it reverts to the version generated by the LMM
Reproduction Details
Steps to Reproduce:

Request the LMM to generate any code.
Wait for the response to arrive.
Navigate to the generated code and make edits.

Logs and Screenshots
Screenshots/Screen Recordings (if applicable):
In this screenshot, I am requesting the LMM to generate code

In this screenshot, I am adding a new line

Additional Information
This issue also occurred prior to the 0.4.x update, indicating that it was not introduced in this version. It is present in both desktop and mobile browsers, so it is not related to any specific browser.

Intended behaviour

Understandable, thanks a lot!!


Move page title to right next to blog name on the page head area

Move page title (e.g. AllPosts, Edit and Create) to right next to blog name in the page head area.

Solved by https://github.com/ymita/Lifelog/commit/7f8d3e848eb025eec8ee78a78b82823d3551e512.


Terrible magic of plug#end()

According to the documentation, plug#end() should only add the plugins to &runtimepath, but it also includes commands filetype plugin indent on and syntax enable.
It might be sensible to someone else, since it help them to simplify their .vimrc, but when it comes to debugging, the only way to disable them is by changing the code inside vim-plug.
I got this because I found comment the line filetype plugin indent on in my own .vimrc refuse to work after I use vim-plug, that confuse me a lot.
Please, at least add documentation for that.

I'm not sure what really is the problem. Having extra filetype plugin indent on in your .vimrc is unnecessary but it does not break anything and it barely affects the startup time.

the only way to disable them is by changing the code inside vim-plug

...
call plug#end()
filetype off
syntax off

I have mixed feelings about your suggestion on the documentation; make it as complete as possible vs. do not waste people's time with implementation details they don't need to care. I'll just update the sentence to describe what it does in an abstract way.

@junegunn could we possibly reopen?
I do have an actual issue.. I don't mind it setting syntax on or even filetype on, but it actually seems to enable some kind of autoindent behaviour for me which is definitely not what I want.. (and I don't know how to undo that)
Calling plug#end seem to enable indentexpr, indentkeys, suffixesadd, include, includeexpr, formatoptions, comments, commentstring and balloonexpr.  See :help :filetype-overview.

@junegunn could you please add this to the README? Took me ages to find that your plugin was doing this.

@junegunn, if that command is not necessary for your script to work and harms your users you should remove it.

Links to the offending line(s?°):
Permalink: https://github.com/junegunn/vim-plug/blob/a4aac4cf567bb060356694991064f687f8758a81/plug.vim#L276
Current revision: https://github.com/junegunn/vim-plug/blob/master/plug.vim#L276
° (Dunno if the syntax enable 3 lines below  could also cause trouble for some users.)

This issue is pointed out in a popular thread on the vi StackExchange since recently (by @laktak): http://vi.stackexchange.com/questions/388/what-is-the-difference-between-the-vim-plugin-managers?noredirect=1&lq=1#comment18609_397

@junegunn, you may also want to tack the

…  and initialize plugin system

plug#end() description supplement, from your above Jan 14 issue-closing commit https://github.com/junegunn/vim-plug/commit/03504f26b1f5f7d17e21fbf4bee27a45172d8348, onto the respective comment a few lines below, in the vim-plug vimrc section  code example: https://github.com/junegunn/vim-plug/commit/03504f26b1f5f7d17e21fbf4bee27a45172d8348?diff=unified#diff-04c6e90faac2675aa89e2176d2eec7d8R92

It's a design choice I made from the beginning ("Should be easier to setup, require less boilerplate code") when I started vim-plug, and changing it now will break many users' configurations. I can understand that some don't like it, but there are also others, myself included, who like the idea that vim-plug does the things that are required to enable most plugins. vim-plug is not just a runtimepath manager, but a plugin manager that is responsible for setting up the environment where plugins work out of the box without extra configuration, so I don't think it's an abomination that it enables some settings most plugins require. I can add more description to the README page though.
As pointed out in the above, you can easily undo the things plug#end() does with just a single line in your configuration. And vim-plug is an open-source after all, you can always change it to your liking.
Also related: #83, #156

@junegunn that was a very reasonable way to handle it.

see: #1083 Stop Turning syntax on

It's a design choice I made from the beginning ("Should be easier to setup, require less boilerplate code") when I started vim-plug, and changing it now will break many users' configurations. I can understand that some don't like it, but there are also others, myself included, who like the idea that vim-plug does the things that are required to enable most plugins. vim-plug is not just a runtimepath manager, but a plugin manager that is responsible for setting up the environment where plugins work out of the box without extra configuration, so I don't think it's an abomination that it enables some settings most plugins require. I can add more description to the README page though.
As pointed out in the above, you can easily undo the things plug#end() does with just a single line in your configuration. And vim-plug is an open-source project after all, you can always change it to your liking.
Also related: #83, #156

Which plugins don't work with auto indent on? Surely those plugins document their requirements, or set the setting as required. If not then those plugins will only work with vim-plug.
Are you not confusing filetype plug on with ``filetype indent on`?
Judging by the response from the community response, it is a surprising and unrelated behaviour. It's like say I make a color theme plug in that changes your tab indentation. It's a serious abstraction code smell.

Which plugins don't work with auto indent on?

All language-support plugins with indent files.

https://github.com/fatih/vim-go/blob/feef9b31507f8e942bcd21f9e1f22d587c83c72d/doc/vim-go.txt#L2573-L2577
https://github.com/vim-ruby/vim-ruby/issues/214#issuecomment-115276430
https://github.com/rust-lang/rust.vim/blob/889b9a7515db477f4cb6808bef1769e53493c578/README.md?plain=1#L11-L17
https://github.com/guns/vim-clojure-static/blob/fae5710a0b79555fe3296145be4f85148266771a/README.markdown?plain=1#L47-L53
https://github.com/dag/vim-fish/blob/50b95cbbcd09c046121367d49039710e9dc9c15f/README.md?plain=1#L26-L33

All these plugins encourage their users to put filetype plugin indent on and syntax enable in the configuration file.

Judging by the response from the community response

You're only looking at one side of the story. On the other side, there are a bunch of users scratching their heads why their Vim is not indenting the lines as expected, not syntax highlighting the code after they installed language-support plugins.


Fixes for 3.0.7

[x] Various js errors in detailed stats page

Fixed in #749

Fixed & Deployed


thuang-math-file-size

Reviewers
Functional:
@seve
Readability:
@Bento007

Changes

modify
Change the file size calculation to use the correct formula
E.g., Math.round(402210784 / 2 ** 20) outputs 384MB

PTAL thank you!

Oh yes 😆 Thank you so much for catching that, @seve ! The one time I skipped testing the UI due to handling prod deployment at the same time lol Never again 🤣
Thanks both!

Oh yes 😆 Thank you so much for catching that, @seve ! The one time I skipped testing the UI due to handling prod deployment at the same time lol Never again 🤣
Thanks both!

Ooh I see, so we're just missing an LGTM 😆 I'll force merge this one. Thanks all!

Ooh I see, so we're just missing an LGTM 😆 I'll force merge this one. Thanks all!


CSRF in meta tag

Hi, I'm trying to use the below code
App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
  headers: Ember.computed(function(){
    var token = Ember.$('meta[name="csrf-token"]').attr('content');

    return {"X-CSRF-Token": token};
  })
});

but in my Ember app, the csrf token is not defined in a meta tag I suppose? Bottom line is token is always undefined. Still learning here, but I followed the README exactly (no extra steps). What steps must I take to embed this into html?
I have an ember-cli / rails backend set up.

@joshpfosi manage to solve this? I am on the same boat

No! I tabled it since this issue, but cannot solve it!

@joshpfosi @krzkrzkrz  at the moment there is no option to configure that, you can easily copy this and customize it to your own app  :).

@abuiles what do you mean by "there is no option to configure that"? What is "that" in reference to?


Adds requirer charm to the integration tests

Description
Adds requirer charm to the integration tests:

Checks if certificate is provided using the get-certificate action of the tls-requirer-operator charm

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] I have added tests that validate the behaviour of the software
[x] I validated that new and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

The CI requires the fix in https://github.com/canonical/tls-certificates-requirer-operator/pull/11 to pass.


Document chess-tui

Problem
It is currently kind of hard to enter chess-tui, it would be nice to create proper documentation as part of a big refactor of the current code

Closing since this is now a milestone splitted in multiple issues


feat: add in more functionality for UpdateResourceMonitor

resource_monitor now can update without creation and delation for

notify_users
suspend_triggers
notify_triggers
set_for_account
warehouses

Also fixed a typo in a comment implents to implements
Test Plan

[x] acceptance tests

References

https://github.com/Snowflake-Labs/terraform-provider-snowflake/issues/1310
https://github.com/Snowflake-Labs/terraform-provider-snowflake/issues/876

@sfc-gh-swinkler Addressed all your feedback.


[transferring] Implement transferring result and clean up transferring param support by making transferring a bit on param instead of a ParamSpecifier.

Instead it is a bit on ParamDecl and SILParameterInfo. I preserve the consuming
behavior by making it so that the type checker changes the ParamSpecifier to
ImplicitlyCopyableConsuming if we have a default param specifier and
transferring is set. NOTE: The user can never write ImplicitlyCopyableConsuming.
NOTE: I had to expand the amount of flags that can be stored in ParamDecl so I
stole bits from TypeRepr and added some logic for packing option bits into
TyRepr and DefaultValue.

Need to do the swift-syntax changes as well.

Talked with @ahoppen and they are ok with this going in without swift syntax support.

@swift-ci smoke test

@swift-ci smoke test

@swift-ci test windows platform


Bump jenkinks plugin to backstage version 1.28.3

Hey, I just made a Pull Request!

Update Jenkins dev environment and Jenkins plugin to backstage version 1.28.3.
Fix package publishing for Jenkins plugin by adding pluginId in package.json
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Fix package publishing issue with Jenkins plugin https://github.com/backstage/community-plugins/actions/runs/9682269435/job/26714981647


Fix amounts overflow

Purpose
This PR migrates all the amount-related long fields to BigInteger.
Currently, all the amounts are stored in long which is a 64-bit signed integer in Java. While it does the thing for small CCD amounts a typical user can face, CIS-2 tokens break it. In testnet, we have ETH.eth token with precision of 18. Having 100 ETH.eth on the balance overflows long and causes the wallet to crash.
Changes

Migrated account balances, token balances, transaction amounts, etc. from long to BigInteger
Migrated related database INTEGER fields to TEXT (auto migration)
Added Gson and Room type adapters for BigInteger
Fixed hardcoded 6 decimals in CurrencyUtil
Fixed limit of 6 decimals in CurrencyUtil amount regex
Added CurrencyUtil unit tests for extreme amounts
Added balance test to the AccountDaoUnitTest

Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

CLA acceptance
_Remove if not applicable.
By submitting the contribution I accept the terms and conditions of the
Contributor License Agreement v1.0

link: https://developers.concordium.com/CLAs/Contributor-License-Agreement-v1.0.pdf

[x] I accept the above linked CLA.

please rebase PR

Conflicts with CIS-2 have been resolved


Crates.io link in README.md is wrong

Hello,
I don't know if you noticed, but the badge link in your readme redirects to https://crates.io/crates/cargo-readme not to https://crates.io/crates/mysql_common, the displayed version on the badge seems good tho.
Have a nice day !

The offending line seems to be there: https://github.com/blackbeam/rust_mysql_common/blob/7f365a661dde8312cc2646cf4bae4e9144013bd1/README.tpl#L3

Oh! Thanks.


ci: Fix docs fail issue formatting

The message should go before the url.
See pre-edit message in https://github.com/CQCL/guppylang/issues/680.

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

Project coverage is 92.75%. Comparing base (b0f041f) to head (aaa42da).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #686   +/-   ##
=======================================
  Coverage   92.75%   92.75%
=======================================
  Files          68       68
  Lines        7720     7720
=======================================
  Hits         7161     7161
  Misses        559      559

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


Using a dot notation to chain getters

I was wondering if it would be possible to implement an upgrade to the .get api so that users will be able to do something like props.get('one.two.three') with Immutable.js.
It would potentially be implemented similar to the lines of lodash's api.
What do you guys think? I apologize if this is already a duplicate.

You can use the getIn syntax to pass a keyPath as an array of key values. Your example would look like props.getIn(['one','two','three']). https://facebook.github.io/immutable-js/docs/#/Iterable/getIn

I think the support for also dot notation would be a good upgrade to the API. Other libraries are using it, it is nicer to read and feels more intuitive.
Would you be willing to support both ways?

props.getIn(['one','two','three'])
props.getIn('one.two.three')

It would be a backwards compatible API addition.

Yes. This would be better than doing manually each time :
props.getIn('one.two.three'.split('.'))

I really don't think it makes sense to support the dot notation API. getIn is more flexible with iterables, as they can be dynamically generated with powerful built in JS APIs. In addition, immutable can use non-strings as keys in most objects. Using dot notation isn't even possible in many of those cases.

I don't understand what you mean by this:

getIn is more flexible with iterables, as they can be dynamically generated with powerful built in JS APIs.

Do you have an example?
The dot notation is pretty common in many libraries including lodash _.get method, which makes it intuitive to use. How common is it that someone uses non-strings as keys? In my opinion the API could bend a little in this case instead of strictly consistent with marginal use cases(I'm roughly assuming that it is marginal to have non-string keys, don't have any backing data).
In any case, supporting this and making a note that the dot notation only works with string keys would be a big improvement for using this the getIn, setIn, etc. methods.

const getFieldByID = (id, field) => _privateThing.getIn([id, field]);
const getNestedEncryptedFields = (...args) => _privateThing.getIn(args.map((key) => decrypt(key));

lodash definitely implements "casting" the dot notation to an array. It just doesn't seem like it provides any real advantage over an iterable. It's more work to create them if you want them to by dynamic and it's always more work for the library to use them.

This is unfortunately not something we're going to do, as the performance of get and getIn are critical, and doing type sniffing on the input would be a serious performance loss.
I recommend writing a function like:
function p(path) {
  return path.split('.');
}

so you can write: `getIn(p('a.b.c'))`

Thanks for the responses. +1 for keeping the performance good. A custom function for the job solution sounds the way to go :+1:

What about using a Proxy query wrapper over a given object, so you could use ES6 Proxy dot access to perform context-origin-specific setter operations + current target getter operations). That way, you can code using regular dot syntax without relying on get/getIn() or set/setIn() function calls.
function imProxy(immutable) {
// ...
//  actual transformed structure can become something like: {origin:rootImmutable, chain:["someProperty", "someNestedProperty"], current:currentSelectedImmutable} upon accessing nested object properties within this Proxy down the dot access chain.
// by default
return new Proxy({current:immutable}, {  someStandardJSManagementHooksForQueryingImmutables } );
}
// Assuming you're performing a mutation operation on a root state atom..
someImmutable.withMutations(  function(someImmutable) {
   var root= imProxy(someImmutable);  // define an origin for the query
   root.c= 4;     // actually calls current.set("c", 4) from proxy, where current is someImmutable.
   var nestedQuery = root.someProperty;
   nestedQuery .v= 2;  // after retrieving another Proxy with root.someProperty, forming an origin+query chain, actually calls   origin.setIn(["someProperty, "v"], 2); , where origin is still someImmutable
   nestedQuery.someNestedProperty.b = 3; // after retrieving another Proxy with nestedQuery.someNestedPropert,. extending the query chain, actually calls      origin.setIn(["someProperty", "someNestedProperty", "v"], 2);
   root.someProperty.someNestedProperty = 2;  // actually does the same thing above, but re-queries everything from root rather than using the previous nested dot query cache var.
});

I'm not sure if that is a good idea, as  Proxy cannot be polyfilled.  There is a project that tried to achieve this, but it's terrible in performance and recommended to not be used in production code.

If proxying over an unrestricted Map, it would be a problem without es6 Proxy, since u can't polyfill a es6 proxy exactly. If however the  properties of the immutable structs are known beforehand ,, ( somewhat like https://github.com/GoogleChrome/proxy-polyfill proxy polyfill   implementation with such  a requirement   ),  it does imply that actually a full es6 Proxy isn't  entirely necessary either for such a case,  but, simply a wrapper/manager class  with automatic prop set-up es5 getters/setters  over the known existing immutable struct would do the same thing as well.


What about parallel updates

Hi there,  @unclecode   !
I noticed that the library has been updated to 0.3.73, 'Parallel Power: Supercharged multi-URL crawling performance', what are the specific updates in 'multi-URL crawling'? I used 'crawler.arun_many' to get 40 links in version 0.3.72 and it took 8-10 seconds, but updating to '0.3.73' does not reduce the runtime, does it need more links?
I now want to reduce the time spent on multiple link crawls as much as possible.
I have asked you many times about this library.  Thank you very much for your patient responses!

Hey @1933211129 no worries, all questions as long as relevant to Crawl4ai are welcome 😃. Let’s do this: send me a set of links you’re currently crawling, and on your end, run it a few times to get the average time it takes to retrieve all results. I’ll test it with the same links on my end, compare the results, and then suggest the best approach.
As for updates, we’ve made some minor performance improvements, especially with algorithm adjustments that make things a bit faster. We’re also prepping the scraper module, it’s done, and I’m currently reviewing the code after receiving the pull request from collaborators. That should be available soon.
So, send me the links and the average time it takes for you, and I’ll give it a try on my side.

Thank you so much for getting back to me quickly. I'm sorry that all the URLs I tested are from websites in mainland China. I'm in Beijing, so when I test with international URLs, it’s hard to tell if the longer runtime is due to network lag or the code itself. Using a VPN hasn’t really helped either.
For some reason, the average time to crawl these 40 links has now jumped to about 40 seconds. I ran the test 20 times, and it consistently averaged around 43 seconds.
Our team is eager to get crawl4ai working in a real application,and my advisor is pushing me, so I don’t have much time to dive into the original code. As a student, I’d love to learn the principles behind it, but right now, I really need more of your help. Thanks again!
test_parallel.txt
The code is in 'test_parallel.txt'

@1933211129 understood, I'll check your links this weekend and hopefully provide good results to help you.

Thank you for your prompt response and willingness to assist. I understand that you have a busy schedule, so please do not feel rushed.
I truly appreciate your help and look forward to any guidance or feedback you may provide based on your assessment.
---- Replied Message ----
| From | @.> |
| Date | 11/08/2024 20:22 |
| To | @.> |
| Cc | YuanBo<EMAIL_ADDRESS>|
| Subject | Re: [unclecode/crawl4ai] What about parallel updates (Issue #239) |
@1933211129 understood, I'll check your links this weekend and hopefully provide good results to help you.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @1933211129 I am testing on links you shared with me. What is the desire "total duration" you have in your mind for this 40 urls that you have shared?

I'm sorry I just saw your reply. I ran the test 20 times, and it consistently averaged around 43 seconds. This is a bit too long, I expect the total run time to be around 10-20 seconds.
| |
.
|
|
@.***
|
---- Replied Message ----
| From | @.> |
| Date | 11/11/2024 15:20 |
| To | @.> |
| Cc | YuanBo @.>,
@.> |
| Subject | Re: [unclecode/crawl4ai] What about parallel updates (Issue #239) |
Hi @1933211129 I am testing on links you shared with me. What is the desire "total duration" you have in your mind for this 40 urls that you have shared?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Ok got it, so you are looking for 10-20 seconds for total crawling of these 40 links, checking...

@1933211129 I hope you are doing well. It has been a busy week. A lot of improvements are being applied in the library, and especially the processing time of the scraping has become a lot faster, below 100 milliseconds. I'm very happy about that. And the only time element I can't control is when we have to wait to fetch the data from the internet. It's very relevant to the servers and bandwidth on the internet that you are running them on.
I tested some of your links; some of them I couldn't open. They go to a loading screen, even in browsers. Some of them are really slow. Usually in production this is what we do:
First of all, try to filter out websites whose servers are very slow. Because bringing them into the game impacts negatively on the asynchronous process that handles parallelism. So you put them out and create a good enough list of good pages, and you crawl them all, then you go for the second batch of those slow web pages and web servers. Then you set a page timeout to an acceptable amount, like 20 seconds. This way, you cut out those various low-upside ones and leave them aside, and finally, you handle those various slow ones in the last batch in a separate crawl process. In this way, you're not putting the entire crawling process on hold, waiting for these slow websites.

import os, sys
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(parent_dir)
__location__ = os.path.realpath(
    os.path.join(os.getcwd(), os.path.dirname(__file__)))
import asyncio, time
# from ..crawl4ai import AsyncWebCrawler
from crawl4ai import AsyncWebCrawler, CacheMode

async def test_concurrent_crawling_performance():
    async with AsyncWebCrawler(verbose=True) as crawler:
        urls = [
    "https://news.gmw.cn/2024-10/31/content_37647561.htm",
    "https://www.bistu.edu.cn/xysx/449105.html",
    "http://www.las.cas.cn/news/fwcx/202410/t20241031_7411933.html",
    "http://www.las.cas.cn/news/fwcx/202410/t20241031_7411861.html",
    "http://politics.people.com.cn/n1/2024/1101/c1001-40351585.html",
    "http://politics.people.com.cn/n1/2024/1101/c1001-40351586.html",
    "http://politics.people.com.cn/n1/2024/1101/c1001-40351587.html",
        ]

        results = await crawler.arun_many(
            urls=urls,
            cache_mode=CacheMode.BYPASS,
            page_timeout=20000
        )
        print(len(results))

asyncio.run(test_concurrent_crawling_performance())

Here on my machine I got this result:
[INIT].... → Crawl4AI 0.3.74
[INIT].... → Warming up AsyncWebCrawler
[READY]... ✓ AsyncWebCrawler initialized
[INIT].... → Starting concurrent crawling for 7 URLs...
[PARALLEL] Started task for https://news.gmw.cn/2024-10/31/content_37647561.ht...
[PARALLEL] Started task for https://www.bistu.edu.cn/xysx/449105.html...
[PARALLEL] Started task for http://www.las.cas.cn/news/fwcx/202410/t20241031_7...
[PARALLEL] Started task for http://www.las.cas.cn/news/fwcx/202410/t20241031_7...
[PARALLEL] Started task for http://politics.people.com.cn/n1/2024/1101/c1001-4...
[PARALLEL] Started task for http://politics.people.com.cn/n1/2024/1101/c1001-4...
[PARALLEL] Started task for http://politics.people.com.cn/n1/2024/1101/c1001-4...
[FETCH]... ↓ Live fetch for http://politics.people.com.cn/n1/2024/1101/c1001-40351585.html... | Status: True | Time: 2.02s
[SCRAPE].. ◆ Processed http://politics.people.com.cn/... | Time: 125ms
[COMPLETE] ● http://politics.people.com.cn/... | Status: True | Total: 2.19s
[FETCH]... ↓ Live fetch for http://www.las.cas.cn/news/fwcx/202410/t20241031_7411861.html... | Status: True | Time: 2.05s
[SCRAPE].. ◆ Processed http://www.las.cas.cn/news/fwc... | Time: 105ms
[COMPLETE] ● http://www.las.cas.cn/news/fwc... | Status: True | Total: 2.20s
[FETCH]... ↓ Live fetch for http://politics.people.com.cn/n1/2024/1101/c1001-40351586.html... | Status: True | Time: 2.29s
[SCRAPE].. ◆ Processed http://politics.people.com.cn/... | Time: 119ms
[COMPLETE] ● http://politics.people.com.cn/... | Status: True | Total: 2.46s
[FETCH]... ↓ Live fetch for http://politics.people.com.cn/n1/2024/1101/c1001-40351587.html... | Status: True | Time: 2.62s
[SCRAPE].. ◆ Processed http://politics.people.com.cn/... | Time: 106ms
[COMPLETE] ● http://politics.people.com.cn/... | Status: True | Total: 2.77s
[FETCH]... ↓ Live fetch for http://www.las.cas.cn/news/fwcx/202410/t20241031_7411933.html... | Status: True | Time: 6.73s
[SCRAPE].. ◆ Processed http://www.las.cas.cn/news/fwc... | Time: 99ms
[COMPLETE] ● http://www.las.cas.cn/news/fwc... | Status: True | Total: 6.87s
[FETCH]... ↓ Live fetch for https://news.gmw.cn/2024-10/31/content_37647561.htm... | Status: True | Time: 10.34s
[SCRAPE].. ◆ Processed https://news.gmw.cn/2024-10/31... | Time: 75ms
[COMPLETE] ● https://news.gmw.cn/2024-10/31... | Status: True | Total: 10.44s
[FETCH]... ↓ Live fetch for https://www.bistu.edu.cn/xysx/449105.html... | Status: True | Time: 16.49s
[SCRAPE].. ◆ Processed https://www.bistu.edu.cn/xysx/... | Time: 124ms
[COMPLETE] ● https://www.bistu.edu.cn/xysx/... | Status: True | Total: 16.67s
[COMPLETE] ● Concurrent crawling completed for 7 URLs | Total time: 16.68s

Here I have rounded up seven links. Total took around 16 plus seconds, let's say 17 seconds, which by average is around 2.4, 2.5 seconds per URL, which is pretty good. But I need you to pay attention to exact numbers. Look at those lines that start with the [FETCH]. Those lines are explaining how long we spent for the browser to load the page, which basically means how long it took the web server behind the URL to respond back to us and you can see that some of these links, some of their services, are very slow; one of them took like 10 seconds, the majority of them around two to three.
Then look at these lines starts with [SCRAP]; those lines that started to scrape show how long it took for the crawl4ai to do the job. As you can see, that's around 100 milliseconds, that's very fascinating. So you have to look at these two numbers to see how you will get what you need.
This is version 0.3.74 and I'm going to release it tonight or tomorrow; then you can try it and use it, and in this way, you can understand what, where you are losing the time. And again, remember that this arun_many() function is not the best optimized way to run parallelism. I'm working on a parallel executor and I will release it very soon; if you use that one, it will be even faster. I hope this can help you.

Thank you for your kind words and wishes! I’ll definitely keep that in mind, and I wish you the best as well. If you have any questions about your projects, feel free to reach out! ☺

@unclecode I absolutely love this repo -- thank you for all the work!! Just wanted to ask on any progress on parallelizing run_amany more (and e.g. have a "number of url" threshold -- so that if there are some x% of urls successfully scraped they can be returned -- even if others are taking more time. This is essentially a "relative" version of introducing a countdown, which might be variable depending on the websites).
Regardless, keep up with the good work! Great repo

@edoardocontente Thank you for the kind words! Just to keep you updated, this month, we’re releasing a highly efficient component designed to execute crawling functions in parallel. It’s packed with features, but one key highlight is its ability to consider available memory and CPU, adapting dynamically during the crawling process.
It can also stream results from successful crawls, allowing it to continue as far as possible. By the end, you’ll have either all the URLs or just those with successful crawls. For failed attempts, there are adjustable mechanisms to retry them. This executor is going to be incredibly efficient, stay tuned!


consistency in  capitalization (vs. "doi")

A few GROBID code paths use "DOI", and a few use "doi".
I have a small patch I could cherry-pick and PR: https://github.com/bnewbold/grobid/commit/71d192d2d68cd42c5e9f9606aa081aa992a11d6b
Might be tricky if downstream users/parser have come to depend on this capitalization, though hopefully they haven't.

Thanks! The visible DOI (in final results) should be all in BiblioItem.java and TEIFormatter.java as far as I remember.


[Suggestion] Add widget

Hello,
I really love rain for its simplicity, but the one feature I'm missing is a widget. One with the same style of the application.
Thanks for reading me.

Hi, thanks for the nice words. I already have a widget in my plans #1.


bdd Code

'''bdd
Feature: My Feature
     Scenario: A Scenario
'''

Results in app.js:1 GET https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/components/prism-text.min.js net::ERR_ABORTED 404

unfortunately, no support for bdd at this moment. You're welcome to propose a PR for a fix


Detect fallback local loopback address correctly

In the previous PR, #71, local loopback address is
detected even though hosts file is empty, but
there is a case that hosts file is NOT empty
and localhost entry is missing. In such a case,
Coolio::DNSResolver.hosts("localhost") does not work
as expected. This PR should fix such case.

@repeatedly sorry for missing another test case, could you review, please?


Adopt colorblind-friendly default color cycle

Matplotlib 3 came and went without https://github.com/matplotlib/matplotlib/issues/9460 being fixed. @ftheis still can’t properly distinguish clusters made by scanpy.
The two designated colorblind-friendly colormaps in matplotlib look like this. An alternative would be to push red or green to the end of the current color cycle, so it only appears for 10+ clusters.
@mpetroff created a neat tool that could help to design a custom one if we decide the available ones are too ugly.

We're using a custom color map in scanpy by default, anyways: https://github.com/theislab/scanpy/blob/master/scanpy/plotting/palettes.py#L22.
It would, of course, be easy to change this, but then everything changes for everyone and many people will wonder why everything looks different now ("where is my green cluster?"). If we do it, we only exchange green with another color, so that at least all other colors will be unaffected...
I would have liked to wait until a major update, because I consider this breaking backward consistency, though...

I am partial color blind as well. So I second any initiative in this
direction.
On Tue, Dec 4, 2018 at 7:03 PM Alex Wolf<EMAIL_ADDRESS>wrote:

We're using a custom color map in scanpy by default, anyways:
https://github.com/theislab/scanpy/blob/master/scanpy/plotting/palettes.py#L22
.
It would, of course, be easy to change this, but then everything changes
for everyone and many people will wonder why everything looks different now
("where is my green cluster?"). If we do it, we only exchange green with
another color, so that at least all other colors will be unaffected...
I would have liked to wait until a major update, because I consider this
breaking backward consistency, though...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/theislab/scanpy/issues/387#issuecomment-444197487,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEu_1aBQoQxEiqx5gNfgpj2-tJvQZ2Ssks5u1rjXgaJpZM4ZA5qf
.

I don’t consider this breaking backwards compatibility. Everything is still in the same place, still has the same labels. Only the default color of the labels is different.
If we only switch the green or red color with another, most people won’t even notice.

I don’t consider this breaking backwards compatibility. Everything is still in the same place, still has the same labels. Only the default color of the labels is different.
If we only switch the green or red color with another, most people won’t even notice.

how about making green just a bit brighter/less bright to make it discernible from red for color-blind people? should not break much

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Fabian Theis
Institute of Computational Biology - http://icb.helmholtz-muenchen.de
Helmholtz Zentrum München and Depts. Mathematics&Life Sciences, TU München
Helmholtz Zentrum Muenchen
Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH)
Ingolstaedter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDirig.in Petra Steiner-Hoffmann
Stellv.Aufsichtsratsvorsitzender: MinDirig. Dr. Manfred Wolter
Geschaeftsfuehrer: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Heinrich Bassler, Dr. rer. nat. Alfons Enhsen
Registergericht: Amtsgericht Muenchen HRB 6466
USt-IdNr: DE 129521671

how about making green just a bit brighter/less bright to make it discernible from red for color-blind people? should not break much

I guess that would be best done by switching the green with another green somewhere down the list to not mess with the color map entirely. Not sure this is a general purpose fix for all types of colorblindness though, no?

try it yourself: https://addons.mozilla.org/de/firefox/addon/let-s-get-color-blind/

I'm fine with such rather small changes. This should indeed not bother people. Tell me when you decided on a green that satisfies @ftheis. We don't want to make this change multiple times... :wink:

Some colors of that cycle are too close for people with deuteranomaly (by far the most common type):
#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf

Normal
Deuteranomaly

red and green
blue and purple
orange and kakhi

Playing around a bit, it’s easy to get a version that works, e.g. #1f77b4 #ff7f0e #279e68 #d62728 #aa40fc #8c564b #e377c2 #7f7f7f #b5bd61 #17becf

Normal
Deuteranomaly

thanks Phil - as discussed before can you just change the red and green i.e. #ff7f0e #2ca02c which look virtually the same to people with deuteranomaly (incl me) by the two colors you suggested?

Am 06.12.2018 um 10:17 schrieb Philipp A<EMAIL_ADDRESS>Some colors of that cycle are too close for people with deuteranomaly (by far the most common type):
#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf
Normal	Deuteranomaly
• red and green
• blue and purple
• orange and kakhi
Playing around a bit, it’s easy to get a version that works, e.g. #1f77b4 #ff7f0e #279e68 #d62728 #aa40fc #8c564b #e377c2 #7f7f7f #b5bd61 #17becf
Normal	Deuteranomaly
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Fabian Theis
Institute of Computational Biology - http://icb.helmholtz-muenchen.de
Helmholtz Zentrum München and Depts. Mathematics&Life Sciences, TU München
Helmholtz Zentrum Muenchen
Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH)
Ingolstaedter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDirig.in Petra Steiner-Hoffmann
Stellv.Aufsichtsratsvorsitzender: MinDirig. Dr. Manfred Wolter
Geschaeftsfuehrer: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Heinrich Bassler, Dr. rer. nat. Alfons Enhsen
Registergericht: Amtsgericht Muenchen HRB 6466
USt-IdNr: DE 129521671

@ftheis So #ff7f0e and #2ca02c is the problem, rather than #d62728 and #2ca02c? The #ff7f0e is an orange which appears distinguishable from the rest (except #b5bd61) in the deuteranomaly simulated colours above.

when you use the firefox extension I quoted above, you’ll see that the orange and green are very similar for people with protanomaly, not deuteranomaly. so i guess fabian has the former, more rare thing. confirmed by fabian and the simulation, my changed colors seem to work well for both types.
so I assume the webtool can be used to design this. the only change from default in the parameters I made was that i removed the minimum lightness distance (making the colors not suited for completely color blind people, but having no cone cells, their vision is probably too bad to see our plots anyway.)

Fixed in 58fae77cc15893503c0c34ce0295dd6f67af2bd7


get enum error when converting model to mace

Before you open an issue, please make sure you have tried the following steps:

Make sure your environment is the same with (https://mace.readthedocs.io/en/latest/installation/env_requirement.html).
Have you ever read the document for your usage?
Check if your issue appears in HOW-TO-DEBUG or FAQ.
The form below must be filled.

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Linux Ubuntu 16.04
NDK version(e.g., 15c): android-ndk-r15c
GCC version(if compiling for host, e.g., 5.4.0):gcc version 5.4.0
MACE version (Use the command: git describe --long --tags):v0.10.0-0-g22e40d6
Python version(2.7): 2.7
Bazel version (e.g., 0.13.0): 0.13.0

Model deploy file (*.yml)
https://github.com/XiaoMi/mace-models/blob/master/mobilenet-v2/mobilenet-v2.yml

Describe the problem
get a enum.EnumBadKeyError when converting mobilenetv2

To Reproduce
Steps to reproduce the problem:
1. cd /path/to/mace
2. python tools/converter.py convert --config=/mnt/mace/mace-models/mobilenet-v2/mobilenet-v2.yml

Error information / logs
python tools/converter.py convert --config=/mnt/mace/mace-models/mobilenet-v2/mobilenet-v2.yml
Traceback (most recent call last):
  File "tools/converter.py", line 61, in <module>
    type=str)
  File "/usr/local/lib/python2.7/dist-packages/enum.py", line 199, in __init__
    raise EnumBadKeyError(key)
enum.EnumBadKeyError: Enumeration keys must be strings: [('tensorflow', 'tensorflow'), ('caffe', 'caffe'), ('onnx', 'onnx')]

Additional context
enum version is enum-0.4.7

Duplicated with https://github.com/XiaoMi/mace/issues/38#issuecomment-402455388

Duplicated with #38 (comment)

thanks

BTW, where can I find the converted model by "tools/converter.py" ?

@gzydsmz https://github.com/XiaoMi/mace-models


Add logging event EventResponseError

This event is logged whenever an azcore.ResponseError is created. The contents are from ResponseError.Error().
Add NewResponseErrorWithErrorCode to support creating ResponseErrors when the error code is in a non-standard location.

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to module CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

Fixes https://github.com/Azure/azure-sdk-for-go/issues/22286


chore: add open-vsx build and release steps

These steps release the extension to open-vsx as well.
Only thing you would need to do if you accept the PR:

create an account on open-vsx
claim the namespace
generate a token that is used by the workflow secrets.OVSX_TOKEN

[x] Create an accont on open-vsx
[x] Claim the namespace (chaitanya-shahare, raised an issue for it)
[x] Generate a token secrets.OVSX_TOKEN

I believe I'll be able to publish without being the owner of the namespace yet.


[Collections] listCollections always returns all configured collections

Motivation:
listCollections has optional identifiers that if specified, only those collections are supposed to be fetched. However, the current implementation always fetches all configured collections because the logic for determining "missing" collections is flawed.
Modification:
Fix logic such that listCollections returns all or a subset of collections depending on identifiers param.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


How to trigger error messages without the template?

I am trying to use Vue Concurrency with my Vue 3 / TypeScript / Quasar app.
Previously, I was handling the display of Task error messages in the template with a v-if like this:
<script setup lang="ts">
import { useTask, timeout } from 'vue-concurrency';
const throwError = async () => {
  await timeout(1); // Simulate async
  throw new Error('Ruh oh! Error.');
};
const exampleTask = useTask(function* () {
  yield throwError;
});
</script>

<template>
  <div v-if="exampleTask.last?.isError">
    {{ exampleTask.last?.error }}
  </div>
  <q-btn label="Run Task" @click="exampleTask.perform"></q-btn>
</template>

But now I am using Quasar Notify to display error messages in a popup. These popups are not written into the template. Instead they are triggered from the script, like this:
import { useQuasar } from 'quasar';
const $q = useQuasar();
const triggerNotification = (errorMessage: string) => {
  $q.notify(errorMessage);
};

But I don't know how to connect the error generated by the Task to the triggerNotification function.
To give a final overview, this is where the code currently stands, without knowing how to correctly connect the error generated by the Task to the triggerNotification function:
<script setup lang="ts">
import { useTask, timeout } from 'vue-concurrency';
import { useQuasar } from 'quasar';
const $q = useQuasar();
const triggerNotification = (errorMessage: string) => {
  $q.notify(errorMessage);
};
const throwError = async () => {
  await timeout(1);
  throw new Error('Ruh oh! Error.');
};
const exampleTask = useTask(function* () {
  yield throwError;
});
</script>

<template>
  <q-btn label="Run Task" @click="exampleTask.perform"></q-btn>
</template>

Do you have any guidance on how to get this working?

Ok I figured out I can chain a catch() on the end of every yield statement, like this:
<script setup lang="ts">
import { useTask, timeout } from 'vue-concurrency';
import { useQuasar } from 'quasar';
const $q = useQuasar();
const triggerNotification = (errorMessage: string) => {
  $q.notify(errorMessage);
};
const throwError = async () => {
  await timeout(1);
  throw new Error('Ruh oh! Error.');
};
const exampleTask = useTask(function* () {
  yield throwError().catch((err) => {
    triggerNotification(err.message);
  });
});
</script>

<template>
  <q-btn label="Run Task" @click="exampleTask.perform"></q-btn>
</template>

With this example it seems simple, but in real life I have many Tasks and each contains many yield statements within.
Do I have to chain a catch() on the end of each one?
That looks messy and verbose.

hi @BenJackGill

in real life I have many Tasks and each contains many yield statements within.

I think this depends on how you want to handle the errors. I sometimes use these popup notifications as well - they're good for cases when there's no relevant place to display the error, and especially if something breaks in the background.
So my workflow usally is 90% times - display error "in place" and use task.last.error. In the rest cases I do try catch inside the task and use something like your triggerNotification.
Buf if you plan to use triggerNotification a lot, it's indeed maybe not optimal to do so many try catch.
What you can do is wrap the entire task perform in a try catch.
<script setup lang="ts">
import { useTask, timeout } from 'vue-concurrency';
import { useQuasar } from 'quasar';
const $q = useQuasar();
const throwError = async () => {
  await timeout(1);
  throw new Error('Ruh oh! Error.');
};
const exampleTask = useTask(function* () {
  yield throwError().catch((err) => {
    triggerNotification(err.message);
  });
});

const save = async () => {
  try {
   await exampleTask.perform();
  } catch (e) {
    $q.notify(error.message);
}
};
</script>

<template>
  <q-btn label="Run Task" @click="save"></q-btn>
</template>

You'd be creating these wrapper functions a lot, so you can write some higher order function for it:
const performAndNotify = async (task, ...args) => {
  try {
  await task.perform(...args);
 } catch (error) {
  $q.notify(error.message);
 }
};

Then you can reuse this function at multiple places.

Sorry for my late reply, I was hit with Covid, but am better now.
Thanks for such a thoughtful answer. It was very helpful.

Great!:)

Would you be opposed to including event handlers as optional parameters? For example, here in TaskInstance.ts line 217:
if (e !== "cancel") {
        taskInstance.error = e;
}

If that also called any optionally attached event handlers then outside functions could hook in and request updates upon errors. Additionally, could define a global event handler for onError so one part of someone's application could receive notifications upon failures anywhere in their application.
If you're not opposed to the above I might spend some time implementing it and submitting a PR for it.

I think passing a callback like onError to one specific task could be a little bit antipattern. If you need that you probably want to have a wrapper function with
const myAction => {
  try {
   task.perform()
  } catch (e) {

  }
}

It's a bit more verbose but it enforces better logic flow I think.
But the global onError function is much needed I think. For proper error reporting to Cloud Services and other global error handling.
I also proposed it here:
https://github.com/MartinMalinda/vue-concurrency/issues/50#issuecomment-1044435299
Just from the top of my mind I'm not sure how to implement that. That functions has to be store somewhere. A lot of other plugins use the vue app instance for that that would require additional setup of app.use(vueConcurrency). But maybe there's a smarter way to achieve this.
PR or any ideas for this welcome!

It will likely be two PRs then, one for the global and another for the local.
I can see advantages to the local scoped event handler and even some use cases for it but I understand the issues that might arise from that pattern.

ok, sounds good 👍 for the local one it would be good to add a disclaimer to the docs not to overuse it


ci: update rook verion to v1.9.8

updating rook release version to latest release i.e v1.9.8
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

Required for https://github.com/ceph/ceph-csi/pull/3284


Decentralized Identity: JWT hardening

Feature Request
JWTs are used in EDC as means to authenticate IDS requests. The current implementation allows for a malicious entity that gets ahold of a JWT to impersonate the original sender, and thus send requests to any other participant. Two categories or impersonation attacks are possible depending on how the JWT used for the impersonation attack is obtained:

"JWT reuse": A malicious participant might reuse JWTs sent to him as provider, to send requests to other participants as a consumer impersonating the signer of the JWT.
"JWT leak": A malicious attacker that gets ahold of a leaked JWT token might use it to send request to any participant impersonating the signer of the JWT.

The goal of this story is to evaluate possible solutions for these two attack vectors and provide an implementation of the selected solution.
Which Areas Would Be Affected?
Decentralized Identity
Why Is the Feature Desired?
EDC complying with Decentralized Identity security standards
Solution Proposal
TBD in this story
Checklist

[ ] assigned appropriate label?
[x] Do NOT select a milestone or an assignee!

I think we should consider this scenario not only in the context of Decentralized Identity, but other JWTs, e.g. DATs.


Add Abiotic Factor

Description
Edit: Also created a PR in the steamcmd repo here: https://github.com/pelican-eggs/steamcmd/pull/4
Adds basic support for Abiotic Factor using Proton.
Also added a link to the official game server wiki in the README. It's a repository on (what appears to be) one of the developer's GitHub account, and was advertised in the official steam release announcement.
Note: that the install script downloads the sidecar INI file as the server does not create one by default (just uses the default values if the file doesn't exist). I'm adding the INI alongside such that it is pre-populated in the correct location for the end-user.
Closes https://github.com/pelican-eggs/eggs/issues/2926
Checklist for all submissions

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[X] Have you tested and reviewed your changes with confidence that everything works?
[X] Did you branch your changes and PR from that branch and not from your master branch?

If not, why?:

New egg Submissions

[X] Does your submission pass tests (server is connectable)?
[ ] Does your egg use a custom docker image?

[ ] Have you tried to use a generic image?
[ ] Did you PR the necessary changes to make it work?

[X] Have you added the egg to the main README.md and any other README files in subdirectories of the egg (e.g /game_eggs) according to the alphabetical order?
[X] Have you added a unique README.md for the egg you are adding according to the alphabetical order?
[X] You verify that the start command applied does not use a shell script

[ ] If some script is needed then it is part of a current yolk or a PR to add one

[X] The egg was exported from the panel

thank you for your PR, but indeed the steamcmd repo is the right one, notthign will be merged to this repo anymore.

Closing this as this is merged in the new steamcmd repo.


How is the classification rate, with different classifiers?

@db2882 can you add a readme to the OpenCV files folder with a brief description/note about each classifier (or at least the ones we might actually use) in that folder?


Add files via upload

Your checklist for this pull request
Author name
Jonah McDonald (With help from @Spectral)
Author:

A CHILD
About your game
It's a two player Tetris that was created mostly by someone else, then I went in and edited the code because I thought the game was to slow.
What is your game about?
A two player game were you try to stop the blocks from going over the top of the screen, by making lines across, you can eliminate your blocks from the playing field.

How do you play your game?
Left side uses WASD:
A: Moves block left
D: Moves block right
W: Rotate block
S: Drop block to the bottom of the screen
Right side uses IJKL
J: Moves block left
L: Moves block right
I: Rotate block
K: Drop block to the bottom of the screen
You gain a point if your opponents blocks fill up to the top ad break the barrier.
Get a full horizontal row of blocks to delete that row from the game.

Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[ ] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery
(Close, but I made a few changes to make the game run better)

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!
Thanks for your PR!

At my school at my coding/hacking club
On Tue, Jan 9, 2024, 7:24 PM Lucas @.***> wrote:

@.**** requested changes on this pull request.
Thanks for your PR! Where did you hear about Sprig?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/1375#pullrequestreview-1812226977,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHBGHFXY2NFQP76LAHN7VDYNXNSZAVCNFSM6AAAAABBTMXTVGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQMJSGIZDMOJXG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

I used the tetris game from the gallery, I was looking for inspiration, and
i really enjoyed the game. However, it took a very long time to finish
around. So I decided to try and make it go faster by changing some things
with the creators variables making the game progress much better in my
opinion then it used to. I then saw that day that my club was working with
sprig, and I could get my own. It sounded really cool so I decided to try
and submit my project out of curiosity if it would be possible to get a
sprig. I have an OK amount of coding experience for a freshman, and am
really into this kind of stuff.
On Thu, Jan 11, 2024, 8:34 PM Lucas @.***> wrote:

@.**** requested changes on this pull request.
Right:) Out of curiosity, did you use any game for inspiration? I noticed
that you didn't check "The code is significantly different from all other
games in the Sprig gallery https://sprig.hackclub.com/gallery (except
for games labeled "demo")."
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/1375#pullrequestreview-1817177452,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHBGHGZIRGA2CBL6PHLJY3YOCHJ5AVCNFSM6AAAAABBTMXTVGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQMJXGE3TONBVGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Right:) Could you wait a bit? I need a result of a check and it's failing...

Sure, my project isn't all that original, and most of the code is by
someone who coded something in the gallery.
On Fri, Jan 12, 2024, 6:39 PM Lucas @.***> wrote:

Right:) Could you wait a bit? I need a result of a check and it's
failing...
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/1375#issuecomment-1890146761, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHBGHE5H6UHDD5AL56CUZDYOHCSRAVCNFSM6AAAAABBTMXTVGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJQGE2DMNZWGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Sure, my project isn't all that original, and most of the code is by someone who coded something in the gallery.
…
On Fri, Jan 12, 2024, 6:39 PM Lucas @.> wrote: Right:) Could you wait a bit? I need a result of a check and it's failing... — Reply to this email directly, view it on GitHub <#1375 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFHBGHE5H6UHDD5AL56CUZDYOHCSRAVCNFSM6AAAAABBTMXTVGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJQGE2DMNZWGE . You are receiving this because you were mentioned.Message ID: @.>

Well, If the percentage is less than 50%, it is accepted, but only the test will tell us that:) But the test isn't fixed yet:(

Hey @ACHlLD! You'll need to make another game per comment above

Got it 👍, thanks!
On Thu, Jan 18, 2024, 8:51 PM Lucas @.***> wrote:

Hey @ACHlLD https://github.com/ACHlLD! You'll need to make another game
per comment above
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/1375#issuecomment-1899509859, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHBGHC5FA65MPSSYSVH6RTYPHGR5AVCNFSM6AAAAABBTMXTVGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJZGUYDSOBVHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

closing this PR due to inactivity. feel free to ping me and ask for this to be reopened and hopefully merged!


Fix documentation link

I am not sure if the previous link ever worked, but I would hope that docs.rs didn't just change the URL format. If that's the case, I should better fix the links of my crates too :D.

Heh, thanks! Just a mistake.


Crash: Computer player plays although game has already ended

A single crash report has been received for version 0.12.0. The report indicates that it is possible that ComputerPlayMoveCommand invokes the GoGame method play: although the game already is in GoGameStateGameHasEnded.

7 years after it was reported, this issue can now be safely considered obsolete.


Login to YoLink API with credentials from config doesn't work

Describe The Bug:
I'm always getting an error in the log file reporting problems logging into the yolink API using my credentials defined in my configuration.
The credentials are correct as I am able to send CURL commands to the yolink API using these credentials without any problem.
I am been using this plugin for months without problems and I only noticed this today. I even tried to generate new credentials in the YOLINK APP but the problem remains with these new credentials..
Logs:
9/26/2022, 5:39:05 PMYolink BridgeYoLinkYoLink plugin for HomeBridge version 1.2.11 (c) 2022 David A. Kerr Please report all bugs at https://github.com/dkerr64/homebridge-yolink/issues 9/26/2022, 5:39:05 PMYolink BridgeYoLink[verbose] Loaded configuration: {"platform":"YoLink","name":"YoLink","tokenURL":https://api.yosmart.com/open/yolink/token,"apiURL":https://api.yosmart.com/open/yolink/v2/api,"mqttPort":8003,"userAccessId":"ua_C850FC82C3B3493D95883F1XXXXXXXXX”,"secretKey":"sec_v1_v68aBqbFkxk2nXXXXXXXXX==","refreshAfter":1800,"allDevices":true,"verboseLog":true,"devices":{"d88b4cYYYYYYYYYb":{"name":"Swimming Pool","refreshAfter":300,"hide":"hydro"},"d88b4cXXXXXXXXXb":{"hide":true,"refreshAfter":3600}},"liteLog":true,"excludeTypes":["Hub","SpeakerHub"],"includeTypes":[],"enableExperimental":false,"deviceTemperatures":false,"powerFailureSensorAs":"Outlet","version":"1.2.11","garageDoors":[]}9/26/2022, 5:39:05 PMYolink BridgeYoLink[verbose] YoLinkAPI.constructor9/26/2022, 5:39:05 PMYolink BridgeYoLink[verbose] Loading accessory from cache:Leak Sensor9/26/2022, 5:39:05 PMYolink BridgeYoLink[verbose] Loading accessory from cache:Leak Sensor9/26/2022, 5:39:05 PMYolink BridgeYoLink[verbose] Loading accessory from cache:Swimming Pool9/26/2022, 5:39:05 PMYolink BridgeYoLinkLogin to YoLink API with credentials from config9/26/2022, 5:39:05 PMYolink BridgeYoLink[verbose] SENDING: grant_type=client_credentials&client_id=ua_C850FC82C3B3493D95883F1XXXXXXXXX&client_secret=sec_v1_v68aBqbFkxk2nXXXXXXXXX%3D%3D9/26/2022, 5:39:05 PMYolink BridgeYoLinkRetry bound tryLogin due to error, try again in 5 second(s): request to https://api.yosmart.com/open/yolink/token failed, reason: getaddrinfo EAI_AGAIN api.yosmart.com [lite]9/26/2022, 5:39:10 PMYolink BridgeYoLinkLogin to YoLink API with credentials from config9/26/2022, 5:39:10 PMYolink BridgeYoLink[verbose] SENDING: grant_type=client_credentials&client_id=ua_C850FC82C3B3493D95883F1XXXXXXXXX&client_secret=sec_v1_v68aBqbFkxk2nXXXXXXXXX%3D%3D9/26/2022, 5:39:10 PMYolink BridgeYoLinkRetry bound tryLogin due to error, try again in 10 second(s): request to https://api.yosmart.com/open/yolink/token failed, reason: getaddrinfo EAI_AGAIN api.yosmart.com [lite]9/26/2022, 5:39:20 PMYolink BridgeYoLinkLogin to YoLink API with credentials from config9/26/2022, 5:39:20 PMYolink BridgeYoLink[verbose] SENDING: grant_type=client_credentials&client_id=ua_C850FC82C3B3493D95883F1XXXXXXXXX&client_secret=sec_v1_v68aBqbFkxk2nXXXXXXXXX%3D%3D9/26/2
Plugin Config:
{
"accessories": [],
"platforms": [
{
"platform": "YoLink",
"name": "YoLink",
"tokenURL": "https://api.yosmart.com/open/yolink/token",
"apiURL": "https://api.yosmart.com/open/yolink/v2/api",
"mqttPort": 8003,
"userAccessId": "ua_C850FC82C3B3493D95883F1XXXXXXXXX ",
"secretKey": "sec_v1_v68aBqbFkxk2nXXXXXXXXX==",
"refreshAfter": 1800,
"allDevices": true,
"verboseLog": true,
"devices": [
{
"deviceId": "d88b4cYYYYYYYYYb",
"config": {
"name": "Swimming Pool",
"refreshAfter": 300,
"hide": "hydro"
}
},
{
"deviceId": "d88b4cXXXXXXXXXb",
"config": {
"hide": true,
"refreshAfter": 3600
}
}
]
}
]
}
Environment:

Plugin Version: 1.2.11
Homebridge Version: 1.5.0
Node.js Version: 16.17.1
Operating System: Raspbian

The error getaddrinfo EAI_AGAIN is coming from underlying network stack (node-fetch) and outside control of this plugin.  Googling for that error and it appears to be a problem with the DNS server responding that it cannot fulfill the request to resolve api.yosmart.com
Feels like a temporary network problem that should resolve itself?
David

Many Thanks David
Indeed the problem was not related to the plug-in.
Probably this was due to an update of one of the homebridge components that caused this.
I had to reinstall everything from scratch (homebridge and all plugins) in order to get this solved.
Best Regards,
Guilherme

Thanks for reporting back and closing the issue.


Use setup.cfg to store every setup config

Current setup.py follows a legacy pattern: writing settings in the code. Recent versions of distutil supports to store most configs into setup.cfg, and we don't need writing setup "script" anymore.
This can avoid some complicated issues (typically circular imports) around __version__. setup.cfg can import/evaluate version file without any effects against code base.
The only issue here is the installation of en_web_core_sm spaCy package, which is performed at the last step of the setup.py. As I noted in #173, this is not a reliable way, and manually installing this package by users is much better than doing too much by us.
The underlying task in this issue is follows:

[ ] Move every setting in setup.py to setup.cfg.
[ ] Remove ad-hoc installation of en_web_core_sm and add documentation about manual installation of it.

Recent versions of distutil supports to store most configs into setup.cfg, and we don't need writing setup "script" anymore.

@odashi I guess setuptools? It seems like distutils is deprecated.


[php] live view for html~php pages

VSCode Version: 1.7.2
OS Version: Windows 7 Professional

live view for html~php pages like brackets Code editor

Can you add more description what exactly that does? Maybe add a screenshot as well.

Okay,tomorrow :+1:

I want to delete the issue, then i'll create new issue with explain what does i mean
xDarkMan
Regards.

duplicate of #15431


[Discussion] Dapr api for SDK model

dapr is an exciting project!
According to my understanding, dapr aims to provide a unified abstraction layer for heterogeneous middleware and heterogeneous API, so that the code only needs to be written once, and it can run anywhere.
But the problem is that I need to deploy the dapr sidecar process. Although the sidecar model is the future, the current situation is still mostly in the SDK model.
Do you consider supporting dapr api in only SDK model?
Migrating the original system to the dapr sidecar architecture will be more difficult. If we provide SDK model based on the unified API of dapr, this will greatly reduce the cost of use (after all, I don’t need an additional dapr sidecar process).
What I mean is to put the steps of invoking the heterogeneous SDK in dapr sdk instead of in dapr sidecar process. In this way, I don't rely on the dapr sidecar, although this is a rich SDK model.
Full support of sidecar requires the full support of the infrastructure, but in the foreseeable future, the SDK model will continue to exist, so it is necessary to consider the rich SDK model.

For comparison, the dapr sidecar model can refer to: #2817

I once did a project vrml aimed at providing an abstract API and shield the underlying specific SDK. This is the same as the concept of dapr.
If the dapr community considers the SDK model, I very much hope to be able to participate in the construction together.

@kevinten10 that model was first looked at when we started the Dapr project and was quickly decided as not feasible.
It would mean the entire Dapr code base, plus it's existing components and any future components, would need to be duplicated and written in every language that needs to have Dapr support. This does not scale. I'm closing this issue, but we can continue discussing here nontheless.

Thank you for your reply!
As you said, I believe the community must have considered this model.
Although there are many problems with the SDK model, I think this is still a model that needs to be considered for a long time.
What I expect is that dapr can provide an abstraction layer.
If I need this SDK model, then I can implement it based on the abstraction layer.
Whether it is the sidecar mode or the SDK mode, the APIs provided to the outside are unified.

The community does not need to implement these functions.
As long as the API design of the abstraction layer is easy to extend.
Then people who have this need can do it themselves (for example, me)

@kevinten10 take a look at this issue, does this more relate to what you have in mind?
https://github.com/dapr/dapr/issues/2817

@yaron2 Yes, the abstraction layer is what I want to say.
But when designing the API, please consider the SDK model, not just the sidecar model.
thank you for your reply!


We figured out its because we're exporting the functions twice (so they look sane in the docs). Once via just the export const inline and then at the bottom with export const FooThing = { ... } and only the latter is covered in tests.
To address this we should use the inline versions of the functions in the tests and then have c8 ignore the exported object at the bottom with all the functions.

Addressed as part of #34


Resolve russross/blackfriday import issues

Switch from v2.0.0 which used gopkg.in URL to v2.1.0 which uses the standard Go modules setup.
fixes GH-32

Ignoring issues with current linting setup, will fix that separately.


Enhance Testing Coverage for keras/metrics/f_score_metrics.py

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

Project coverage is 54.15%. Comparing base (4b612a3) to head (19ac806).

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #19435       +/-   ##
===========================================
- Coverage   76.07%   54.15%   -21.93%
===========================================
  Files         366      366
  Lines       40883    40883
  Branches     7972     7972
===========================================
- Hits        31103    22139     -8964
- Misses       8072    17146     +9074
+ Partials     1708     1598      -110

Flag
Coverage Δ

keras
54.15% <ø> (-21.78%)
:arrow_down:

keras-jax
?

keras-numpy
54.15% <ø> (+0.02%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

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

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


gnome.aisleriot: 3.22.24 -> 3.22.22

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for gnome.aisleriot is: "A collection of patience games written in guile scheme"
meta.homepage for gnome.aisleriot is: "https://wiki.gnome.org/Apps/Aisleriot"
meta.changelog for gnome.aisleriot is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.22.22 with grep in /nix/store/lc31z7y4ds5fv6jp5jsnl016c053fki0-aisleriot-3.22.22
found 3.22.22 in filename of file in /nix/store/lc31z7y4ds5fv6jp5jsnl016c053fki0-aisleriot-3.22.22

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
gnome.aisleriot

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lc31z7y4ds5fv6jp5jsnl016c053fki0-aisleriot-3.22.22 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gnome.aisleriot https://github.com/r-ryantm/nixpkgs/archive/42e884f72209795e8c5cdf382e3737b0c502b075.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lc31z7y4ds5fv6jp5jsnl016c053fki0-aisleriot-3.22.22
ls -la /nix/store/lc31z7y4ds5fv6jp5jsnl016c053fki0-aisleriot-3.22.22/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

gnome.aisleriot

Maintainer pings
cc @bobby285271 @hedning @jtojnar @dasj19 @maxeaubrey for testing.

:thinking: https://gitlab.gnome.org/GNOME/aisleriot/-/issues/937

Yes these tags were deleted for reasons™. I'll recreate them soon, but in the meantime, I recommend either downgrading to .22 or just waiting a few days at most.

A direct comparison:

https://github.com/GNOME/aisleriot/compare/21a6d3c8e60d05bc11b77e912db12966661bdc6b..3.22.24

The following commits are no longer presented on 3.22.24:

https://github.com/GNOME/aisleriot/compare/9c89b6866289e21d10e2cfe29ae958f25a5c0183...c18c1797d43353f5419448247b5a1a1177dabdce
https://github.com/GNOME/aisleriot/compare/e4e55fd282a23f2093996cc5d906e85b190900e2...730f7feb480e1b69cce0a7b333c998db6cf9b4c5
https://github.com/GNOME/aisleriot/compare/7ed4c8c9a371e2737f857f982acba1e8bf0bd354...21a6d3c8e60d05bc11b77e912db12966661bdc6b

The following commits are no longer part of 3.22.23 but still part of 3.22.24:

https://github.com/GNOME/aisleriot/compare/301fa2700dec22e725db41f4c91094265703be2a...78c53b7aeaf5ed7d2dfd9d44510a5acfac2cbabf

Looks like there were some weird German trademark violations in the card decks. Either way the tag re-use is :hankey:

Thanks.


Suggestion: require or forbid prop spread syntax for functional components

Some people may prefer this syntax:
const MyComponent = ({ id, className }) => (

);

while others may prefer this:
const MyComponent = props => (

);

It would be nice to be able to enforce one or the other.

FYI: You mean object destructuring, not spread (...)


Bug report: the spfx project upgrade command returns badly formatted text

Description
When running the spfx project upgrade command, the returned text is not formatted in a helpful way.
This probably has to do with the default output type being json. If I run the command with --output text the text is formatted fine.
Steps to reproduce
Run spfx project upgrade on a project that needs an upgrade.
Expected results
The expected result would be helpfully formatted text, like:

Actual results
The actual result is it will show the upgrade lines with all kinds of new line characters and escape characters:

Diagnostics
No response
CLI for Microsoft 365 version
4.4.0
nodejs version
14.18,1
Operating system (environment)
Windows, Linux
Shell
PowerShell, bash
cli doctor
No response
Additional Info

Most likely because our default output is json for a readable output you can use --output text

See description 👆 😁

So maybe it's not literally a bug, but it's not as you would expect.
(For the issue I had to choose between Bug report, new command or sample script)

Good catch @martinlingstuyl. Like @appieschot mentioned, this became more evident recently when we switched the default output to text. I agree that we shouldn't manually override the output type. While this behavior is by-design, I agree that we should consider JSON output for the command. Let's close this issue as by-design and start a new issue with a suggested enhancement where we can spec what the output should look like.

Could you reopen this @waldekmastykarz?
I got confused because of the other issue, so I tried out all possible outputs with the latest cli version. This is what I found:
m365 spfx project upgrade --output json returns fine
m365 spfx project upgrade --output md returns fine
m365 spfx project upgrade --output csv returns fine
m365 spfx project upgrade --output text returns fine
m365 spfx project upgrade --output tour returns fine
but:
m365 spfx project upgrade returns badly formatted text.
So I think it is a bug, and our earlier conclusion here wrong.

I've just had a look and you're right: we're producing text output which is rendered as JSON. That's a bug indeed. Thank you for bringing it up

I think the main problem is that we assume that the output type will be specified using the output option and our default is still based on the text output mode we had in the past, so we need to adjust our assumptions to correctly reflect default configuration.

We've just released a preview version with the bug fixed. You can try it by running npm i -g @pnp/cli-microsoft365@next. Once again, thank you for reporting it @martinlingstuyl and we appreciate your help 👏


Need to have a default port for the server

Default is going to be port 3000

Coverage decreased (-0.2%) to 97.661% when pulling 99f57c2c4525a55710526875aea609f7fdd1eda5 on cvaca7:master into b9fa4ec65854cc3e4582373e5985ee42f7e0f705 on mediarain:master.

Coverage increased (+0.4%) to 98.246% when pulling 6f491d14e40c311e9d72766c67e56c615ad1fd28 on cvaca7:master into b9fa4ec65854cc3e4582373e5985ee42f7e0f705 on mediarain:master.

Coverage increased (+0.4%) to 98.246% when pulling 9e9dff9eb7cb5426c1a23115367b34294098e20d on cvaca7:master into b9fa4ec65854cc3e4582373e5985ee42f7e0f705 on mediarain:master.

Coverage increased (+0.4%) to 98.246% when pulling 5febb7d39953758a87017cdd7befb3bb50f217da on cvaca7:master into b9fa4ec65854cc3e4582373e5985ee42f7e0f705 on mediarain:master.

@heneryville can you take a look at this one, i'm more inclined to delete the test than to keep it as is, not sure if it adds a lot of value and i'm not sure if there's a better way to test it

@cvaca7 Let's drop the unit test altogether. It was a great idea/way to test this, but in the end we're not sure it makes sense to test this particular part.

Coverage decreased (-0.2%) to 97.661% when pulling 72651d0fa476c17cc7a2775e6fdee28ba047eba2 on cvaca7:master into b9fa4ec65854cc3e4582373e5985ee42f7e0f705 on mediarain:master.


Switch from PreparedStatement to Statement with literals

Switch to Statement with literals for queries of the system objects on Exasol.
PreparedStatements on System Objects are incredibly slow (see  EXASOL-1948 for details if you have an Exasol Support account).

Good.
BTW I've made some cleanup of statements create functions.

Note: you can use DBCSession.prepareStatement(...) with type DBCStatementType.SCRIPT - it will call createStatement() + setQueryString. No need to make this manually in every execution.
(I think I'll rename DBCSession.prepareStatement to something else - it is ambiguous name because in fact it may produce prepared, callable or plain statement).


Tests: add VFS overlay for Dispatch

Introduce an additional compile time parameter for swift builds in the tests to pass along the VFS overlay for dispatch if the build directory is present.  This ensures that we prefer the just built dispatch over the installed dispatch which is a prerequisite for permitting building Foundation et al with a build tree of dispatch when we have an installed toolchain.

This is needed as a dependency for https://github.com/apple/swift-corelibs-libdispatch/pull/794.  This is a change to the configuration for the test suite and has no impact on the resulting binaries.


update dggs openapi redoc

Closing because the changes have been added by commit https://github.com/opengeospatial/developer-website/commit/684f3fbb6ddfece68429b3108cb8700ee5e2a727


Core BTS UI: Transactions Screen

Update the transactions listing screen to conform to https://www.figma.com/file/vYQD6uZtkPgtmgJ3zfauq0/Zashi-UI-082123-V3?type=design&node-id=148%3A7956&mode=design&t=MuSYkgngwcFg2nNl-1

Closing temporarily as transaction history may be moving to the home screen.


sap.ui.model.ContextBinding docs missing a method

Method getBoundContext() of the type sap.ui.model.ContextBinding that is used in the Master-Detail example from Demo Apps in SDK Demo Kit, I've checked on the docs and this method doesn't exist.
Checking the code, this method do exists:
https://github.com/SAP/openui5/blob/3a212d2b66e7935986b5507c5f520c99ec645497/src/sap.ui.core/src/sap/ui/model/ContextBinding.js
For some reason, the API docs didn't have it. I would make a pull request to fix this, but I'm not sure how these docs are generated. I didn't found a .library xml with it. Are they all generated from JsDoc comments?

Is it because it is not on the metadata.publicMethods array?

The method has been documented with 75038405f413d5bbaadb9a14809c86d9c3c1aa1c which will be part of the 1.52 release. That's why you find the method documented in the code but not in the API reference (hana.ondemand.com still shows 1.48).
This has nothing to do with the "publicMethods".
Please check https://openui5nightly.hana.ondemand.com/#/api/sap.ui.model.ContextBinding/methods/getBoundContext , there it appears already.

The same is happening with sap.ui.model.Binding's getPath() method, that is used in the example too.
But in this case, it is not in the docs, even in https://openui5nightly.hana.ondemand.com/#/api/sap.ui.model.Binding

Fixed by https://github.com/SAP/openui5/commit/bbb52fb711a8127384ac5ceb4ae3de271200ca9e.


Fix formatting for multiline examples

What's changed?
Using <pre> for multiline examples + escaping tags inside the example value (e.g. for XML examples).
With the proposed changes it looks like this (createxmlfile.md):

Note: There is a \n missing in CreateXmlFile.java
What's your motivation?
For option examples that are multiline the table cell formatting is broken, see mergeyaml.md, createxmlfile.md, createyamlfile.md
E.g. createxmlfile.md:

This is due to the replacement of \n with an actual line break, which does not render properly when using "`" inside a table:

| Type | Name | Description | Example |
| -- | -- | -- | -- |
| `String` | relativeFileName | File path of new file. | `foo/bar/baz.xml` |
                        | `String` | fileContents | *Optional*. Multiline text content for the file. | `<?xml version="1.0" encoding="UTF-8"?>
<root>
    <child>1</child></root>` |
| `Boolean` | overwriteExisting | *Optional*. If there is an existing file, should it be overwritten. |  |

Anything in particular you'd like reviewers to focus on?

Anyone you would like to review specifically?

Have you considered any alternatives or workarounds?
No
Any additional context

Checklist

[ ] I've added unit tests to cover both positive and negative cases
[x] I've read and applied the recipe conventions and best practices
[x] I've used the IntelliJ IDEA auto-formatter on affected files

Awesome; great to see you've worked out this fix so quickly!


Upload coverage in separate workflow

We need to upload the coverage in a separate workflow, becuase it needs access to the codecov secret.

@ntadej Because Codecov gets rate limited by GitHub otherwise. This is causing the workflow to fail periodically. https://community.codecov.com/t/github-api-forbidden/1295/4

Temporarily disabling code coverage check to merge.

Enabled again.


Fix Issue 13650 - Cannot copy (w)char[] into (w)char[]

The diff is a bit messy, but the change is essentially to remove the isOutputRange!(Range2, ElementType!Range1) condition from the template to allow char[] and wchar[] targets (they aren't output ranges). The check is now only at the end when we try to use the non-array path.
https://issues.dlang.org/show_bug.cgi?id=13650

2014... OMG and quite stinky bug btw.
This needs a rebase.  @Poita - still interested in reviving it?

I can revive this if @Poita doesn't respond in a few days.

@Poita when rabasing please nag reviewers, Github won't notify me on new commits/rebase.

After taking a good glance over it - I still do not see where the actual enabling change is? 95% of it is just moving stuff around which is okay but.. Any hints would help merge it.

but the change is essentially to remove the isOutputRange!(Range2, ElementType!Range1) condition from the template to allow char[] and wchar[] targets (they aren't output ranges

See it now. Well, LGTM then.

Yes, that's the only change. The code movement wasn't by choice, it was just one of those cases where changing a condition had a cascading effect that either forced a refactor, or would result in duplicate or redundant code.
Sorry for not pinging on rebase, didn't realize there wasn't a notification.

Auto-merge toggled on

This pull request introduced a regression:
https://issues.dlang.org/show_bug.cgi?id=14817


Add more common contracts to emulator

Adding contracta and interfaces like NonFungibleToken and FUSD.
It will make it a lot easier to develop solutions

Closing in favour of buildathlon task.


Some popups stop working during dev mode when content has been changed

Current Behavior
Odd behavior that I believe was happening before 1.5, where some popups stop working when in dev mode, after any files are edited, and Vite automatically changes the content.
I am not quite sure how to replicate this as some of my popups continue to work. Putting this here in case anyone else experiences this.
Reproduction / Steps To Reproduce

Have popup
Edit svelte file in dev mode
Try to click popup trigger
...
opposite of profit?

Anything else?
No response

@saturnonearth I've seen similar behavior for other components. No clue how to resolve it unfortunately. Happy to leave this open for a bit to field other suggestions though. A hard refresh is typically the only viable fix I've stumbled upon.

Unfortunately I'm thinking this may be an issue that has to be taken upstream. If you (or anyone reading this) find a solution let me know.


Setup dependabot (or alternative)

We haven't upgraded dependencies in a while, so we should look into dependabot (or an alternative solution).
One proposal was to update dependencies only after we released a new version to be sure that if something breaks it's because of the version upgrade and not because any other change.

I read good things about https://github.com/renovatebot/renovate as an alternative to Dependabot.


Automate the application acceptance process

the only drawback is that the startRow needs to be updated periodically (ATM every ~25 accepted applications)

Let’s see if it works. I hope you made a copy of the sheet ;-)


Return data tasks when performing requests

Previously, we were throwing away the data tasks created by
NSURLSession. This made the API simpler, but the end result was that
there was no way to cancel a request once it started.
By returning the data task, we can now leave it up to the consumer on
how to handle canceling requests. If they want the old behavior, they
can simply continue to ignore the return result. But if they want, they
can now hold onto the task that is returned, and cancel it or do
whatever they need to do with it.

Fixes #50

Yup :+1:

Great change.


Should notebook tutorials be listed alphabetically?

We have quite a few notebook tutorials now and I occasionally get annoyed that they aren't listed alphabetically in the sidebar under the 'Tutorials' section.
Is this just me or would putting them into alphabetical order make sense?

Well, they are in the order they are covered on the Tutorials page.  In turn, that page is ordered by how we suggest people use them (except that Elements and Containers are at the end, but referred to by everything else).  I guess it would be ok to make the sidebar be alphabetical, but I would want to keep the Tutorials page organized in terms of a logical progression, as much as is feasible.

I agree the tutorial page should present them in a logical order. The thing about the sidebar is that there are so many notebooks, every time I want to specific one I have to scan the whole list.
I guess I am very familiar with all the notebooks and their names which means I know what I am looking for unlike a new user. I guess numbering to make it clear there is an ordering would be another solution? The problem is that I think there is a fuzzy ordering between the notebooks and not really a strict one!

Tutorials are now being mostly replaced by guides where we do have a clear order. Closing.


Would anyone find this useful? [Define transitions from array]

Awesome package and thanks for releasing it!
I wrote a function that I thought someone might find useful. I wanted a faster and more scalable way to create the Transitioner transition order. For my app everything is arranged spatially from left to right [i.e. page 1 is to the left of page 2]. I mirrored this arrangement in an array, such as ['Page 1', 'Page 2']. The function then generates an object to define transitions.
@TransitionOrder = (Pages) ->
  # init vars
  Transitions = {}
  LastPage = ''

  # Loop through array of named flow routes
  _.each Pages, (Page) ->
    if LastPage != ''
      # Create object for one direction of motion
      ForwardPageKey = LastPage + '->' + Page
      Transitions[ForwardPageKey] = 'right-to-left'
      # Then create the same concept in reverse
      ReversePageKey = Page + '->' + LastPage
      Transitions[ReversePageKey] = 'left-to-right'
    LastPage = Page

  # Set default value to fade
  Transitions['default'] = 'fade'

  # Return transitions to Transitioner.setTransitions
  Transitions

# Order from left to right and the above function will spit out necessary object
Transitioner.setTransitions TransitionOrder [
  'about'
  'map'
  'mechanicView'
  'AdminCompilation'
  'progress'
  'chartsAdmin'
  'RFIDlayout'
  'timeseries'
  'Profile'
]

What do you all think of this? Any advice/improvements? I might extend the function to also loop through and create transitions for pages not directly next to each other.

Thanks for your appreciation :)
I think this is a great idea and a great pattern that I will be using in one of my projects as well now, since the app is also arranged spatially from left to right. Thanks for posting this. Maybe we can find a way to integrate this to the package ;)

Awesome! I'll have some time next week and can play around and submit a PR


update eslint, allow tabs

Updated eslint, relaxed rules for indentation, tabs, and react. We can enforce them later

Yea, we can switch .js / .jsx later if we want, just don't want our eslint to bog us down 😄


adding BGR ROI as sphere number 7

great. can you add some doc though?

where?

in the docopt at the start, saying which sphere is which, and ideally also for the functions themselves. Something brief, but such that people have an idea what everything is without having to trawl through the details.

Thanks! I see a spurious L12 "subfolder of SIRF root folder" delete? Ideally also add some info on filenames, then I'll merge. Promised!


Add docs for v2.6.11

Description

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 8a902b758b9adcb1d030d97d4dfd85a173a5509e
https://deploy-preview-2175--calico.netlify.com


operator - Pass kubernetes service host and port

... to all resources created by operator, if custom
values are set on operator.
Preserves encapsulation by defining env vars in
public API as map[string]string, uses kube
corev1.Env internally. This should make it easier
to add others later as well, if necessary.
Signed-off-by: Marcus Sorensen<EMAIL_ADDRESS>
What this PR does / why we need it:
Allows users to provide Kubernetes API connection details, for cases where the default injected KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE PORT are not usable. These values are  by default injected automatically by Kubelet's view of the service ClusterIP value and may not work, depending on CNI's support of pod service range or network policy configuration.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #3350
Special notes for your reviewer:
See mailing list discussion https://groups.google.com/forum/m/#!topic/kubevirt-dev/X0NjRDuoFWs
Release note:

If KUBERNETES_SERVICE_HOST or KUBERNETES_SERVICE_PORT are overrides in virt-operator's environment, this will be passed along to all of the components it creates.

/cc @davidvossel

This limitation of a cluster not supplying the env vars to pods that are necessary to discover the k8s apiserver isn't something I've encountered before.
Is there any precedence you can point to for how this has been solved for other projects? This problem feels like a cluster-wide problem that needs a more generic solution. It's unclear to me if building this logic directly into KubeVirt is appropriate or not.

You're right about it being at the cluster wide - every container that needs to talk to the Kubernetes API in the clusters in question needs to set KUBERNETES_SERVICE_HOST.
Without going too deeply into the origins of this issue, in general terms we have a situation where the kubernetes.default ClusterIP is not allowed on the certificate used for the Kubernetes API per the way the certificate authority policy works. I'm investigating about four different avenues to fix this, and modifying the KubeVirt configurations is the only one we have any degree of immediate control over.

@davidvossel - To answer your other question - on all other projects that have been deployed, we have been able to override KUBERNETES_SERVICE_HOST.  I believe KubeVirt is the only one we have run into so far that doesn't provide any means, but it's one of the few that are also deployed via operator.
That's not to say that all projects have intentionally worked to provide a means to override KUBERNETES_SERVICE_HOST, just that their design allows for it in one way or another.

/retest


Feature: Links support formatted text in markdown format

Currently if I want to have a link with different formatting in markdown format its not possible as the resulting markdown simply erases the formatting. And example would be:
If I write:
[This is a **bold** text](url)

It becomes:
[This is a bold text](url)

After some digging I've found the LINK markdown transformer, where I've found this comment in the export functon:

Add text styles only if link has single text node inside. If it's more
then one we ignore it as markdown does not support nested styles for links

Which I found to be invalid, since markdown indeed supports nested styles for links: This is a bold text
So I've changed the export function of the LINK transformer to return all formatted nodes like this:
{
  export: (node, exportChildren) => {
    if (!$isLinkNode(node)) {
      return null;
    }
    const linkContent = `[${exportChildren(node)}](${node.getURL()})`;
    return linkContent;
  },
}

Which gives me the desired output. The only problem is that importing is not possible anymore because the link isn't recognized as a link anymore if it has formatted text inside. It seems that its not the fault of the LINK transformer but rather of how all the transformers are working together.
I've created a working example here: https://codesandbox.io/s/blue-surf-gttxnh?file=/src/plugins/MarkdownTransformers.ts
Steps to test:

select part of the string and make it bold
click on the "convert markdown" button in the bottom right corner
observe if the link text has the correct markdown format
click the "convert markdown" button again
the link is not a link anymore, instead its just text with correct bold format

If I could get hints what exactly to change / try out I would be ready to create PR for this.

Duplicate of #5148


composer.json has missing dependencies

I installed guzzle from packagist.org by simply creating a dependency in my project's composer.json (the main reason you're not seeing pull requests from me -- so far). Since the vendor/Doctrine, vendor/Monolog, and vendor/Symfony/Component/ClassLoader folders were empty, It looks like there are some missing dependencies:
"require": {
    "php"                 : ">=5.3.2",
    "doctrine/common"     : "2.1.*",
    "monolog/monolog"     : "1.0.*",
    "symfony/class-loader": "2.0.*"
},

symfony/class-loader may not be configured correctly (not sure by whom) since it loads in
vendor/guzzle/guzzle/vendor/Symfony/class-loader/Symfony/Component/ClassLoader
rather than
vendor/guzzle/guzzle/vendor/Symfony/Component/ClassLoader
but things seem to be working ok.

This is now corrected after releasing version 2.0 earlier today.


First Release Candidates

Show how to replicate this example in qtk.

Build a Zero Curve template
Build a Fixed Rate Bond template
Bond pricing engine template

Show how to get price.

Release 0.1.0 addressed this item.

 Basic


Submit Default Changelist

This is a feature request to be able to directly submit the default changelist.
Checked out items are currently added to the default changelist, but there is no immediate way to submit those changes. The workflow required is to:

create a new "named" changelist
move checked out items of interest to the "named" changelist
submit the "named" changelist

This feature should allow:

"one click submit" of the default changelist...this is add the little check-marky submit button which will immediately submit the default changelist
adding a description to the default changelist before submission should be optional, it defeats the "one click submit" nature to require an added description...perhaps this can be options driven
a keyboard shortcut for "submit default changelist" would be desirable

The combination of these three behaviors would allow for very fast iterative development in appropriately equipped environments.

see https://github.com/stef-levesque/vscode-perforce/pull/87

Now part of version 2.2.0!


Freezers and heaters affect gas in different potency based on the target temperature.

Description

Say, a freezer set to 275K is going to cool much, MUCH slower than a freezer set to 75K, resulting in fucky usage like setting a freezer to 75K, cooling down whatever to -200C, then setting it back to 275K to get it back to the target you wanted, which doesn't really make sense.
Is this intentional?
Possibly.

Bwomp, MoMMi outage so it didn't relay.

intentional