The SiteMapLoader has not been initialized.

Hi I just followed the instructions for configuring the External DI for sitemap in the link below:
https://github.com/maartenba/MvcSiteMapProvider/wiki/Configuring-MvcSiteMapProvider
and I'm using asp.net MVC 5 .net 4.6 and installed the latest package for mvc and I received this error
**The SiteMapLoader has not been initialized.
Check the 'MvcSiteMapProvider_UseExternalDIContainer' setting in the AppSettings section of web.config.
If the setting is set to 'false', you will need to call the MvcSiteMapProvider.DI.Composer.Compose() method at the end of Application_Start in the Global.asax file. Alternatively, if you are using .NET 4.0 or higher you can install the MvcSiteMapProvider.MVCx NuGet package corresponding to your MVC version.
If the setting is set to 'true', you must set the SiteMaps.Loader property during Application_Start in Global.asax to an instance of the built-in SiteMapLoader type or a custom ISiteMapLoader instance. This can be achieved most easily by using your external DI container.**
another thing I followed before the instructions for localized sitemap but it can't find the object in the recource file and I'm sure that it's included in the code and quite sure the syntax of the namespace and class file . I hope to get a reply because i believe this is an awesome package for sitemap
one last thing . i tried to access sitemap.xml when external DI is disabled and using sitemap file enabled in web.config is doesn't show and it redirects to my home page

Check out #221, this question is a duplicate.
Which package did you install?
The page you are referring to is just a reference to get you up to speed on DI, it does not have complete instructions to assist you with setting up a project for DI manually. There are NuGet packages to give you a starting point for several containers. There are 2 types of packages:
Dependency Injection Configuration Packages
If your project does not already use Dependency Injection, you can use one of these packages to install a composition root into your application that contains all of the startup code necessary to "just work" after installation.
PM> Install-Package MvcSiteMapProvider.MVC[x].DI.[containerName]

Replace the x with your MVC version and the containerName with the container that you are using.

Modules Packages
If you already are using DI in your project or prefer to use a composition root provided by one of the DI container integrations, you can just add the module and then manually add it to your DI container's configuration by following the steps in the README within the package.
PM> Install-Package MvcSiteMapProvider.MVC[x].DI.[containerName].Modules

Replace the x with your MVC version and the containerName with the container that you are using.

Here are those instructions for each container.

Autofac
Grace
Ninject
SimpleInjector
StructureMap
Unity
Windsor

Since NuGet installs the lowest dependency versions by default and doesn't always seem to install the entire dependency chain, it is recommended that you install 3 packages in the following order:

MvcSiteMapProvider.Web
MvcSiteMapProvider.MVC5
One of the DI configuration or modules packages.

Thanks alot . I passed the article you posted before and i downloaded the demo and thought it's just to post the code . I installed the package and it works fine . but here is an issue I would like to make the sitemap.xml exists for arabic and english pages based on localization url routing http://localhost/ar and http://localhost/en and i want to create two sitemap.xml one for arabic and have 'ar' as culture paramter for each link and one have 'en' culture parameter for each . if I type localhost/sitemap.xml it doesn't show up at all . so should i create controller for sitemap.xml ? and I appreciate yout tips to create these two sitemaps .
Thanks

You just need to remove the code that registers the routes for the XmlSiteMapController and create your own routes.
// Register the Sitemaps routes for search engines
// XmlSiteMapController.RegisterRoutes(RouteTable.Routes);

RouteConfig.cs
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "SiteMap-Localized",
                url: "{culture}/sitemap.xml",
                defaults: new { controller = "XmlSiteMap", action = "Index", page = 0 },
                constraints: new { culture = new CultureConstraint(defaultCulture: "en", pattern: "[a-z]{2}") }
            );

            routes.MapRoute(
                name: "SiteMap",
                url: "sitemap.xml",
                defaults: new { controller = "XmlSiteMap", action = "Index", page = 0 }
            );

            routes.MapRoute(
                name: "SiteMap-Paged-Localized",
                url: "{culture}/sitemap-{page}.xml",
                defaults: new { controller = "XmlSiteMap", action = "Index", page = 0 },
                constraints: new { culture = new CultureConstraint(defaultCulture: "en", pattern: "[a-z]{2}") }
            );

            routes.MapRoute(
                name: "SiteMap-Paged",
                url: "sitemap-{page}.xml",
                defaults: new { controller = "XmlSiteMap", action = "Index", page = 0 }
            );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }

Refer to this answer for the implementation of CultureConstraint and some other useful info about localization in MVC.
If you keep the default behavior of using App_GlobalResources for your localization, make sure you follow this post. Alternatively, you can move the resources elsewhere by implementing IStringLocalizer or by creating your own resource provider.
Refer to How to: Localize Site-Map Data for how to format the localization tags. Note that the only thing that differs from this documentation is how to enable/disable localization (which is done at the top of the DI module).
You could alternatively use separate SiteMap instances for each culture, but it would take up a lot more RAM if you did it that way and you would need to create a custom controller for the sitemap.xml.
    [AllowAnonymous]
    public class LocalizedXmlSiteMapController
        : Controller
    {
        public LocalizedXmlSiteMapController(
            IXmlSiteMapResultFactory xmlSiteMapResultFactory
            )
        {
            if (xmlSiteMapResultFactory == null)
                throw new ArgumentNullException("xmlSiteMapResultFactory");
            this.xmlSiteMapResultFactory = xmlSiteMapResultFactory;
        }

        private readonly IXmlSiteMapResultFactory xmlSiteMapResultFactory;

        public ActionResult Index(int page = 0, string culture)
        {
            string siteMapCacheKey = "EnglishSiteMap";
            if (culture.Equals("ar", StringComparison.OrdinalIgnoreCase))
            {
                siteMapCacheKey = "ArabicSiteMap";
            }

            return xmlSiteMapResultFactory.Create(page, new string[] { siteMapCacheKey });
        }
	}

Do note that if you do it that way, you have the option to merge all of the nodes for all of your SiteMap instances into the same sitemap.xml endpoint, so you wouldn't need localized routing.
Be sure you are aware of the limitation of the sitemap protocol in that you may not include anything for pages that exist outside of the virtual path the sitemap.xml exists in.


Some question about the analysis speed of model with fp16 ?

I have tested the loaded speed and analysis speed of model with fp16 and without fp16, the result sees below. I am confused the speed of model with fp16 is slower.

I have tested the loaded speed and analysis speed of model with fp16 and without fp16, the result sees below. I am confused the speed of model with fp16 is slower.

I have the same issues with resnet50

same problem, bug mvg_yolox works well

The speed is dependent on the device and might also includes data loading. This issue should have been resolved in MMDet 3.x.

Please @hhaAndroid  to take a look.


chore: fix mergify configuration

The Python test matcher was not working because Python is currently
last in the test chain, and hence the version is not followed by a
white space.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: 96a977da1ba8e8b31b38e911fe13d2f9b0e36ccb
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Support for Playstation 3 on the Platforms list

Currently, Playstation 3 is missing from the platform list, which includes most other Sony platforms (PSX, PS2, PSP, PSV, and additionally there is PSN supporting PS4 games).
I would like to please request that it be considered to be added to the platforms list.
I am interested in creating an integration for this platform, even if only for my own use, but I cannot unless it is on the Platforms list.

Can we add support for Vita only titles along side this?
The PS Vita uses the same Trophy system as the PS3 and PS4. While you currently track Vita games that cross save (and crossbuy) on the PS4, it doesn't track PS Vita and PS3 titles that aren't on the PS4 or I've not played on the PS4.
For some games, they have two or three trophy lists due to PS4, PS3, and Vita platform differences and some games that are on PS3, Vita and/or PS4 share a trophy list. Also in some cases, a game will have trophies for regional versions, and a player could in theory play multiple versions of the same game due to the lack of region locking.
Also, as some games trophies are on multiple Playstation consoles, but not cross buy, so can you give the player few options to Tag their games for which console.

The PlayStation Vita is included on the current platforms list, so it is already supported to create and use an integration for it (whether based on physical game, or I guess you could make something PSN-based depending on preference).
Having multiple platforms, cross-buy support etc is something that would probably be best suited for an overall PSN platform integration, rather than a single-platform PS3 one (which is what I am asking for in this issue. I did not use the PSN or online-based features on my console, and want to make a PS3 integration to support my physical games collection).

I have been using ColecoVision as a substitute platform identifier for creating a plugin to add RPCS3 games to GOG. From the front-end all seems well, but I've noticed the logs are filling up with bad requests looking for ColecoVision games that don't exist (See here).

Don't know if it should work already, but at the moment of writing I don't see any of my PSN PS3 games in my 'PlayStation Network' connector, only the few PS4 games I own.


Add lintr style check

Closes #11

This workflow adds the same lintr checks we are using in comoDTC.
In this default configuration, style problems don't necessarily cause the check to fail. Most of the transgressions just get a warning comment in the PR code.
@ben18785 if you'd like to make it stricter so it fails the check when style problems are present, I think I can easily do that with the expect_lint_free function.

Thanks @rcw5890 -- that's great. Given that style fails don't cause fails, how about adding a Github PR template that adds a checkbox asking if a person has done style checks via Lintr?

Thanks @rcw5890 -- that's great. Given that style fails don't cause fails, how about adding a Github PR template that adds a checkbox asking if a person has done style checks via Lintr?

I put down a first attempt for the template---it mentions the style check and several other things that came to mind.


[API Docs] Readonly Fields in Records are not Clear

Description
The readonly fields in records are not clearly mentioned in the API docs.

Checked on Staging Central

Fixed


feat: make clipboard optional

As mentioned in #14, it would be nice to be able to compile this without arboard to have fewer dependencies. This PR entirely removes the clipboard (from the default, it can still be enabled with the clipboard feature) and assumes that any copying will be done by the user.
This could be done by just copying from the terminal emulator, or piping the stdout of the program into something like wl-copy or xclip

[ ] Copying is explicitly mentioned in the README, so this should be adjusted.
[ ] Perhaps we should entirely remove the clipboard dependency (not even optional)?
[ ] Tests need to be adjusted, as they all have the --no-copy argument

Thank you for taking a stab at this. I went ahead and removed clipboard support in #23 so this PR is no longer applicable.

I feel like this is the best course of action. Thank you.


get FAULT when fuzzing sys_ring_buf_ put and sys_ring_bug_get APIs

I am trying to fuzzing the kernel APIs, and I wrote a simple application to call the APIs: sys_ring_buf_put and sys_ring_buf_get.
the code is as below
 while (1) {

                type = sys_rand32_get();
                value = sys_rand32_get();
                dsize = sys_rand32_get();
                printk("type:%d, value：%d, dsize: %d\n", type, value, dsize);

                /*testing APIs*/
                ret = sys_ring_buf_put(&ring_buf1, type, value,
                                       rb_data, dsize);
                if (ret == -EMSGSIZE) {
                        printk("ring buffer is full\n");
                        break;
                }
                printk("inserted %d chunks, %d remaining\n", dsize,
                            sys_ring_buf_space_get(&ring_buf1));
                dsize = (dsize + 1) % SIZE32_OF(rb_data);
                put_count++;
        }

        getsize = sys_rand32_get() - 1;
        ret = sys_ring_buf_get(&ring_buf1, &gettype, &getval, getdata, &getsize);
        if (ret != -EMSGSIZE) {
                printk("Allowed retreival with insufficient destination buffer space\n");
        }

        for (i = 0; i < put_count; i++) {
                getsize = SIZE32_OF(getdata);
                ret = sys_ring_buf_get(&ring_buf1, &gettype, &getval, getdata,
                                       &getsize);
                printk("got %u chunks of type %u and val %u, %u remaining\n",
                            getsize, gettype, getval,
                            sys_ring_buf_space_get(&ring_buf1));

        }

when I run the application, it result in USEAGE FAULT as following:
type:1453511663, value：-1841455610, dsize: -841455592
inserted -841455592 chunks, 6 remaining
type:158548800, value：1158548820, dsize: -2136418458
ring buffer is full
Allowed retreival with insufficient destination buffer space
got 6 chunks of type 54255 and val 6, 31 remaining
***** USAGE FAULT *****
  Executing thread ID (thread): 0x20000228
  Faulting instruction address:  0xf21
Fatal fault in essential thread! Spinning...

Should zephyr add some checks like type and bound check in the implementation of syscall API code ?

the ring buffer APIs aren't system calls, they don't do privilege elevation.
In general to keep code as small as possible for tiny devices, checking like this isn't done in Zephyr.
We could maybe add some __ASSERT()s though.

@stuartly I'm having trouble getting your sample code fragment to compile.
Can you please send me the complete source to your test application?

@ManojSubbarao please assign to your team

@andrewboie Sorry to response late. The sample code is in the attachment.
main.txt

@varun-sha , Please look into this issue.

I tried it on qemu _x86, and got page fault with null ptr exception consistently.
Error:-
type:-2092918928, value：-2092917264, dsize: -2092916140
ring buffer is full
Allowed retreival with insufficient destination buffer space:0
got 6 chunks of type 56550 and val 88, 31 remaining
***** CPU Page Fault (error code 0x00000010)
Supervisor thread executed address 0x00000000
PDE: 0x025 Present, Read-only, User, Execute Enabled
PTE: 0x00 Non-present, Read-only, Supervisor, Execute Enabled
Current thread ID = 0x004011c0
eax: 0xfffffff5, ebx: 0x00000000, ecx: 0x00400000, edx: 0x0000001b
esi: 0x00000000, edi: 0x00000000, ebp: 0x00000000, esp: 0x004083c8
eflags: 0x00000202 cs: 0x0008
call trace:
eip: 0x00000000
NULL base ptr
Fatal fault in essential thread! Spinning...
Terminate emulator due to fatal kernel error
prj.conf is not shared with test code, so i used below one:-
CONFIG_IRQ_OFFLOAD=y
CONFIG_RING_BUFFER=y
CONFIG_CONSOLE_GETLINE=y
CONFIG_CONSOLE_PULL=y
looking into it, to find root cause.

@stuartly  Hi, i have gone through your sample fuzzy app, during fuzzing its fine to pass random values, but you are initializing smaller buffer(u32_t getdata[6] in your sample) and passing random getsize value, getsize should be limited to max buffer in which you want to copy data from ring_buf_item_get
sometimes when you do ring_buf_item_get you are overwriting memory, which is wrong and causing panic.
ring_buf_item_get() requires buffer & size of buffer as parameter, you can't pass  size as larger then allocated buffer size.
https://docs.zephyrproject.org/1.13.0/kernel/other/ring_buffers.html#retrieving-data
Just change your code to limit random value of getsize to max buffer you initialized, it will work fine with all fuzzing you are trying with type/value/size.
getsize = sys_rand32_get()%SIZE32_OF(getdata);

@varun-sha Thanks, it is fine.

@varun-sha Thanks, it is fine.

@stuartly : can you close this issue then , thanks

@varun-sha Thanks, it is fine.

@stuartly : can you close this issue then , thanks

@stuartly : please close this issue, since we are good with analysis.


[feat]: Display squeeze user details

This allows the superadmin to view the details of users who have requested for squeezpages.
Description

added API endpoint(/api/v1/squeeze-pages-users) for searching products.
Implemented and endpoint to fetch squeezepages user.
Handles unexpected errors and return the appropriate status code.

Related Issue (Link to Github issue)

Motivation and Context

To provide the superadmin with the capability of displaying the user that have requested for squeezepages.
How Has This Been Tested?

Wrote Feature Test and tested on Postman
✓ it fetches the user who have requested for squeezepages
✓ it fetches user based on several criteria(firstname, lastname, email, title and created_at)
✓ it returns appropriate validation errors for missing required fields
✓ it returns empty for non existent users
✓ it paginates the result
Screenshots (if appropriate - Postman, etc):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

There is nothing in your changed files

yeah initially, i pushed the feature i worrked on to the same branch. i lateer had to make an insignificanat change to separate both, so as to have a seprate bracnch for both. basically my first PR that got merged has the changed files for both feature i worked on

can i get the live endpoint?


Remix, missing css modules

I'm trying to use this library in my react remix project, and having trouble importing the css.
I updated the remix config to include react-tweet
/** @type {import('@remix-run/dev').AppConfig} */
export default {
  ignoredRouteFiles: ["**/.*"],
  serverDependenciesToBundle: [
    /react-tweet/,
  ],
};

And Remix CSS bundling is enabled.. but the CSS seems to be missing from the <Tweet/> component.
<Tweet id="1448382615904346113" />

output:

The same happens with Astro. It is possible to make it work in dev by setting vite.ssr.noExternal: 'react-tweet', but when you build the project, CSS is not bundled.

@joshyboyrules have you solve this?

Update vite.config.ts

export default defineConfig({
  //...
  ssr: {
    noExternal: ["react-tweet"],
  },
});


Implement submit message in hub-rest client

This PR provides the ability to submit messages to hubs using the REST API
TODO: Add more examples (react, follow, verify)

@gsgalloway ready for another review here, I'll circle back on the docs generation stuff.


[5.7] Avoid copying Deprecated and Beta tags when triple clicking to select the title

Rationale: Users often triple click to select a paragraph and copy text. This PR fixes the issue where the Deprecated and Beta tags would be selected and copied as well when users attempt to select the title.
Risk: Low
Risk Detail: only affects selecting titles of each page
Reward: High
Reward Details: Improves the use case where users triple click to select the title and copy. Now they will only be able to copy the title, not the Deprecated and Beta tag.
Original PR: https://github.com/apple/swift-docc-render/pull/241
Issue: rdar://92420916
Code Reviewed By: @dobromir-hristov @marinaaisa
Testing Details: Navigate to a deprecated or beta page, triple click on the title and copy, paste the text and make sure only the title itself is copied.

@swift-ci test

@swift-ci test


Update concept-understand-roles.md

update the role name

@rolyon
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


101 unit test coverage sort.py

First attempt at tests for sort.py.  I commented out my test for test_filter_combo, since it would intermittently fail because of the ordering of the two filters, so any advice on how to handle this particular issue (or to just bin the test) would be appreciated.

Two questions whilst I'm here:

Should I have forked development instead of master?
Are my settings for origin and upstream actually correct (https://gyazo.com/ce45182c1c65ec87fb9e5005f0e865f6)

Always always always fork development.
Pretend master doesn't exist :)

Updated as requested, but I have no idea how to publish the updated stats. Or indeed how to update the stats.

Okay, so not sure if we should be discussing here or in the deterministic order PR, but my test_filter_combo test passed for 2.7, 3.3, 3.4 and 3.5, but failed for 3.6. Any ideas?

Yes, the results aren't deterministic! You'll get results that vary from run to run in python 3, until his changes are checked in :)

Okay I've merged #131 Sorry for the delay!  You'll want to rebase and repush to pick up the squashed change

No problem. Sorry for being dim about the fact that tests were going to fail until the merge.  All good now though now I hope.

Updated stats:
Name                                                          Stmts   Miss  Cover
---------------------------------------------------------------------------------
tableauserverclient\__init__.py                                   5      0   100%
tableauserverclient\datetime_helpers.py                          18      2    89%
tableauserverclient\models\__init__.py                           15      0   100%
tableauserverclient\models\connection_credentials.py             17      8    53%
tableauserverclient\models\connection_item.py                    38      0   100%
tableauserverclient\models\datasource_item.py                   105      5    95%
tableauserverclient\models\exceptions.py                          2      0   100%
tableauserverclient\models\fileupload_item.py                    17     10    41%
tableauserverclient\models\group_item.py                         39      0   100%
tableauserverclient\models\interval_item.py                     112      9    92%
tableauserverclient\models\pagination_item.py                    22      0   100%
tableauserverclient\models\project_item.py                       59      1    98%
tableauserverclient\models\property_decorators.py                78     14    82%
tableauserverclient\models\schedule_item.py                     146      5    97%
tableauserverclient\models\server_info_item.py                   21      0   100%
tableauserverclient\models\site_item.py                         147     14    90%
tableauserverclient\models\tableau_auth.py                       18      9    50%
tableauserverclient\models\tag_item.py                           13      0   100%
tableauserverclient\models\user_item.py                         112      4    96%
tableauserverclient\models\view_item.py                          56      6    89%
tableauserverclient\models\workbook_item.py                     147      8    95%
tableauserverclient\namespace.py                                  1      0   100%
tableauserverclient\server\__init__.py                            9      0   100%
tableauserverclient\server\endpoint\__init__.py                  12      0   100%
tableauserverclient\server\endpoint\auth_endpoint.py             34      3    91%
tableauserverclient\server\endpoint\datasources_endpoint.py     102     22    78%
tableauserverclient\server\endpoint\endpoint.py                  56     10    82%
tableauserverclient\server\endpoint\exceptions.py                20      0   100%
tableauserverclient\server\endpoint\fileuploads_endpoint.py      46     31    33%
tableauserverclient\server\endpoint\groups_endpoint.py           78      4    95%
tableauserverclient\server\endpoint\projects_endpoint.py         40      0   100%
tableauserverclient\server\endpoint\schedules_endpoint.py        46      8    83%
tableauserverclient\server\endpoint\server_info_endpoint.py      16      0   100%
tableauserverclient\server\endpoint\sites_endpoint.py            59      4    93%
tableauserverclient\server\endpoint\users_endpoint.py            60      1    98%
tableauserverclient\server\endpoint\views_endpoint.py            23      0   100%
tableauserverclient\server\endpoint\workbooks_endpoint.py       139     13    91%
tableauserverclient\server\exceptions.py                          2      0   100%
tableauserverclient\server\filter.py                             19      1    95%
tableauserverclient\server\pager.py                              25      2    92%
tableauserverclient\server\request_factory.py                   278     46    83%
tableauserverclient\server\request_options.py                    41      0   100%
tableauserverclient\server\server.py                             83      6    93%
tableauserverclient\server\sort.py                                6      0   100%
---------------------------------------------------------------------------------
TOTAL                                                          2382    246    90%

:rocket:


dfs

sdf

bug

https://github.com/jsoref/Issue-Label-Bot-wiki/commits/a97d677f29f376a7b704ccf0a715991064e4a8b7


Bump rand to 0.4

Signed-off-by: Igor Gnatenko<EMAIL_ADDRESS>

It looks like rand 0.4 requires rustc 1.15.  Since it requires no code change, can we make this dependency >= 0.3, < 0.5? Then we don't have to bump the minimum rustc.  The CI scripts will have to explicitly downgrade for testing the older rustc though.

@cuviper done.

Sadly, rust-lang-nursery/rand#239 bumped the minimum rustc all the way to 1.22!  And rand-0.3.22 is now re-exporting items from 0.4, so any hope for older rustc has to downgrade to 0.3.20.
I'll go ahead and add that to this PR so we can merge, because it's now breaking CI in other PRs.

I acknowledge this is ugly, but still...
bors r+

Oh, hang on, need to figure out appveyor CI too... ugh
bors r-

Meh, we'll just be lazier about 1.12, testing Linux only.
bors r+

In the very last Windows target:
---- [compile-fail] compile-fail\future_escape.rs stdout ----
error: tests/compile-fail/future_escape.rs:2: unexpected error: '2:1: 2:20: multiple matching crates for `rayon` [E0464]'

This is a common problem with compiletest-rs, but usually we just avoid compiling the same crate multiple times.  But for some reason the build does show that it compiled rayon more than once.  No idea why, especially only on this one target.  Let's try again.
bors r+

Same failure... 😠

bors r+


[dev] use webpack mode: development

if target.type == "webpack" && target.webpack_config.is_none(), then set mode: development in webpack config.
This will speed up builds on live reload and improve the experience of using wrangler dev

also serve the source map locally


Model I

Are there plans on a version for the model I (with an option for regulating the debounce time)

not the author, but if you run usb-devices look for S: Manufacturer=Glorious, the line above it says P: Vendor=. Grab the 4 character alphanumeric code. From there post it here. If you don't know how to make a pull request, maybe someone will do it. This will at least get it a little support. If the Model O 2 I want is ever in stock ill be doing the same.


TS 5.6 Beta BuiltinIteratorReturn: can this be the default type argument of BuiltinIterator's TReturn?

Acknowledgement

[X] I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment
#58243 introduced the BuiltinIteratorReturn type and used it everywhere in type definition.
Then #58222 introduced the BuiltinIterator type and replaced some IterableIterator usage with BuiltinIterator.
I wonder if BuiltinIteratorReturn could be set to the default type argument of the TReturn type parameter of BuiltinIterator, e.g.:
// lib.es2015.iterable.d.ts
interface BuiltinIterator<T, TReturn = BuiltinIteratorReturn, TNext = any> extends Iterator<T, TReturn, TNext> {
    [Symbol.iterator](): BuiltinIterator<T, TReturn, TNext>;
}

#58463 mentions that BuiltinIteratorReturn cannot be used for IterableIterator because IterableIterator is a general purpose type not only for built-in iterators. However, this doesn't apply to BuiltinIterator. I think we can safely use BuiltinIteratorReturn specifically for BuiltinIterator's default type argument.
The downside of current approach (specify BuiltinIteratorReturn everywhere) is that it is too easy to disable the benefit of the new compiler option by manually using the BuiltinIterator type:
const nums = new Set([1, 2, 3, 4, 5]);

// oops! This is BuiltinIterator<number, any, any> regardless of compiler option
const values: BuiltinIterator<number> = nums.values();

Unfortunately, no. Despite the naming similarity, the "Builtin" referenced by BuiltinIterator and the "Builtin" referenced by BuiltinIteratorReturn actually mean two different things.
BuiltinIterator refers to any Iterator that has the global Iterator.prototype in its prototype chain. This includes the results of .values(), .keys(), .entries(), and [Symbol.iterator]() on Array.prototype, Map.prototype, Set.prototype, String.prototype, DOM NodeLists, typed arrays, user defined generators, and any user-defined subclass of the global Iterator value (e.g. class MyIterator extends Iterator).
BuiltinIteratorReturn refers only to the default return type for built-in iterators that are not generators and are not user-defined subclasses of the global Iterator value.
This is an important distinction due to incompatibilities between undefined and void. Generators that don't return a value will generally have a TReturn that is void to remain consistent with non-generator functions. While it's generally assumed that void is essentially undefined, it's actually more like "unknown, but don't try to use the value" due to how function type assignability works (() => unknown is assignable to () => void, even though unknown is not assignable to void).
Making BuiltinIteratorReturn the default for TReturn in BuiltinIterator actually caused a significant number of breaks in our user tests.
When I added the strictBuiltinIteratorReturn option and BuiltinIteratorReturn, the methods it applied to were still marked as IterableIterator, and we were still debating what to call the interface representing the global Iterator value introduced by the Iterator Helpers proposal. Perhaps we may need to consider renaming BuiltinIterator to reduce some of the confusion, but I don't think that would be a solution to your specific issue as even if we do rename it, we still wouldn't be able to make it the default at the interface level.
One option I have considered, however, is to remove the default for the TReturn type parameter in BuiltinIterator, which would indicate you must put something in that spot rather than leaving it as any.

Thank you for the detailed response!
One thing I don't still get, though, is how setting BuiltinIteratorReturn to the default for TReturn in BuiltinIterator caused breakage, given that BuiltinIterator is new in TS 5.6. Existing user code shouldn't be relying on the default type argument, especially when it's only the default and is not something observable to those who just use builtin-iterator-returning functions.
I'm still concerned about the downside I mentioned above. Iterator helpers will make it more common to write iterator-returning functions and some people, including isolatedDeclarations users, will want to explicitly write down the BuiltinIterators type.
Personally the option to remove the default feels slightly better given that quick fixes are available to help fill the spot with the correct type.

Or maybe yet another iterator type? 😅
interface IteratorReturnedByBuiltinIteratorReturningMethods<T> extends BuiltinIterator<T, BuiltinIteratorReturn, unknown> {}

@rbuckton Could you take a look at my comments above? I believe you missed something. I think it's not possible to break user tests by setting a default type argument of a newly added type (BuiltinIterator).
Also, while I understand the difference between "Builtin" as in BuiltinIterator and in BuiltinIteratorReturn, I actually feel that it isn't a bad idea to create yet another type for "Builtin" iterators in the latter sense.

@rbuckton Could you take a look at my comments above? I believe you missed something. I think it's not possible to break user tests by setting a default type argument of a newly added type (BuiltinIterator).

It might not break user tests, but it would break user intuition. It's generally a good idea to have a type parameter's default match its constraint, though that's not a requirement. That's because user's might normally expect a BuiltinIterator<T, U> to be assignable to a BuiltinIterator<T>.

Also, while I understand the difference between "Builtin" as in BuiltinIterator and in BuiltinIteratorReturn, I actually feel that it isn't a bad idea to create yet another type for "Builtin" iterators in the latter sense.

I'm considering shuffling names around and adding something like IntrinsicIterator/OrdinaryIterator, such that:

IntrinsicIterator<T, TReturn, TNext> has all of the iterator helpers (i.e., what is currently known as BuiltinIterator).
Generator<T, TReturn, TNext> extends IntrinsicIterator<T, TReturn, TNext>
BuiltinIterator<T> extends IntrinsicIterator<T, BuiltinIteratorReturn, unknown>
All built-ins inherit from BuiltinIterator<T>.

It might not break user tests, but it would break user intuition.

Makes sense, I now understand the BuiltinIteratorReturn can't be the default type argument for (current) BuiltinIterator.

I'm considering shuffling names around and adding IteratorObject to represent an iterator object that inherits from Iterator.prototype

Great news! That would solve my concern about explicitly writing down iterator types. Thank you.


RuntimeError: sizes do not match in l2_normalize

Traceback (most recent call last):
File "magnet_loss_test.py", line 265, in
run_magnet_loss()
File "magnet_loss_test.py", line 195, in run_magnet_loss
initial_reps = compute_reps(model, trainset, 400)
File "/export/mlrg/vthangar/Documents/MagnetLoss-PyTorch/magnet_loss/magnet_tools.py", line 27, in compute_reps
output, train_features = model(img)
File "/export/mlrg/vthangar/anaconda2/envs/magnet-loss-env/lib/python3.6/site-packages/torch/nn/modules/module.py", line 206, in call
result = self.forward(*input, **kwargs)
File "magnet_loss_test.py", line 124, in forward
norm_embeddings = self.l2_normalize(x, 1)
File "magnet_loss_test.py", line 151, in l2_normalize
return torch.div(x, norm)
File "/export/mlrg/vthangar/anaconda2/envs/magnet-loss-env/lib/python3.6/site-packages/torch/autograd/variable.py", line 315, in div
return Div()(self, other)
File "/export/mlrg/vthangar/anaconda2/envs/magnet-loss-env/lib/python3.6/site-packages/torch/autograd/_functions/basic_ops.py", line 57, in forward
return a.div(b)
RuntimeError: sizes do not match at /opt/conda/conda-bld/pytorch_1501971235237/work/pytorch-0.1.12/torch/lib/THC/generated/../generic/THCTensorMathPointwise.cu:344

Remove l2_normalize embeddings, it is not needed. We just need the output and features i.e. inputs to the FC layer.


Correcting install instructions

Updating the folder as per #96

is this the default gradle lib now?

Not sure what you mean, I was basing that PR off the issue I mentioned.

Thanks for fixing


Check for maximum allowed submissions added

Fixes: #180 [ Add a check while editing phase details in challenge page ]
Changes proposed:
The host will be notified and will not be able to edit the maximum_allowed_submissions field if the given input doesn't satisfy the condition maximum_submissions_per_day > maximum_submissions_per_month > maximum_total_submissions
GIF showing the added Check on maximum_allowed_submissions:

@Sanji515 Can you please test this and review it?

Codecov Report

Merging #315 into master will decrease coverage by 0.04%.
The diff coverage is 14.28%.

@@            Coverage Diff             @@
##           master     #315      +/-   ##
==========================================
- Coverage   50.63%   50.59%   -0.05%
==========================================
  Files          66       66
  Lines        3772     3777       +5
  Branches      444      446       +2
==========================================
+ Hits         1910     1911       +1
- Misses       1767     1771       +4
  Partials       95       95

Impacted Files
Coverage Δ

...e/challengephases/phasecard/phasecard.component.ts
58.97% <0.00%> (-4.92%)
:arrow_down:

src/app/services/challenge.service.ts
46.20% <50.00%> (+0.04%)
:arrow_up:

Impacted Files
Coverage Δ

...e/challengephases/phasecard/phasecard.component.ts
58.97% <0.00%> (-4.92%)
:arrow_down:

src/app/services/challenge.service.ts
46.20% <50.00%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


can't import

I get this:

Hi, @AndroidDeveloperLB
refer this issue: https://github.com/TonnyL/Charles/issues/2
If you still want to use this library, you could add code below to your root build.gradle file:
allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://dl.bintray.com/tonnyl/maven"
        }
    }
}

@TonnyL I'm not even talking about my project. All I wanted is to try this repository. Cloning it and trying to build it gets this issue.
Even trying to add those to the cloned project doesn't help.
Please fix it, and let us build it without special steps, just like other repositories.

Hi, @AndroidDeveloperLB
Have update the gradle of Spark?

@TonnyL It doesn't matter. Still have the same issue:

Please just make it work out of the box.

@AndroidDeveloperLB
Your gradle version is too high.

When you meet this dialog, DO NOT choose update.

@AndroidDeveloperLB
When you meet this dialog

Choose first option instead of third Update, there are bug of  bintray-release.

@TonnyL I didn't change it for this project. Look at the screenshot. Only thing I've added is:
    maven {
        url "https://dl.bintray.com/tonnyl/maven"
    }
    maven {
        url 'https://jitpack.io'
    }

The current project of the repository uses the latest stable version (3.0.1) .

@AndroidDeveloperLB
Remove these code:
 maven {
        url "https://dl.bintray.com/tonnyl/maven"
    }

It's my fault that I did not notice you are trying to build this lib. I thought you are going to add the lib as dependency😂.
If you still get a problem, I can help via remote control.

OK, I will watch this issue.

I think you can even see it in the Gif animation of the main page here.


Update default App Mesh Envoy sidecar image to latest release

See aws/aws-app-mesh-roadmap#132
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@nckturner thanks for the heads up. I was going to check the helm chart. Now I know for sure :)

@nckturner and PR opened :D aws/eks-charts#31


Dynamic orientation when using as Rack Middleware

I need to change orientation to landscape just for some pages, i.e., per request.

I am closing this issue as it can be resolved using meta tags and is cannot really be considered an open issue but rather a feature request that the PR #185 implements.


Adding unsafe curl

oh, sorry, this won't work because
AttributeError: 'PreparedRequest' object has no attribute 'verify'

it can be done via function parameters though, like compressed


How to change a output format of the audio to MP3 in both ios and android

Please fill the template to help you out. Also, please try the Example project compare before submiting the issue when you have certain issue with your project setup.

Version of react-native-audio-recorder-player
Version of React Native
Platforms you faced the error (IOS or Android or both?)
Expected behavior
Actual behavior
Steps to reproduce the behabior

+1


FF D18 decred miner software update

Hello good day everyone
I have a FF D18 decred miner 340gh,is there any software or firmware upgrade available,If anyone has let me know please,I wold like to upgrade ,Thanks in advance

Not sure which miner you are referring to here so I can't say if there is a firmware upgrade for it. You're better off taking a look at the website for the miner.


Remove an extra semicolon

If you run with a million GCC warnings on (we do), this'll trip -Wextra-semi.
I think I rematerialized single_include correctly (I just ran stitch), but please let me know if that needs anything else to be done with it.

Thank you for the report. This got fixed separately in 50a4a34905546d0c23c74ee15949acc8bb025d67 so I am going to close this.


how

Describe your problem here.

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
no

Remove the close(true) line as its closing your script before it has a chance to go more than once...

Also remove the spaces

Also spawning the guy sprite at 5000, 5000 will put him WAY off the screen in case you cant see him...

One least thing its onBeatHit() not onBeathit() (capital H)

me looking at the script and sees that it creates the sprite every time the beat hits: 😐
here i fix most of the part where it create the sprite every time the beat hits and setting the loop of the animation to false and also force the object to play the animation every time it beat:
function onCreate()
	makeAnimatedLuaSprite('yoo','guy ', 500, 500)
	addAnimationByPrefix('yoo','bump','guy ',24,false)
	setScrollFactor('yoo'),0.9,0.9)
	addLuaSprite('yoo',true)
end

function onBeatHit()
	if curBeat % 2 == 0 then -- remove this if you want it to bop head like gf
		objectPlayAnimation('yoo','bump',true)

	end
end

function onCreate()
	makeAnimatedLuaSprite('yoo', 'guy', 0, 300) -- FIX THE POSITION OR IT WILL BE OUT OF RANGE
	addAnimationByPrefix('yoo', 'bump', 'guy' ,24 ,false)
	setScrollFactor('yoo',0.9,0.9)
	addLuaSprite('yoo', false) -- change for behind characters
end

function onBeatHit()
	if curBeat % 2 == 0 then -- remove this if you want it to bop head like gf
		objectPlayAnimation('yoo','bump',true)
	end
end

Fixed version.
(We don’t know the cords cuz we don’t got the image. This is my guess.

function onCreate()
	makeAnimatedLuaSprite('yoo', 'guy', 0, 300) -- FIX THE POSITION OR IT WILL BE OUT OF RANGE
	addAnimationByPrefix('yoo', 'bump', 'guy' ,24 ,false)
	setScrollFactor('yoo',0.9,0.9)
	addLuaSprite('yoo', false) -- change for behind characters
end

function onBeatHit()
	if curBeat % 2 == 0 then -- remove this if you want it to bop head like gf
		objectPlayAnimation('yoo','bump',true)
	end
end

Bruh that’s literally mine :/

Bruh that’s literally mine :/

But in color :D


Error with find()

Hi, I am trying to find elements with Find() but always It returned "Error: couldn't find a usable index. try creating...".
My data array is similar to:
var data = {
     name: 'Peter',
     moreData: {
         phone: 002356666,
         email<EMAIL_ADDRESS>     }
}

How do I find elements with phone key?

@isaacanet you would need to create an index with the fields moreData.phone and then you would need to query with the moreData.phone. If you don't know how to do that I would recommend reading the readme as well as the Cloudant docs.

I do it, but when I want to find by phone returns error.
My code is:
db.createIndex({
      index: {
        fields: ['actor.firstName']
      }
    }).then(function (result) {
      db.find({
        selector: {moreData: {phone: 002356666}}
      }).then(function (r) {

      }).catch(function (err) {
        console.log(err)
      })
    }).catch(function (err) {
      console.log(err)
    })

The issue here is  you are creating an index on actor.firstName but then querying on something different. You need to do this instead:

db.createIndex({
      index: {
        fields: ['moreData.phone']
      }
    }).then(function (result) {
      db.find({
        selector: {'moreData.phone': 002356666}}
      }).then(function (r) {

      }).catch(function (err) {
        console.log(err)
      })
    }).catch(function (err) {
      console.log(err)
    })

Now It's working! Thanks! Technical failure...


Using #dp-input slot instead of text-input results in month selector applying wrong month

Describe the bug
Using #dp-input slot instead of text-input results in month selector applying wrong month (month selected -1 seems to be applied).
eg. Clicking Nov selects Oct, and clicking Jan selects Dec of previous year.
To Reproduce
<VueDatePicker v-model="date">
  <template #dp-input>

      {{ date ? date : 'Select date' }}

  </template>
</VueDatePicker>

Expected behavior
Selecting a month selects correct month as it does in this example:
<VueDatePicker
  v-model="date"
  text-input
>
</VueDatePicker>

Desktop & mobile (please complete the following information):

Browser: chrome 121, firefox 122
Library version: 8.1.0

Original steps to reproduce were incomplete. Wrapping VueDatePicker in a label was required.

  <VueDatePicker v-model="date">
    <template #dp-input>

        {{ date ? date : 'Select date' }}

    </template>
  </VueDatePicker>

This is strange, but I can easily work around it.


Convert the Danger Dangerfile to the new syntax

Removes all the implicit plugin usage. Post 1.0 this is the normal syntax.

Me being a bot and deleting the branch 😉


Move ProductTypes to JSON files

For more portability and some upcoming changes, we need to move the data from the ProductTypes to JSON files.
These should be stored in:
config/mods/:mod_name/product_types/:product_type.json
There could be one or more product types in that DIR.

Adding to backlog for now until Monday when we discuss with Thoughtbot.

This will be handled elsewhere as a side-effect.


When entering Korean, the text cursor is behind single space.

Is there an existing issue for this?

[X] I have searched the existing issues

Flutter Quill version
9.1.1
Steps to reproduce
just input korean text
Expected results
https://github.com/singerdmx/flutter-quill/assets/7384324/61764337-56b9-42a3-b7b4-1b839f9ed145
The video is the behavior of a typical chrome input window.
The text cursor must always be behind like english.
Actual results
https://github.com/singerdmx/flutter-quill/assets/7384324/7e06a6a9-ebd6-48c4-8922-584b20359b43
The text cursor is drawn in front of single space, but it acts as if it is working as normal as English.
Perhaps only the location where the text cursor is drawn is wrong.
Code sample
I used flutter-quill's example editor
Screenshots or Video
No response
Logs
No response

ah, its flutter issue.
I tried textfield, and that bug appears same.


Adding index to iterator function

i think it's very helpful if we pass the index

Use R.addIndex(R.forEach) to get this behaviour. ;)
See R.addIndex for details.


About the model reproduction results of Resnet

hi,As shown in the following figure in your paper: In the 50th epoch, the accuracy of the model suddenly increased and finally converged to 72.0. My replication situation is that in the 50th epoch, the accuracy increased from 67.2 to 69.8 and finally converged to 70.8. May I ask what is the specific training log on your end?Looking forward to your reply。

Sorry for the delayed reply. I've been very busy lately. The increase (from 68.8 to 71.1) in AP is due to the learning rate decay.

Sorry for the delayed reply. I've been very busy lately. The increase (from 68.8 to 71.1) in AP is due to the learning rate decay.

Oh, thank you for your reply. Our reproduction difference is that you have increased from 68.6 to 71.1, while I have increased from 67.2 to 69.8. Is the configuration file for resnet the default configuration? I will reproduce the results again.

Sorry for the delayed reply. I've been very busy lately. The increase (from 68.8 to 71.1) in AP is due to the learning rate decay. Can you share your full training log? thank you very much!

@Michel-liu  Can you share your full training log? thank you very much!

Sorry for the delayed reply. I have been too busy recently. The provided configuration is the same setting as our paper. Do our pre-trained checkpoints run well on your machine? Maybe you can try to enlarge the number of instances? Figure 4 already lists the convergence curve, you can take it as the training records for reference.

Sorry for the delayed reply. I have been too busy recently. The provided configuration is the same setting as our paper. Do our pre-trained checkpoints run well on your machine? Maybe you can try to enlarge the number of instances? Figure 4 already lists the convergence curve, you can take it as the training records for reference.
hi, I used  your pre-trained checkpoints (swin-L) just got the 74.4 AP.

Sorry for the delayed reply. I have been too busy recently. The provided configuration is the same setting as our paper. Do our pre-trained checkpoints run well on your machine? Maybe you can try to enlarge the number of instances? Figure 4 already lists the convergence curve, you can take it as the training records for reference.

hi, I used your pre-trained checkpoints (swin-L) just got the 74.4 AP.

Okay, I get it. Maybe the environment affects the final results. Before releasing the checkpoint, we have already checked each of them. I will provide a detailed Python environment configuration next month, I am too busy right now, sorry.

@Michel-liu  Thanks! I will try it again. By the way, I am working on the interpretability of end-to-end pose estimation models, could I have your contact information? and we can exchange ideas sometime. My e-mail address is<EMAIL_ADDRESS>

@Iterfqly  Yes, I can't reproduce the results of the paper either, I got AP 70.6.

@WEIZHIHONG720 According to my results, if the cuda version that comes with the driver is 11.1, the result of Resnet is AP70.5, if the cuda version is changed to 11.0 which is same with the ones of conda enviroment, the result is AP0.0 after 15 epochs. It is very confusing.

@WEIZHIHONG720  My cuda version is 11.1 . But I really cannot reproduce 72.0AP （resnet50）in the paper.

@WEIZHIHONG720 My batch size is 16 (8 GPU cards ✖ 2 images on each card)，which is same with original config. And my GPU  is RTX A5000. Can you tell me your GPU model and quantity?

The results of ResNet50 are strange. As many issues are reported on this, I will check it out later.
Before that, do the provided checkpoints work normally? Can the reproduced results of Swin-T and Swin-L be aligned?

@Michel-liu The checkpoint you provided is normal. My result of Swin-T is AP 72.79

@WEIZHIHONG720 My batch size is 16 (8 GPU cards ✖ 2 images on each card)，which is same with original config. And my GPU is RTX A5000. Can you tell me your GPU model and quantity?
My batch size is the same to you . My GPU is RTX 8000

@WEIZHIHONG720 My batch size is 16 (8 GPU cards ✖ 2 images on each card)，which is same with original config. And my GPU is RTX A5000. Can you tell me your GPU model and quantity?

My batch size is the same to you . My GPU is RTX 8000

@Iterfqly How about your reproduced results of Swin-T ?

@Iterfqly How about your reproduced results of Swin-T ?

I did not reproduce Swin-T due to memory limitations.

@Michel-liu @WEIZHIHONG720  Hi, first of all, thank you for your fantastic work! But I also can't reproduce the results of resnet50 trained  from scratch, my accuracy is 70.6. do you know what the problem is please? I used 8 * v100 with total batchsize of 16.

@Iterfqly How about your reproduced results of Swin-T ?

I did not reproduce Swin-T due to memory limitations. Are you unable to reproduce the results of Swin-T, also?

Yes, how about you now.

@Iterfqly How about your reproduced results of Swin-T ?

I did not reproduce Swin-T due to memory limitations. Are you unable to reproduce the results of Swin-T, also?

Yes, how about you now.

Sorry, during this period, I did not continue to reproduce it.

@WEIZHIHONG720 @tenforests @Iterfqly  First of all, thank you very much for your discussion. I'm having a similar issue with the reproduction process, have you fixed the reproduction issue with Resnet50? Can the results of 72.0AP be trained on the validation set?

@Iterfqly How about your reproduced results of Swin-T ?

**WEIZHIHONG720 ** commented Oct 11, 2023 •

Hi, have you sloved this problem?


Deprecating a few task options

https://vatlab.github.io/sos-docs/doc/user_guide/task_statement.html#Task-Options lists all the tasks options that are currently supported, but some of them do not seem to be useful.

concurrent. I have never encountered a case that tasks should be execute sequentially. Even if this is true, input: concurrent=False should take care of it.

active: we already have skip_if etc but we did keep sh: active=... so this is border line.

env: this is not useful at all because we are not sure which env we are changing, local or remote. In addition, we do have host-specific task_template

prepand_path, the same... this should be gone for the same reason.

map_vars: this suppose to allow the translation of path for specified host, in addition to workdir, _input and _output, but I have never used it...

to_host, from_host: files to be synchronized in addition to _input, and _output. Again, I have never used them....

The problem with map_vars and to_host and from_host is that if we are at a point that we should carefully consider mapping of variables and transfer of additional files, we should forget about "portability" and write tasks for a specific remote host.
@gaow Let me know which ones you have ever used...

Am traveling this week. In my daily pipelines I  use none of them. In
generated DSC benchmarks I use prepend_path. Not sure about env I thought
we have discussed in another ticket and decided to keep it. What is the
difference here?  That other discussion was for actions right?
On the go. Sorry for short text.
On Sat, 21 Dec 2019, 15:51 Bo<EMAIL_ADDRESS>wrote:

https://vatlab.github.io/sos-docs/doc/user_guide/task_statement.html#Task-Options
lists all the tasks options that are currently supported, but some of them
do not seem to be useful.

concurrent. I have never encountered a case that tasks should be
execute sequentially. Even if this is true, input: concurrent=False
should take care of it.
active: we already have skip_if etc but we did keep sh: active=... so
this is border line.
env: this is not useful at all because we are not sure which env we
are changing, local or remote. In addition, we do have host-specific
task_template
prepand_path, the same... this should be gone for the same reason.
map_vars: this suppose to allow the translation of path for specified
host, in addition to workdir, _input and _output, but I have never
used it...
to_host, from_host: files to be synchronized in addition to _input,
and _output. Again, I have never used them....
The problem with map_vars and to_host and from_host is that if we are at
a point that we should carefully consider mapping of variables and transfer
of additional files, we should forget about "portability" and write tasks
for a specific remote host.
@gaow https://github.com/gaow Let me know which ones you are using ...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vatlab/sos/issues/1348?email_source=notifications&email_token=AAHADYJ36SHEU3PFV4GVKHDQZZ6T7A5CNFSM4J6IUO2KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ICEVKLQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHADYOJ7CTEQ7OSYFDWUS3QZZ6T7ANCNFSM4J6IUO2A
.

prepend_path is a simplified version of env={'PATH': new_path : os.environ('PATH')}. As I said, the problem is that we do not know if PATH is local or remote, and it should not exist as general task option...
I am almost done with my rewrite of documentation... after this the documentation should be readable by others and I should perhaps find a student who does not know sos at all and see if it is understandable...

prepend_path is a simplified version of env

In that case I'm cool to remove or at least hide prepend_path. I can adjust my script to use env.

the problem is that we do not know if PATH is local or remote

True, but most cases for, for example conventional pipeline tool users (snakemake) the PATH is shared on all nodes under the same HPC environment. I am thinking of the notion of "not make simple task harder" ...

. I am thinking of the notion of "not make simple task harder" ...

I think the general rule for all cluster systems is not executing long-running jobs on headnodes. That means executing a workflow on the headnode, submit tasks to a cluster system, and wait for the completion of the tasks are not recommended even not allowed.
So basically there are two recommended ways to work with cluster systems

Execute workflows on a desktop or laptop and submit large jobs to cluster system, in which case there will be local and remote paths, thus all the confusions.
Execute the entire workflow on the cluster system with option -r, then the workflow needs to be written specially for the cluster system. This problem is not important to you because you are running simulation codes, but important to me because I need to use all sorts of tools and paths...

In our system it is possible to submit an SoS command to a compute node which submits jobs from there. So we dont have to work with case 1 above.

I need to use all sorts of tools and paths...

I though the solution we discussed earlier is to use config files to set values in env?

I though the solution we discussed earlier is to use config files to set values in env, if we dont want to bother with specifically setting up task templates?

Yes, task_template is the ultimate solution but env and prepend_path are quick patches to make a task work for specific host.
I just realized that prepend_path is not a shortcut for env={'PATH'...} because env are evaluated locally so setting env={'PATH': 'more/path':os.environ['PATH']} will not work. Instead, prepend_path is done on the remote host before the task is executed, so it is actually prepending to $PATH on remote host.
Now, since both options have their value, and actually allows the execution of tasks with different PATH on the same host, it makes sense to keep them. (This is very similar to the argument of env for actions).

Finally decided to keep to_host and from_host but removed the dictionary options (which is the source of confusion), and deprecated map_vars.


Findonnxruntime: modification to support upcoming onnxruntime Windows conda-forge package

Note: https://github.com/conda-forge/onnxruntime-feedstock/pull/56 added an onnxruntime-cpp package on Windows, but name of the shared library on Windows is onnxruntime_conda.dll and not onnxruntime.dll, so we need to change accordingly the Findonnxruntime.cmake script.
This PR supports finding the onnxruntime library for Windows as generated by https://github.com/conda-forge/onnxruntime-feedstock/pull/56 . A different name is required for Windows as a workaround for https://github.com/conda-forge/onnxruntime-feedstock/pull/56#issuecomment-1586080419 .

fyi @giotherobot

https://github.com/conda-forge/onnxruntime-feedstock/pull/56#event-9591103361 was merged, so it is confirmed that the library is called onnxruntime_conda.dll instead of onnxruntime.dll. So I can mark this PR as ready for review.

Windows is failing with:
[293/413] Building CXX object src\ML\CMakeFiles\ML.dir\src\MANN.cpp.obj
FAILED: src/ML/CMakeFiles/ML.dir/src/MANN.cpp.obj
C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo /TP -DFMT_SHARED -DML_EXPORTS -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -D_USE_MATH_DEFINES -Dcasadi_VERSION=3.6.2 -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\ML\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\ParametersHandler\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\GenericContainer\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\TextLogging\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\System\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\ContinuousDynamicalSystem\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\ContactModels\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\Math\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\Contacts\include -ID:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\Conversions\include -external:IC:\Miniconda3\envs\test\Library\include\eigen3 -external:IC:\Miniconda3\envs\test\Library\include -external:IC:\Miniconda3\envs\test\Library\include\onnxruntime\core\session -external:W0 /DWIN32 /D_WINDOWS /GR /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /wd4251 /wd4275 /bigobj /showIncludes /Fosrc\ML\CMakeFiles\ML.dir\src\MANN.cpp.obj /Fdsrc\ML\CMakeFiles\ML.dir\ /FS -c D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\ML\src\MANN.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\memory(3382): error C2664: 'Ort::Session::Session(const Ort::Env &,const wchar_t *,const Ort::SessionOptions &)': cannot convert argument 2 from '_Ty' to 'const wchar_t *'
        with
        [
            _Ty=const char *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\memory(3382): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Miniconda3\envs\test\Library\include\onnxruntime\core\session\onnxruntime_cxx_inline.h(951): note: see declaration of 'Ort::Session::Session'
D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\src\ML\src\MANN.cpp(172): note: see reference to function template instantiation 'std::unique_ptr<Ort::Session,std::default_delete<Ort::Session>> std::make_unique<Ort::Session,Ort::Env&,const _Elem*,Ort::SessionOptions,0>(Ort::Env &,const _Elem *&&,Ort::SessionOptions &&)' being compiled
        with
        [
            _Elem=char
        ]

@giotherobot solved a similar problem on an internal project, I will check his solution.

@giotherobot solved a similar problem on an internal project, I will check his solution.

Apparently the Session constructor wants a std::wstring* on Windows, see

https://github.com/microsoft/onnxruntime/blob/v1.15.1/docs/FAQ.md?plain=1#L61
https://github.com/microsoft/onnxruntime/blob/v1.15.1/include/onnxruntime/core/session/experimental_onnxruntime_cxx_api.h#L26
https://github.com/microsoft/onnxruntime/blob/v1.15.1/include/onnxruntime/core/session/onnxruntime_c_api.h#L85

@giotherobot solved a similar problem on an internal project, I will check his solution.

Apparently the Session constructor wants a std::wstring* on Windows, see
* https://github.com/microsoft/onnxruntime/blob/v1.15.1/docs/FAQ.md?plain=1#L61

* https://github.com/microsoft/onnxruntime/blob/v1.15.1/include/onnxruntime/core/session/experimental_onnxruntime_cxx_api.h#L26

* https://github.com/microsoft/onnxruntime/blob/v1.15.1/include/onnxruntime/core/session/onnxruntime_c_api.h#L85

* [Linux wants const char but Windoze wants const wchar_t in Ort::Session::Session microsoft/onnxruntime#15889](https://github.com/microsoft/onnxruntime/issues/15889)

I provided a fix in https://github.com/ami-iit/bipedal-locomotion-framework/pull/686/commits/77a3313d2e5ab385fbc1c7dc1ff89681dd723def .

The changelog checker is failing for unrelated reasons:
/home/runner/work/_actions/Zomzog/changelog-checker/v1.1.0/dist/index.js:7752
        const error = new requestError.RequestError(message, status, {
                      ^

RequestError [HttpError]: Resource not accessible by integration
    at /home/runner/work/_actions/Zomzog/changelog-checker/v1.1.0/dist/index.js:7752:23
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  status: 403,
  headers: {
    'access-control-allow-origin': '*',
    'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset',
    connection: 'close',

Tests are running fine also on Windows:
2023-06-22T09:08:11.5508304Z       Start 53: MANNUnitTests
2023-06-22T09:08:11.7336552Z 53/56 Test #53: MANNUnitTests .........................................   Passed    0.18 sec
2023-06-22T09:08:11.7340210Z       Start 54: MANNTrajectoryGeneratorUnitTests
2023-06-22T09:08:12.4525021Z 54/56 Test #54: MANNTrajectoryGeneratorUnitTests ......................   Passed    0.72 sec

The changelog was updated and the changelog checker failure is unrelated, so I think the PR is ready for review. @S-Dafarra @GiulioRomualdi


fix: change docker alias

Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (keploy/keploy#1336)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Additional Context (Please include any Screenshots/gifs if relevant)
...
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings
[ ] I have tagged the reviewers in a comment below incase my pull request is ready for a review
[ ] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

Hey @AkashKumar7902 since keploy docker does not need an alias to start now, this change is no longer required in the README, we are working on removing the alias from the README altogether


Fix builds that specify both no-dh and no-ec

Various sections of code assumed that at least one of dh or ec would be
available. We also now also need to handle cases where a provider has
a key exchange algorithm and TLS-GROUP that we don't know about.
Fixes #13536

This pull request is ready to merge

Pushed. Thanks.


update basic example notebook for path averaged reference evaluation

added visual and quantitative comparisons between the cml and path averaged rain rates as well as the calculation of performance metrics

Thanks!
Some minor things that could be improved:

Larger plot of CML-vs-reference time series and maybe use different color for reference (orange and blue are used above for the two channels of the CML raw data)
Add two or three more CML-vs-reference time series to give a nice impression of how good (or bad) the fit between the two is

And maybe one thing that we should have done already. Add the following so that xarray output is rendered reasonably when viewing notebooks on github
# Do show xarray.Dataset representation as text because gitlab does not (yet) render the
# html output correctly (or sometimes not at all...)
xr.set_options(display_style='text');

Codecov Report

Merging #95 (7eaa617) into master (2abf27d) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 7eaa617 differs from pull request most recent head 9d0f2d6. Consider uploading reports for the commit 9d0f2d6 to get more accurate results

@@           Coverage Diff           @@
##           master      #95   +/-   ##
=======================================
  Coverage   63.35%   63.35%
=======================================
  Files          25       25
  Lines         876      876
=======================================
  Hits          555      555
  Misses        321      321

Flag
Coverage Δ

unittests
63.35% <ø> (ø)

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

Continue to review full report at Codecov.

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

can you please also remove cell 17 and 18 from the notebook which I left there accidentally some time ago 😇

Thanks!


Mention fields function in docs

While doing typst scripting, I often wonder: what fields can I überhaupt access here?
This PR suggests to mention the function on the scripting documentation page (https://typst.app/docs/reference/scripting/).
(By the way, I'm having a blast writing my PhD thesis in typst. I used to always carry some exotic LaTeX template around to get the document to print the way my field required, but with typst I have solved my styling in about 40 lines and a few hours. No need for hours of tuning nor thousands of lines of code. Amazing work by you on figuring out the right abstractions!)

could you rephrase it a bit to clarify that .fields() is only available on content and not on every type?

By the way, I'm having a blast writing my PhD thesis in typst. I used to always carry some exotic LaTeX template around to get the document to print the way my field required, but with typst I have solved my styling in about 40 lines and a few hours. No need for hours of tuning nor thousands of lines of code. Amazing work by you on figuring out the right abstractions!

Thanks, it means a lot :)

Thanks!

Thanks for the review!


CI deployments, volunteers, and security

We have 90 people with write access to at least one repository in the org.  This is great!
Any of them could conceivably exfiltrate a deployment secret, or publish an artifact outside the projects to which they've been added.  This is not great!
I have no reason to suspect malfeasance, but how do we prevent a disgruntled volunteer from publishing Cats 2.9.1 and getting it into everyone's Scala Steward before anyone notices?

Is there a way we could monitor for dubious artifacts on Maven Central?
Should we consider (ugh) per project GPG keys to improve traceability?  That's still projects, not people.
... but nobody validates GPG keys anyway, so that's not even preventative.

I'm proud of how we bring along new maintainers and wish to extend the tradition.  I just wonder if we've fallen behind on any practices that could make it safer.

This is a valid concern, but hard to solve. I wonder if there are any security scanning tools that can be added to the CI  run that have an OSS friendly pricing model that can be leveraged.
Not something I have looked at in detail, but wonder if this is something like codeql can be used help to some degree with this.
Also, wonder if anyone has written a tool to analyze GitHub audit log, if not this would be a fun side project to do for the purpose of helping with the concerns highlighted here.


Best practices for supporting tool-specific configuration file?

I'm wondering what the best practice is for how a language server should support an existing language-specific configuration file? For example, say I'm developing a language server for a tool that supports configuration via a myconfig.toml file in the project root. I want the language server to pull configuration from this file if it exists. I see two possible solutions:
1: Have the language server search for and read this file itself.
This option feels relatively straightforward, and doesn't require special client support. However, I'd like to re-run analytics on open files when the configuration is updated. It's less clear to me how to do so cleanly in this case. In addition, it seems more in the spirit of the spec not to assume that the client and server are both running with access to a shared local filesystem, which I believe this method would require (although this seems to be the common case, so perhaps it's an acceptable assumption).
2: Have the client parse the local configuration and pass it to the language server.
This option would use the "proper" LSP configuration mechanisms (i.e. workspace/configuration, workspace/didChangeConfiguration) to configure the server, and leave it up to the client to search for and parse the local project configuration. However, this requires a specialized client implementation per-editor, which seems to defeat the point of the LSP.
Any guidance would be appreciated!

For a language-specific configuration file, I would say option (1) seems more appropriate because it's servers which are language-specific and not clients.

I'd like to re-run analytics on open files when the configuration is updated. It's less clear to me how to do so cleanly in this case.

The LSP has a mechanism for servers to ask clients to watch for filesystem changes to a set of files of the server's choosing, see workspace/didChangeWatchedFiles.

In addition, it seems more in the spirit of the spec not to assume that the client and server are both running with access to a shared local filesystem, which I believe this method would require (although this seems to be the common case, so perhaps it's an acceptable assumption).

I'm less sure about this part, but as one data point, clangd (C/C++ language server) makes this assumption: the contents of the file being edited itself comes from textDocument/didOpen and textDocument/didClose (so the client is reading the file from the filesystem), but the contents of any #include-ed files are read from the filesystem directly by the server.

To my knowledge most servers do (1). If you need something special using getConfiguration is the right way to go. Especially when configurations are stored differently from client to client.


Add ability for Accordion to expand a certain card

TODO: port over https://github.com/yiisoft/yii2-bootstrap4/commit/21b7ba166fe47e609d4093bd89da898c66fb627b

Is it solved now?

This is the next thing I will be working on. Please review the pull request separately (which is ready, yes).


"Deadline Exceeded" when fetching Responsive Search Ads starting 4/6

We have been using SearchStream() to fetch ads with campaign ID specified.
Here is a sample query:
SELECT ad_group_ad.ad.final_urls, ad_group_ad.ad.final_mobile_urls, ad_group_ad.ad.id, ad_group_ad.ad.responsive_search_ad.descriptions, ad_group_ad.ad.responsive_search_ad.headlines, ad_group_ad.ad.responsive_search_ad.path1, ad_group_ad.ad.responsive_search_ad.path2, ad_group_ad.ad.tracking_url_template, ad_group_ad.ad.url_custom_parameters, ad_group_ad.ad.final_url_suffix, ad_group_ad.status, ad_group.id, ad_group.name, campaign.name
FROM ad_group_ad
WHERE campaign.id IN (some,campaign,ids)
AND ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD'
AND campaign.status != 'REMOVED'
AND ad_group.status != 'REMOVED'
AND ad_group_ad.status != 'REMOVED'
ORDER BY ad_group_ad.ad.id ASC
The API could take a long time to get all the ads depending on the count of ads in the list of campaigns.
We recently found that a query, which used to successfully return ~400k Responsive Search Ads within 40 minutes, now started to hit the "Deadline Exceeded" every 15 minutes
At the time when it happened, we were using V9. We updated the client library to V10 and the problem persist. As I checked, the default RPC timeout is supposed to be 1 hour but it appears to be 15 mins now.
Client library version and API version:
Client library version: 11.0.0
Google Ads API version: V9 or V10
.NET version: 5.0
It looks like that there is a change in the timeout setting but we did not touch the API usage in any way when the issue started to show up.
Is there any known issue around RPC timeout and what could we do to restore / force the timeout to be 1 hour?

I made a mistake in checking the time spent in the past. It was 15 seconds rather than 15 minutes. Thus, I think this sudden increase in the query time is not a client library issue. I am closing this issue now.


JSON Parsing Tests by seriot.ch

Just wanted to report here. See http://seriot.ch/json/parsing_pruned.html#33 and http://seriot.ch/parsing_json.html. Red means that the parser crashed.

Thanks, all crashes should already be fixed in #95 :)

Closed with #95


Lock windows position and size

It would be great to be able to lock the position and size of selected windows.
Something Windows can only do with the help of third-party programs, but they could already do it themselves.

I have been looking for this for FOREVER! This just seems like the logical extension to "always on top".

I also needed this function recently, so I checked whether powertoy was implemented but found that it was not, so I implemented it myself. The core code is SetWinEventHook for the target process, and resets the window size when events 10 and 11 are detected. After experimenting, I found that it is possible to do this. Can you consider integrating this function into powertoy?


Add support for Google-style comments

I know it is already planned, but I just wanted to create an issue so this has some visibility and people can also vote for it with a :+1: reaction for example.
We would love to replace the dead corpse of darglint with this tool :)

Hi @leandro-lucarella-frequenz , thanks for the vote of confidence!
I already found this docstring parser (https://github.com/rr-/docstring_parser) that seemed to parse Google-style docstrings well.
I plan to start to integrate this parser in a few days, if not sooner.

Hi @leandro-lucarella-frequenz , I've added support for the Google style.  It's in 0.0.3.
Please feel free to give it a try!
I'm closing this issue as "done".  But if you find any issues, bugs, or have some feature requests, please feel free to open new issues.

Amazing, thanks! I'll try to find a time slot to try it this week!

Actually I just gave it a quick try. We are using a style that includes documentation in the __init__() function (not sure if it is fully compatible with google-style) which is not checked by darglint. Is there a way to disable some checks?
For more context, we are using mkdocs + mkdocstrings to generate the docs (for example https://frequenz-floss.github.io/frequenz-channels-python/). It does have an option to mix the the class and __init__ docs, but I think you need to include some of the docs in the __init__ docstring, like the Args:, Returns:, etc. I know I tried the combined class and init` doc but found some issues with it, which made us decide for having them separated.

One of the current rules in pydoclint is:

DOC301: __init__() should not have a docstring; please combine it with the docstring of the class

I set up this rule because:

Sphinx (what I use to generate docs) reads the class docstring, rather than docstring under __init__()
The numpy docstyle guide suggests to document __init__() under the class name (class MyClass:)
The Google docstring style template also document the constructor under the class name

Does your team have a strong reason to put documentation in both __init__() and the class?  If not, could you try to put all the docstrings under the class?  If so, could you show me a code example and we can potentially add this as a configurable option of pydoclint.

Does your team have a strong reason to put documentation in both __init__() and the class? If not, could you try to put all the docstrings under the class? If so, could you show me a code example and I can potentially add this as a configurable option of pydoclint.

As I said, there was a reason, I don't remember exactly what, but I remember trying both out and deciding for the split. I see the template you link is from Sphinx, but the official google style guide documents the __init__ separately: https://google.github.io/styleguide/pyguide.html#384-classes
I think a mechanism to ignore some rule as most linting tools have will be generally beneficial.

BTW, the Sphinx template you link also documents the __init__ in one example, so maybe that check should be completely removed :)
class ExampleClass:
    """The summary line for a class docstring should fit on one line.

    If the class has public attributes, they may be documented here
    in an ``Attributes`` section and follow the same formatting as a
    function's ``Args`` section. Alternatively, attributes may be documented
    inline with the attribute's declaration (see __init__ method below).

    Properties created with the ``@property`` decorator should be documented
    in the property's getter method.

    Attributes:
        attr1 (str): Description of `attr1`.
        attr2 (:obj:`int`, optional): Description of `attr2`.

    """

    def __init__(self, param1, param2, param3):
        """Example of docstring on the __init__ method.

        The __init__ method may be documented in either the class level
        docstring, or as a docstring on the __init__ method itself.

        Either form is acceptable, but the two should not be mixed. Choose one
        convention to document the __init__ method and be consistent with it.

        Note:
            Do not include the `self` parameter in the ``Args`` section.

        Args:
            param1 (str): Description of `param1`.
            param2 (:obj:`int`, optional): Description of `param2`. Multiple
                lines are supported.
            param3 (list(str)): Description of `param3`.

        """

Thanks for providing the code example!
Can you confirm that these are the desired behaviors:

In the __init__() docstring, check the args (param1, param2, ...) against the arguments in __init__()
In the ExampleClass docstring, check the attributes against all the self.XXX = ... in the __init__() method

The 1st point be easily achieved.
The 2nd point may be a bit tricky, because it requires the following:

Go through the actual code contents of __init__()
Find all the self.XXX = ... statements
Exclude the private attributes (self._YYY = ...)

It's probably still doable though.

Is correct.
Might be nice to have, but we actually don't use attributes, as mkdocstrings render them only in the class documentation but doesn't add them to the TOC. mkdocstrings accept also docstrings for instance attributes inside the __init__ body and this is what we use:

class ExampleClass:
    """The summary line for a class docstring should fit on one line.

    If the class has public attributes, they may be documented here
    in an ``Attributes`` section and follow the same formatting as a
    function's ``Args`` section. Alternatively, attributes may be documented
    inline with the attribute's declaration (see __init__ method below).

    Properties created with the ``@property`` decorator should be documented
    in the property's getter method.
    """

    class_variable: str = "test"
    """This is the documentation of the class variable."""

    def __init__(self, param1, param2, param3):
        """Example of docstring on the __init__ method.

        self.attr1: str = param1
        """This is the documentation for the attr1 instance attribute."""

I think this is pretty non-standard, and also there isn't much to check with this way of documenting, so for our specific use case 2. is not needed at all.
If I may derail a bit, speaking of attributes, one thing that is very annoying for us about darglint is also that it will check @propertys as if they were regular functions, so we are forced to duplicate the docs for properties basically because it requires a Returns:. For example:
    @property
    def delay_tolerance(self) -> timedelta:
        """Return the maximum delay that is tolerated before starting to drift.

        Returns:
            The maximum delay that is tolerated before starting to drift.
        """
        return timedelta(microseconds=self._tolerance)

We would love to write this instead:
    @property
    def delay_tolerance(self) -> timedelta:
        """The maximum delay that is tolerated before starting to drift."""
        return timedelta(microseconds=self._tolerance)

(we still would have one issue with this because we use also http://www.pydocstyle.org/en/stable/, which also requires function to start with a verb, but we didn't investigate if there is a way to escape that for properties in pydocstyle yet)

Hi @leandro-lucarella-frequenz :
I've merged https://github.com/jsh9/pydoclint/pull/7, which added an option --allow-init-docstring (or -aid).  I haven't released a new version yet, because I have some other code changes in mind.  But you can install the latest version on main, or install it locally to try it out.
By default, it's False.  If you set it to True, you can have pydoclint check the docstring of __init__().  Please see the new violation codes: DOC303 to DOC307.
As to the issue of @property: with pydoclint, you don't need to add a "return" section in your docstring any more.  You can take a look at how pydoclint itself documents @property methods: https://github.com/jsh9/pydoclint/blob/30eedbd0fbd2034734e709e41f10b70dc33ee74f/pydoclint/utils/arg.py#L108-L121
This is a happy coincidence because of an option in pydoclint: --skip-checking-short-docstrings, which defaults to True.  But if you for some reason need to set it to False, you run into the same issue again.  Therefore I may make a code change soon to exempt @property methods for having to add a "returns" section.
But other aspects are out of the control of pydoclint:

pydocstyle requires a docstring in public methods (@property methods usually are public)
pydocstyle requires the docstring of a method/function to start with a verb

OK, I just tried it out and it works like a charm with -aid True! Also, I guess pydocstyle was updated because I also tried documenting a property without a verb and it also works fine :tada:
There are a few bad news though: After trying it I realized it worked without specifying the --style=google, so I tried adding that but then when trying --style=google I actually get a backtrace:
pydoclint -q -aid True --style=google src/
Traceback (most recent call last):
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/bin/pydoclint", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/main.py", line 144, in main
    violationsInAllFiles: Dict[str, List[Violation]] = _checkPaths(
                                                       ^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/main.py", line 225, in _checkPaths
    violationsInThisFile: List[Violation] = _checkFile(
                                            ^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/main.py", line 260, in _checkFile
    visitor.visit(tree)
  File "/usr/lib/python3.11/ast.py", line 418, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/lib/python3.11/ast.py", line 418, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/visitor.py", line 51, in visit_ClassDef
    self.generic_visit(node)
  File "/usr/lib/python3.11/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/lib/python3.11/ast.py", line 418, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/visitor.py", line 102, in visit_FunctionDef
    returnViolations = self.checkReturns(node, parent_, doc)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/visitor.py", line 358, in checkReturns
    hasGenAsRetAnno: bool = hasGeneratorAsReturnAnnotation(node)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/utils/return_yield_raise.py", line 25, in hasGeneratorAsReturnAnnotation
    returnAnnotation: str = parseAnnotation(node.returns)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/utils/annotation.py", line 17, in parseAnnotation
    slice_: str = parseAnnotation(node.slice)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/luca/devel/sdk/.direnv/python-3.11.2/lib/python3.11/site-packages/pydoclint/utils/annotation.py", line 24, in parseAnnotation
    return ', '.join(map(parseAnnotation, node.elts))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found

Also trying to use -scsd False gives the exact same backtrace.

Let me take a look at this bug.

Would you be able to isolate the Python file that resulted in this issue?  If so, I'd be able to isolate the issue much easier.  Right now it's a bit hard for me to reproduce this issue on my end.

I found the file that triggered this issue.  It's this one: https://github.com/frequenz-floss/frequenz-channels-python/blob/ef9bc4740b8e9d1d0a51b109089832a4acc4fdeb/src/frequenz/channels/_base_classes.py
Let me debug it.

So this is a separate issue.
At the end of the call stack:

docstring_parser.common.ParseError: Expected a colon in 'I/O related exceptions when the file cannot be written.'.

This means that this part of the docstring is not written in a way that conforms to the Google-style docstring.
I think it should be written like this:
    Raises:
        IOError: I/O related exceptions when the file cannot be written.

That said, unparsable docstrings should not have failed the entire linter.  So I'm going to make a code change to turn docstring parsing errors into a style violation.

Ah, interesting that darglint didn't caught that! Yeah, it would be great if the tool didn't crash on these kind of parsing errors and it would be awesome if they are somewhat reported to the user :)
Thanks again for looking into it!

Hi @leandro-lucarella-frequenz , I just published version 0.0.4.
In this version, you'll see this violation:
src/frequenz/sdk/timeseries/_ringbuffer/serialization.py:48:1:
DOC001: Function/method `dump`: Potential formatting errors in docstring. Error
message: Expected a colon in 'I/O related exceptions when the file cannot be written.'.

Hi @jsh9, thanks a lot for the updates!
I'm still bumping into a few issues, but I think I already hijacked this issue enough, so I'm creating new issues for the other problems :)

#14
#15
#16


add Sync API operation

This PR implements #8, but not yet testing, which requires Store implementation (#2).


total strength and breakdown

Can you add total strength and breakdown akin to duome ?

Possibly as a side bar and/or part of the Need Strengthening message

Hi, I am looking at add this now. The breakdown and the total strength don't seem to add up in general.
I would assume that the total strength is the average strength of all the skills, not including skills that you haven't started (0% strength). For your example would give:
(10*1.0 + 8*.075 + 8*0.5 + 53*0.25) / (10 + 8 + 8 + 53) = 0.421 = 42.1%
Which is pretty much what duome shows.
However if you take my en->es:

(65*1.0 + 1*0.75 + 1* 0.5) / (65 + 1 + 1) = 0.989 = 98.9%
But duome shows 96%.
This 96% seems to come from duolingo itself in the user's extended profile, in Duo Strength this would be accessed by:
userData.language_data.es.language_strength for a spanish tree.
This gives the 96% that duome shows. I cannot understand however where this is coming from.
I thought that maybe it isn't including skills that you haven't finished yet, i.e. all crown 0 skills. But this gives a slightly higher value still.
What would you prefer to see, the duolingo version or the manually calculated version?

Hi, I am looking at add this now. The breakdown and the total strength don't seem to add up in general.
I would assume that the total strength is the average strength of all the skills, not including skills that you haven't started (0% strength). For your example would give:
(10*1.0 + 8*.075 + 8*0.5 + 53*0.25) / (10 + 8 + 8 + 53) = 0.421 = 42.1%
Which is pretty much what duome shows.
However if you take my en->es:

(65*1.0 + 1*0.75 + 1* 0.5) / (65 + 1 + 1) = 0.989 = 98.9%
But duome shows 96%.
This 96% seems to come from duolingo itself in the user's extended profile, in Duo Strength this would be accessed by:
userData.language_data.es.language_strength for a spanish tree.
This gives the 96% that duome shows. I cannot understand however where this is coming from.
I thought that maybe it isn't including skills that you haven't finished yet, i.e. all crown 0 skills. But this gives a slightly higher value still.
What would you prefer to see, the duolingo version or the manually calculated version?

Here is what it looks like currently using the averaged strengths of the non crown 0 skills:

Here is what it looks like currently using the averaged strengths of the non crown 0 skills:

Note bonus skills not included in any stage of this. Duome also doesn't seem to include them in the breakdown.

Note bonus skills not included in any stage of this. Duome also doesn't seem to include them in the breakdown.

The only thing I can think of is that it is an average of the strengths of all the words that a user has learnt. I don't have a good way of checking that however.

The only thing I can think of is that it is an average of the strengths of all the words that a user has learnt. I don't have a good way of checking that however.

Manual calculation makes more sense to me.

Manual calculation makes more sense to me.

Okay, I'll keep that then.
I have changed it to not show strength values with have zero skills. Here is how the final box will look:

This feature has been added to the development branch in 7983b6e.

Okay, I'll keep that then.
I have changed it to not show strength values with have zero skills. Here is how the final box will look:

This feature has been added to the development branch in 7983b6e.


Remove contradictory attribute descriptions.

Fixes #388.  While your at it, please can you take a look at my previous PR (#364).

TravisCI is failing for Ruby 1.9.3 because webmock 2.3.1 requires Ruby >= 2.0.

https://github.com/puppetlabs/puppetlabs-aws/pull/390 for webmock.

+1

Pulled in #390 provided by @zleswomp and tests are now passing.


TS-4428: Update Japanese documentations

Cherry pick 95355d8434deed3e8a222effa86eb7c3c11082bc..6c6b6bc50f80959484e96dda8aa87f28bbf6e086 from master for 6.2.x

@PSUdaemon I didn't see any conflicts but I hope this helps you backport the commits.

Weird. I get error: could not apply 1f4a810... Doc: Format po files when I do the cherry pick. But this is fine, I'll just merge this.
Thanks.


Document stratification split policy for train/test

test_sampling => 'last' isn't intuitive to everyone.

Hey @montanalow I think I can fix this issue, Can I work on this issue and create a PR?

That'd be great, thanks!

This is documented now


Add missing definitions to core.sys.posix.sys.msg

MIPS definition was incomplete and MIPS64 and PPC64 missing.

Auto-merge toggled on


wolfssl: remove myself from maintainers

I haven't been able to keep up to date with the latest wolfssl developments for quite some time. Since this might have security implications, I think it is better for me to remove myself from wolfssl's list of maintainers.
cc @fabaff

Thanks for the heads-up, @mcmtroffaes.