Remove remote whitelist commands

Description
With the config-based allowed_functions feature, managing endpoint allow-lists via add_to_whitelist and delete_from_whitelist does not work as expected. Since allowed_functions is the recommended route, this simply removes those broken features.
[sc-34835]
Type of change

New feature (non-breaking change that adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Code maintenance/cleanup

thoughts on adding a couple of UTs?

Wasn't going to include any originally since they're pretty bare-bones functions, but I realized I forgot to update the doc string for Client.get_allowed_functions, so some tests snuck in alongside that


github.com/can3p/bunny

does not exist, but you reference it in the README example
Maybe Pcom is better ?

Hey, bunny is just an example name, not e real service. One thing is correct - it probably makes sense to have a separate repo with a generated code, which everyone can clone to see the result. It's not pcom though, I'll create a separate test repo for that

Ok makes sense.
Can then work up the demo repo


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-source-version-target/pull/183 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-source-version-target.git

Docs Build status updates of commit a2508e7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

versioningArchiveSourceFolder/TOC.yml
:white_check_mark:Succeeded
View (sql-server-2014 || azuresqldb-current || azuresqldb-mi-current || azure-sqldw-latest || >= aps-pdw-2016 || >= sql-server-2016 || >= sql-server-linux-2017 || sql-server-previousversions || sqlallproducts-allversions)

versioningArchiveSourceFolder/docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


New Website Logo: [insert name]

To list your organization's logo on the Rust website, fill out the following information and click "submit new issue". Alternately, you may edit _data/users.yml as described therein and submit a pull request.

Organization name: (as you want it displayed)
Homepage url: (homepage/primary entry point for users)
Logo url: (svg if possible, pngs over 400x200px with transparent backgrounds are also acceptable)
How you are using Rust: (one sentence describing your use of Rust)
Url describing Rust usage: (optional link to e.g. blog post explaining how you use Rust)
Organization contact: (name and email. we may contact you when updating this page. alternately you may email this information to<EMAIL_ADDRESS>and it will be kept secret).

It seems that you didn't fill out the values of this form! Could you do that, please? I'm going to give it a close until then.


ajy-UID2-List-participants-in-add-dialog

List participants in add dialog + copy
https://github.com/IABTechLab/uid2-self-serve-portal/assets/137864392/6b588b5b-e4c4-40a2-8a3d-49ac4ff43f70
Gap styling
Before

After

Line height styling
Before

After

Closed: Wrong branch name


chore: update SEO on curric pages

Description

Excludes the lesson journey from the site map config file

Issue(s)
Fixes #CUR-299
How to test

Go to https://deploy-preview-2000--oak-web-application.netlify.thenational.academy

Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner
[ ] Does this PR update a package with a breaking change

Shouldn't this be part of the "launch" PR

We agreed to keep it as a "soon after launch" thing.

:tada: This PR is included in version 1.280.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Confirming to Omnipay

Someone one says omnipay-wechatpay does not confirm as from the link,
https://aimeos.org/help/viewtopic.php?f=18&t=2287&start=0
Please comment.
Regards,

The used parameter names are not conforming to the Omnipay standard.
Current:
$order = [
    'body'              => 'The test order',
    'out_trade_no'      => date('YmdHis').mt_rand(1000, 9999),
    'total_fee'         => 1, //=0.01
    'spbill_create_ip'  => 'ip_address',
    'fee_type'          => 'CNY'
];

Official parameter names:
$order = [
    'description'              => 'The test order',
    'transactionId'      => date('YmdHis').mt_rand(1000, 9999),
    'amount'         => '0.01', // must be multiplied by 100 in the driver
    'clientIp'  => 'ip_address',
    'currency'          => 'CNY',
    'language'         => 'zh'
];

This causes the driver not to work in applications implementing the Omnipay standard parameter names if no special handling is applied to convert the parameter names

The aimeos thread has reached a point where aimeos can get 'SUCCESS' return from wechatpay gatway. But it complained 'request_params' xml2array parsing error. Please help if you can.
https://aimeos.org/help/viewtopic.php?f=18&t=2287&start=30

We are not experts in what the Omnipay driver expects. If the usage guide (https://github.com/lokielse/omnipay-wechatpay#usage) doesn't help, you should dig into the code of the WechatPay driver to see what it expects.


DB::Exception: Unknown identifier for select value query

Hi all,
As I work on modifying ProxySQL to make Clickhouse work like MySQL. I have made this basic query to clickhouse to overcome the validation check of some jdbc driver. However, it's always return:
DB::Exception: Unknown identifier: REPEATABLE-READ
When I delete this column, it continue on SYSTEM, then OFF, then ...
I believe this is a bug because it's very basic to select "value" as column_name
SELECT "1" as `auto_increment_increment`,
"utf8mb4" as `character_set_client`,
"utf8mb4" as `character_set_connection`,
"utf8mb4" as `character_set_results`,
"utf8mb4" as `character_set_server`,
"utf8mb4_unicode_ci" as `collation_server`,
NULL as `init_connect`,
"28800" as `interactive_timeout`,
"GPL" as `license`,
"0" as `lower_case_table_names`,
"268435456" as `max_allowed_packet`,
"16384" as `net_buffer_length`,
"60" as `net_write_timeout`,
"0" as `query_cache_size`,
"OFF" as `query_cache_type`,
"IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" as `sql_mode`,
"UTC" as `system_time_zone`,
"SYSTEM" as `time_zone`,
"REPEATABLE-READ" as `tx_isolation`,
"600" as `wait_timeout`

In ClickHouse only single quotes can be used for string literals. Double quotes work the same as backticks, for identifiers.


🧑💻 🏕  Alibaba Summer of Code (ASOC) 2022

Alibaba Summer of Code (ASOC) 2022
Welcome to the open source world! If you haven't planned how to spend this summer, come to the Alibaba Summer of Code and code with us! 💻
Alibaba Summer of Code is a global program focused on engaging students directly in open source software development. Under the guidance of the mentor in the Alibaba open source project, students can experience software development in the real world. Alibaba Summer of code will begin from May 30th to September 1st. Students can use the summertime to participate in the open source project and work with the core members of the project.
This is a master issue to track the progress and result of Alibaba Summer of Code 2022.
What you can get?
On this exclusive developer journey, students will have the opportunity to:

Participate in the top projects of the International Open Source Foundation;
Get a scholarship from Alibaba;
Obtain an open source contributor certificate;
Get a fast pass of Alibaba Internship
Get your code adopted and used by the open source project！

Our Mentor

Ke Meng (@septicmk), ASoC Mentor, Vineyard Maintainer
Siyuan Zhang (@siyuan0322), ASoC Mentor, Vineyard Maintainer
Tao He (@sighingnow), ASoC Mentor, Vineyard Maintainer

Timeline

Apply Now!

Browse open idea list here:

Sharing GPU memory between processes of different compute engines:

Difficulty: Normal
#759

Extending the CSV reader/writer to support various complex data types

Difficulty: Normal
#761

FileSystem view of shared objects inside vineyard cluster

Difficulty: Hard
#760

Upload your CV and project proposal via ASOC 2022 official website

Contact the Organizer
If you have any questions, visit the event website: https://opensource.alibaba.com/asoc2022
Email address<EMAIL_ADDRESS>

Closing the final result has been announced: https://mp.weixin.qq.com/s/hA7F5HkF87Jm0sY2CiLvgw
Congratulations to @CSWater and @liusitan 👏, thanks a lot for your hard work during this summer 😆


add fabform.io support

Hello
Can you please add support for https://fabform.io forms in this theme
Thanks

Sorry, there are no plans to develop a build-in contact page or other functions that require a form at the moment, thanks for your suggestion.


Mint label-derived IDs for subjects on non-Sierra works

Quoting Jonathan in Slack:

In that case I think we need to do this and make the pages, for consistency of experience

Closing as done, see e.g. https://wellcomecollection.org/works/szvxexwx


Only .Net Core 2.2 is used as target which is not supported anymore by Microsoft.

Only .NET Core 2.2 is supported as a build target. It is outdated and does not get any security updated by Microsoft anymore. Is there any readon why 2.2 is used explicitly? I made a fork and it seems that i could set netstandard2.0 as the build target which would target .NET Framework and .NET both.
All tests are running green.

Thanks, published on nuget as version 2.5.0


runtime/v2: Fix defer cleanup for TaskManager.Create

Can we have a test?

There is no test for this piece of code. If you want to add it, may need to add it completely. there is no way to add only this function. need some time, maybe I open a new PR to add tests?


support monolog ^3

Description of the change
Support monolog 3 as well as 2.
Type of change

[x] New release

Hey, @jonnott. Thank you for this PR! Unfortunately, supporting monolog v3 is just a bit more work than adding it to our composer.json file.
It mostly impacts our verbose logging. I have finished updating the codebase and now just need to fix some brittle tests. I will have a PR tomorrow with the updates.
Also, we have an open issue for this #575.

On second thought. @jonnott do you mind if I push my commits to this branch and make them part of this PR?

On second thought. @jonnott do you mind if I push my commits to this branch and make them part of this PR?

Go ahead!

So, it turned out to be a bit of a massive change. Mostly, because of updates to the tests. Because, of that I put it in its own PR #602. Sorry for the back and forth on that!

So, it turned out to be a bit of a massive change. Mostly, because of updates to the tests. Because, of that I put it in its own PR #602. Sorry for the back and forth on that!

@danielmorell  Wow, that is a massive diff, thanks for your hard work. Sorry I'm not able to help more directly, as this is way above my experience level with monolog and Laravel logging internals.
I assume we'll need to wait for a monolog 3 compatible major release of rollbar/rollbar (v4?) before this can actually be used with Laravel 10.x though? (as 10.x doesn't support monolog 2)

@danielmorell Wow, that is a massive diff, thanks for your hard work. Sorry I'm not able to help more directly, as this is way above my experience level with monolog and Laravel logging internals.
I assume we'll need to wait for a monolog 3-compatible release (v4?) and a new major version of rollbar-php-laravel before this can actually be used with Laravel 10.x though? (as 10.x doesn't support monolog 2)

The size of the diff is mostly from updating the tests.
We should be able to release a v8 beta of rollbar-php-laravel that uses the beta of rollbar-php v4. That would at least provide a way to do some early testing.
There is one more major fix that is needed before we release a stable version of v4, and that is a fix for #590.

Closing in favor of #602.


Date Field Display Component: If 'show time' is false, the table view still display time on date time property

The Date Field Display Component is displaying time on the table view even when the 'show time' option is set to false.
Steps to reproduce the behavior:

Click on Customize columns
Click on Membership Start Date
Click on the Configure button on Display Component
Provide the date format and the time format should be empty
Ensure the show time checkbox is false
Navigate back to the table view and check the results displaying

Actual Results
The time is also showing while the formatting does not include the time
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
If the format is applied on Entity Configurations and the display component is set to Default, the format applies according to how it is specified on the configurations

Hi @hlayisanimazuze. I've fixed it, please check


✔Added Dynamic "Last Updated" Functionality to All Legal Pages !

Hey @HimanshuNarware @PSS2134
issue closes #521
I have implemented a dynamic "Last Updated" date feature for the legal pages on the website, including the Terms and Conditions, Privacy Policy, and Licensing pages.
The date format is set to "month day, year" and will update dynamically to reflect the current date.
Additionally, each page has a specific update frequency to ensure the date remains accurate.
Changes Made :
Added a code to dynamically update the "Last Updated" date for the Terms and Conditions, Privacy Policy, and Licensing pages.
The date format is "month day, year" for a professional appearance.
Here -

please take a look

@PSS2134 Please review it.


Spamsum similarity score issue

Hi,
First, thanks a lot for that great tool :slightly_smiling_face:
We just ran into a weird problem, I think the code is more explanatory than words:
>>> import spamsum
>>> f = open('somefile', mode='r')
>>> html = f.read()
>>> c1 = spamsum.spamsum(html)
>>> c1
'96:q66666666666666666666666666666666666666666666666666666666666666I:N'
>>> spamsum.match(c1, c1)
0

Basically, we found some spamsums that had a score of 0 for themselves. An other tool like ssdeep gave us a score of 100 on that one, so not sure what's happening?
(snippet of the ssdeep code below:
>>> import ssdeep
>>> f = open('somefile', 'r')
>>> html = f.read()
>>> c1 = ssdeep.hash(html)
>>> c1
'96:q66666666666666666666666666666666666666666666666666666666666666I:N'
>>> ssdeep.compare(c1, c1)
100

)

Alright, actually the root cause is in the function has_common_spamsum, which seems not to work when you have two strings that are 6 chars or less:
int main(void) {
    printf("%d\n", has_common_substring("coucou", "coucou"));
    printf("%d\n", has_common_substring("coucouuuu", "coucouuuuu"));
}

pyspamsum $ ./test
0
1

Here's the culprit: https://github.com/freakboy3742/pyspamsum/blob/master/spamsum.c#L267
if (i < ROLLING_WINDOW-1) continue;
I can submit a PR, just not sure how you'd like me to fix it - we could check at the end of that function if the length is less than 6, and then do strstr(s1, s2); strstr(s2, s1) to check if one is a substring of the other. But that seems awfully specific...

Thanks for the report. This project was purely intended as a wrapper around Andrew Tridgell's spamsum implementation. If there are flaws in the algorithm, they should be reported (and fixed) there.
If there's a change in Andrew's implementation (it hasn't changed in 13 years), I'm happy to integrate that change into pyspamsum.


New tags page

Not all of us like the tags page in the 0.9 admin. As it's completely broken in 0.10, we could use the opportunity to re-think it a bit. Here are my thoughts, feel free to add yours in the comments.

I like the old tags page basically. It is ordered alphabetical and it shows me how often the tags are used. Those are the two basic things I expect from a page like this.
There is no way to change that view in any way except filtering (this is maybe the one place where the JS direct search is appropriate). We definitely need sorting by frequency of occurrence.
I would also like more statistics. I recently modified my tag cloud plugin to have my tags displayed in a high 25% - mid 50% - low 25% style. I can imagine something like that for the admin tags page, together with a chart like "25% of your overall tag usage is made by 5% of your tags" (10 of your 200 tags have been used 100 times each, but all the others together have only been used 3000 times).
A really cool feature would be something that could help you use tags more often. You propably know the situation when you look at your hundreds of tags and accidentally see one and think, "oh hey, I have a tag for that? I could have used that there and there". I always forget to use some of my tags. No idea how to sensibly implement something to solve this in admin though.

Related #387

Two more quick design studies.

Adding fixed width and increasing the steps from green tone to tone:

There is work ongoing in https://github.com/habari/system/tree/fix_596

Another thought: Is there a need to use AJAX on the tags page? Does that bring us any benefit? We replace the entire HTML anyway, we could as well just reload the page.

Side note: The new list style lowers the number of tags per screen significantly. Not surprising, as we no longer use small font sizes. We'll see how this evolves in the next days.

I played a bit with similarity stuff and came to the following conclusions:

Ordering all the tags by similarity is neither a doable task nor useful, having 350+ tags like I have. If it worked, it would move misspelled tags to their correct version, but it would also move a lot of nonsense.

Calculating the most similar tags (if any, using a threshold) for every tag is partly useful. It detects misspelled tags and a little bit more. It also detects a lot of nonsense. I think that could go in a plugin.

Most of my duplicate tags are not from misspelling but from semantics (verbs and nouns, composed words - those are common in German - etc). We can't do anything there.

To at least avoid misspelling, a similarity algorithm could go into the tag suggestions when adding tags to posts. Currently we only show tags starting with the letters entered. We could add similar tags, too, using Levenshtein or something like that. That would hopefully reduce the number of misspelled tags to near zero and therefore make a functionality to find those on the tags page unnecessary in core.

Finding similar tags would be useful I think, but certainly an enhancement, not a particularly important feature.


What should SettingManager::all return?

As the topic suggest, what should be returned on all? (A) All settings that the users have stored or (B) All settings that the user can store?
Scenario A:
$sm=$this->get('settings_manager');
$sm->all(); // array('all_scope_setting'=>null)
$sm->all($this->getUser()); // array()  /* difference */

$sm->set('all_scope_setting', 'value');
$sm->all(); // array('all_scope_setting'=>'value')
$sm->all($this->getUser()); // array() /* difference */

$sm->set('all_scope_setting', 'foobar', $this->getUser());
$sm->all(); // array('all_scope_setting'=>'value')
$sm->all($this->getUser()); // array('all_scope_setting'=>'foobar')

Scenario B:
$sm=$this->get('settings_manager');
$sm->all(); // array('all_scope_setting'=>null)
$sm->all($this->getUser()); // array('all_scope_setting'=>null)  /* difference */

$sm->set('all_scope_setting', 'value');
$sm->all(); // array('all_scope_setting'=>'value')
$sm->all($this->getUser()); // array('all_scope_setting'=>'value')  /* difference */

$sm->set('all_scope_setting', 'foobar', $this->getUser());
$sm->all(); // array('all_scope_setting'=>'value')
$sm->all($this->getUser()); // array('all_scope_setting'=>'foobar')

At the moment is A implemented. I suggest we should implement B instead because it make more sense. Especially with #15.

Absolutely :+1:

Solving this issue will also (like #10) be a BC break.

Let's do this and I'll start 2.x

I suggest to create a new 1.x branch and continue the work on 2.x in master. I will happily implement a solution to this issue and the cache issue (#8) as soon as #10 is merged. It will be too many merge conflicts otherwise...
(It's 3 PRs that will do a lot of work on the same class.)

:+1:
Sure, I'll setup the branch for 1.0 today


getting errors while trying to collect data

Hi,
I'm getting this errors while running the vmware_exporter container:
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 501, in errback
self._startRunCallbacks(fail)
File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 568, in _startRunCallbacks
self._runCallbacks()
File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 1475, in gotResult
_inlineCallbacks(r, g, status)
---  ---
File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 1416, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/usr/local/lib/python3.6/site-packages/twisted/python/failure.py", line 491, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/usr/local/lib/python3.6/site-packages/vmware_exporter/vmware_exporter.py", line 421, in host_labels
result = yield threads.deferToThread(lambda: _collect(dc, dc.hostFolder))
File "/usr/local/lib/python3.6/site-packages/twisted/python/threadpool.py", line 250, in inContext
result = inContext.theWork()
File "/usr/local/lib/python3.6/site-packages/twisted/python/threadpool.py", line 266, in
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File "/usr/local/lib/python3.6/site-packages/twisted/python/context.py", line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/local/lib/python3.6/site-packages/twisted/python/context.py", line 85, in callWithContext
return func(*args,**kw)
File "/usr/local/lib/python3.6/site-packages/vmware_exporter/vmware_exporter.py", line 421, in
result = yield threads.deferToThread(lambda: _collect(dc, dc.hostFolder))
File "/usr/local/lib/python3.6/site-packages/vmware_exporter/vmware_exporter.py", line 414, in _collect
host_inventory.extend(_collect(dc, folder))
builtins.AttributeError: 'dict' object has no attribute 'extend'
This is the relevant part in the docker-compose file:
vmware_exporter:
image: pryorda/vmware_exporter:latest
restart: always
links:
- prometheus
ports:
- "9272:9272"
environment:
VSPHERE_HOST: 'VCenter.domain.com'
VSPHERE_USER: 'user'
VSPHERE_PASSWORD: 'password'
VSPHERE_IGNORE_SSL: 'True'
VSPHERE_COLLECT_VMS: 'False'
VSPHERE_COLLECT_VMGUESTS: 'False'
VSPHERE_COLLECT_DATASTORES: 'False'
VSPHERE_COLLECT_SNAPSHOTS: 'False'
VSPHERE_COLLECT_HOSTS: 'True'
I'm using VSphere 6.
what am I doing wrong? (as you can see I'm using the latest version).
thank you

Hopefully I dont have to revert my changes yesterday. When did you do a docker pull last and what version of 6? Also, what does the folder structure look like?

Hi,
Thank you for the quick response, apparently, the scraping time is very high and I got errors from previous runs. I'm not getting this error anymore.
It takes about ~40 minutes and I'm checking it in the VSphere (6.0) server.

wow! 40 minutes? I assume you meant 40 seconds :sweat_smile:
In any case, it's quite a lot... our largest deployment has about 30 ESXi nodes, 27 datastores and ~500 VMs, takes ~3 seconds to scrape.
Can you share some details about your environment?

Unfortunately, I meant minutes  haha.
The environment specs are: ~12,000 VMs, 180 ESX's and about 300 datastores, which is big but the scrapping time is way too much.
I'm checking the long duration scrapping time in two ways:

Memory allocation for the VCenter services is maybe not ideal - Checking if it is needed to change the "-Xmx" argument which specifies the hard memory limitation for each process separately.
Maybe there is a limitation for the API requests to the vcenter server which we exceeded.

I will let you know about the results of our check.
I'm open to hear any suggestions you have.

@AmirShalom you have all of that under one DC?

I'm running ~12,000 VMs , 180 ESX's and about 300 DS's under one DC. After changing the memory size for a few java services in the VSphere server the scraping time is about 2 minutes and 30 seconds (vmware_exporter is already improving my environment :) ).
I noticed that I get metrics that related to the VMs or to the guest OS as such as:
"vmware_vm_power_state" , "vmware_vm_num_cpu" , "vmware_vm_guest_tools_version_status" etc'.
I believe this is making the scrape duration longer.
This is happening although I disabled this scraping options, my docker-compose relevant part:
vmware_exporter:
image: pryorda/vmware_exporter:v0.7.4
restart: always
links:
- prometheus
ports:
- "9272:9272"
environment:
VSPHERE_HOST: 'server.domain'
VSPHERE_USER: 'user'
VSPHERE_PASSWORD: 'password'
VSPHERE_IGNORE_SSL: 'True'
VSPHERE_COLLECT_VMS: 'False'
VSPHERE_COLLECT_VMGUESTS: 'False'
VSPHERE_COLLECT_DATASTORES: 'False'
VSPHERE_COLLECT_SNAPSHOTS: 'False'
VSPHERE_COLLECT_HOSTS: 'True'

After testing with more vms. I think that I'm going to close this. I'm not sure we can make this faster without major rework currently


fetchFullProvidersListWithSuccess returns void

Hi!
It would be great if API calls will return NSURLSessionDataTask or array of tasks to give users possibility to control network calls.
E.g:
- (void)fetchFullProvidersListWithSuccess:(void (^)(NSSet* providers))success                                   failure:(SEAPIRequestFailureBlock)failure
will be
- (NSArray*)fetchFullProvidersListWithSuccess:(void (^)(NSSet* providers))success                                   failure:(SEAPIRequestFailureBlock)failure

Hi @LetsSee!
It seems I can't think of a good use case when you would need the NSURLSessionDataTask objects managed by the SaltEdge iOS SDK classes. Can you provide further details on why would you need control over the requests?
Thanks

Of course:

user initiate some API call on low speed network - loading hud appears - it takes too long and user wants to cancel this operation

consider some long background task - we want to get state in some point (loading, finished, canceling, suspended)

....

I see your point, but there are some constraints that will impede this from happening (currently).
The good thing is that you don't actually need the underlying session task objects to solve the two issues you described. The only drawback is that you won't be able to cancel the network operation, and I agree that it's a pity. We will surely consider your feedback when we'll implement a major update, and I'm leaving this issue open until that moment.

Thanks, @nemesis!
Please take into account those two issues are just examples, i can imagine much more cases.


#149 Fix crash in try environment while use restore

IssueHunt Summary

Referenced issues
This pull request has been submitted to:

#149: restore function doesn't work in REPL

IssueHunt has been backed by the following sponsors. Become a sponsor

As i can see previous realmInvoke listener implementation was specialized for work with object argument. Added other cases of restore usages

Big thanks!


Assign "latest" tags to all containers

Debugging commands when you forget the tag gets kinda annoying. Found this out the hard way when testing with podman

Done. Docker Hub is slow to update though


fix(tsconfig.json): 🔧 cannot find module $lib in VS Code

Fix the error shown in the screenshot.

This part added by this PR should be in .svelte-kit/tsconfig.json and I'm not sure why this is an issue.
{
	"compilerOptions": {
		"baseUrl": "..",
		"paths": {
			"$lib": [
				"src/lib"
			],
			"$lib/*": [
				"src/lib/*"
			]
		},
		"rootDirs": [
			"..",
			"./types"
		],
		"importsNotUsedAsValues": "error",
		"isolatedModules": true,
		"preserveValueImports": true,
		"lib": [
			"esnext",
			"DOM"
		],
		"moduleResolution": "node",
		"module": "esnext",
		"target": "esnext"
	},
	"include": [
		"../src/**/*.js",
		"../src/**/*.ts",
		"../src/**/*.svelte"
	],
	"exclude": [
		"../node_modules/**",
		"./**"
	]
}

🤔 So include doesn't automatically merge with extends?

My bad. I did not notice the extension. I guess my VS Code cannot recognise the extended config

I am looking for another way to solve this 😢


Difficult page swiping when using ViewPager with scrollable View

First of all thanks a lot for implementing the scrollable view support. It's amazing and almost feels magical :smiley:. I have one small issue though:
When using a ViewPager and fragments that contain scrollable views (which get set via setScrollableView() in the setPrimaryItem(...) method of the PagerAdapter), the SlidingUpPanelLayout often takes over the touch events and cancels the horizontal swipe which makes it difficult to switch between pages.
See here for a demo that shows this. Just try swiping the ViewPager a few times and you'll notice it. When commenting out this line with the setScrollableView() this issue isn't present.

+1

+1
<><<>><<<>><<<>>>

+1

Until there's a fix I'm using a workaround like this: http://dallasgutauckis.com/2013/04/30/android-putting-a-viewpager-inside-a-listview/
It mentions a ListView but it applies to any case where a ViewPager is fighting over touch events with a scrolling view.

I will look into this shortly

Thanks

@tokudu Thanks for the update!

+1

+1

Hey @TR4Android, can you just follow the work around linked in http://dallasgutauckis.com/2013/04/30/android-putting-a-viewpager-inside-a-listview/.  And do:
            @Override
            public void onPageScrollStateChanged(int state) {
                // All of this is to inhibit any scrollable container from consuming our touch events as the user is changing pages
                if (mPreviousState == ViewPager.SCROLL_STATE_IDLE) {
                    if (state == ViewPager.SCROLL_STATE_DRAGGING) {
                        mSlidingLayout.setTouchEnabled(false);
                    }
                } else {
                    if (state == ViewPager.SCROLL_STATE_IDLE || state == ViewPager.SCROLL_STATE_SETTLING) {
                        mSlidingLayout.setTouchEnabled(true);
                    }
                }

                mPreviousState = state;
            }

Please reopen if this doesn't work.


Demo not working (possibly threejs version)

Visiting https://webglstudio.org/demos/IK-threejs/ show nothing and the console reports Uncaught TypeError: The specifier “three” was a bare specifier, but was not remapped to anything. Relative module specifiers must start with “./”, “../” or “/”. for IKSolver.js:1:23

Hi,
Thank you for the warning. We were importing threejs in a way that is not supported by Firefox (other browsers may not support it either). We've already updated it and it should work now.

Indeed, thanks!


Full end to end example

Hey,
Not really an 'issue' just a request, would it be possible to show a full end to end of reading a pdf and then extracting these dates. I think that would be useful for many.
Regards,
Robert.

@ThisUsedToBeAnEmail Something like this ?

Examples added to 0.02 release.


Added missing conversation ID type hint

Description
Added missing conversation ID type hint
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[x] Type hints

/lgtm

/approve


Kymachynskyi/ Add a short title to the workshop with the ability to search by this field

@VadymLevkovskyi сould you please do a code review for this PR? Thank you!

@VadymLevkovskyi сould you please do a code review for this PR? Thank you!

Sure, approved


Add event testing

resolves #50
Description

Adds testing for event system

Additional fixes found while adding tests

Fixes missing coverage setup
Fixes CI to actually fail when tests fail

Checklist

[ ] I have read the contributing guide and understand what's expected of me
[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

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

Comparison is base (e852e77) 51.07% compared to head (e908c41) 51.92%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #51      +/-   ##
==========================================
+ Coverage   51.07%   51.92%   +0.85%
==========================================
  Files          47       47
  Lines        2798     2798
==========================================
+ Hits         1429     1453      +24
+ Misses       1369     1345      -24

Flag
Coverage Δ

unit
51.92% <ø> (+0.85%)
:arrow_up:

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

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


chore(main): release 1.28.6

This release is too large to preview in the pull request body. View the full release notes here: https://github.com/momentohq/client-sdk-go/blob/release-please--branches--main--components--momento--release-notes/release-notes.md

:robot: Release is at https://github.com/momentohq/client-sdk-go/releases/tag/v1.28.6 :sunflower:


Excessive CSS size - 120KB CSS without any components?

Describe the bug
I'm starting a new flowbite-svelte project. I have a root layout with this content:
<script>
	import '../app.postcss';
	import DarkMode from 'flowbite-svelte/DarkMode.svelte';
	let darkmodebtn =
		'text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-lg p-2.5 fixed right-4 top-2 z-50';
</script>

<DarkMode btnClass={darkmodebtn} />

<slot />

When I build the project, the generated CSS file is 120KB in size. Even removing the DarkMode component still produces a 120KB bundle. It does seem like some sort of purging is not working properly, as the file size comes from the app.postcss import. I have Tailwind projects where the CSS for the entire project is 5-10KB, which includes all used styles.
From npm run build:
.svelte-kit/output/client/_app/immutable/assets/0.a71a8c67.css          119.17 kB │ gzip: 16.49 kB

I thought loading the components directly instead of from the global import would work, but it does not change anything.
Reproduction
Follow the quickstart:
https://flowbite-svelte.com/docs/pages/quickstart
Paste the code from my message in src/routes/+layout.svelte
Flowbite version and System Info
System:
    OS: macOS 13.4.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
    Memory: 43.09 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 19.5.0 - ~/.nvm/versions/node/v19.5.0/bin/node
    npm: 9.3.1 - ~/.nvm/versions/node/v19.5.0/bin/npm
  Browsers:
    Chrome: 114.0.5735.198
    Firefox: 115.0.1
    Safari: 16.5.1
    Safari Technology Preview: 17.0
  npmPackages:
    @sveltejs/kit: ^1.20.4 => 1.22.1
    flowbite-svelte: ^0.39.2 => 0.39.2
    svelte: ^4.0.0 => 4.0.5
    vite: ^4.3.6 => 4.4.2

If you want to reduce the compiled CSS, then you need to modify the tailwind.config.cjs:
const config = {
  content: [
    "./src/**/*.{html,js,svelte,ts}",
    // "./node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}",
    // add components you are using here
  ],

  plugins: [
    require('flowbite/plugin')
  ],

  darkMode: 'class',

  theme: {
    extend: {
      colors: {
        // flowbite-svelte
        primary: { 50: '#FFF5F2', 100: '#FFF1EE', 200: '#FFE4DE', 300: '#FFD5CC', 400: '#FFBCAD', 500: '#FE795D', 600: '#EF562F', 700: '#EB4F27', 800: '#CC4522', 900: '#A5371B'},
      }
    }
  }
};

module.exports = config;

This will create the compiled CSS to 12-13k.

Thank you! Hope that there will be a way to purge unused styles in the future! 🌞

I also just noticed the large default Bundle size for Flowbite Svelte after deploying my app to Production.
So, I went into the tailwind.config.cjs file and added only specfic imports as recommended by @shinokada. However, I'm not sure the best way to do this.
Would this be the recommended way to include multiple components?
content: [
    "./src/**/*.{html,js,svelte,ts}",

    // Only include flowbite-svelte components being used?
    "./node_modules/flowbite-svelte/**/{buttons,badges,footer,forms,modals,carousels,typography}/*.{html,js,svelte,ts}",
  ],

Doing this reduced the CSS bundle size of my application from 167.23 kB (21.3kB gzip) -> 117.43kB (15.6kB gzip).
However, the code above still imports all components inside the directory. For example, I'm only using a couple of form elements so I don't need all of them. I'm assuming I could also further improve this by only importing specific components within these folders, such as:
"./src/**/*.{html,js,svelte,ts}",
"./node_modules/flowbite-svelte/**/forms/{Input,Label,Select}*.{html,js,svelte,ts}",
"./node_modules/flowbite-svelte/**/device-mockup/{DeviceMockup,Tablet,Ios}*.{html,js,svelte,ts}",
...

But this starts to get unwieldy and likely would prove more cumbersome to manage vs the bundle gains.
Are there any plans to automatically purge unused styles from Flowbite Svelte?

This could be one of tasks for the future CLI.

Please try this and let me know.
I close the issue for now.
Please feel free to open a new issue.
Thank you for your contribution.


Filenames with : in them do something odd in MediaInfoList

I'm not sure what this code is trying to do? Was there meant to be a mode where lots of filenames could be provided as a string which was ':' separated? ':'s can occur in filenames (on macOS at least).
:.png will go through the top code path and a.png will go through the other one
https://github.com/MediaArea/MediaInfoLib/blob/master/Source/MediaInfo/MediaInfoList_Internal.cpp#L89
    if (Pos!=string::npos && Pos!=1)
        List.push_back(File_Name);
    #if defined(MEDIAINFO_FILE_YES)
    else if (File::Exists(File_Name))
        List.push_back(File_Name);
    #endif //defined(MEDIAINFO_FILE_YES)
    #if defined(MEDIAINFO_DIRECTORY_YES)
    else
    {
        ....
    }

Oops...
Right, it was an ugly hack from very old times when MediaInfo was only on Windows and this was considered safe enough at this moment.
I need to check where/when/how it is/was used before removing this ugly hack. No ETA through.

I found this while looking for how to ask for info on lists of files. It might be nice to have a mode to ask for details on multiple files at once. That way if I have:
my_folder/seq_1.png
my_folder/seq_2.png
my_folder/seq_3.png

I will get the same results from mediainfocli ./my_folder and mediainfocli ./my_folder/*.png?

I will get the same results from mediainfocli ./my_folder and mediainfocli ./my_folder/*.png?

IIRC  mediainfo ./my_folder/*.png the command line parser may expand itself to a list of files, so in theory not the same code and may be some differences if the algo is not same but I expect that it is same.
In any case, AFAIK both commands work, what is the issue with them?

It might be nice to have a mode to ask for details on multiple files at once.

mediainfo my_folder/seq_1.png my_folder/seq_2.png my_folder/seq_3.png works AFAIK.

Sorry bad example, it turns out you need more then 24 frames in a sequence for it to be detected, so you need
my_folder/seq_1.png
my_folder/seq_2.png
my_folder/seq_3.png
... etc ...
my_folder/seq_25.png

Something like this maybe? https://github.com/MediaArea/MediaInfoLib/pull/1360/files

I think I get it, if a directory the sequence is detected but if a list of files the sequence is not detected.
Note that providing the first png file name should trigger the sequence detection too.
There is definitely a lot to do for a more coherent interface. But I prefer to have the time to refactor all well instead of touching a part without being sure I improve the overall coherency.
e.g. in your PR, there is a regression for people using the ":" feature. So it would be the addition of an option, unset by default, for accepting filenames with ":", with a warning (not implemented) saying that default will change in the future in case of ":" is used, then option is set by default at some point.
We are aware that we have a long legacy issue and that at some point we need to do clean up, and we also know that it is not easy (we already have lot of complains when we change tiny details), so this is not something we'll do quickly and on specific item only.
In the ":" case, I think that a quick and less risky fix is to invert the File::Exists(File_Name) test and the : test, less risky (people using the : feature don't have files with  : in the file names :), I guess ) and more acceptable for the moment IMO.
Note that we do C++03 for the moment due to the support of very old versions of some platforms (hello macOS <= 10.8), we plan to trash that soon but for the moment no auto sutff :).

I think I get it, if a directory the sequence is detected but if a list of files the sequence is not detected.
Note that providing the first png file name should trigger the sequence detection too.

Currently running mediainfocli on the folder finds the sequence, running it on the first frame finds the sequence, but running it on the list of all the frames (provided on command line) finds the sequence many times (i.e 1-25, 2-25, 3-25, 4-25, etc).

e.g. in your PR, there is a regression for people using the ":" feature.

What is the definition of the ":" feature? If it is a list of file names it is already broken, this doesnt work ./mediainfocli "./example_mediainfolib/fileB.png:./example_mediainfolib/fileA.png".

Note that we do C++03

I'm on it 😄

What is the definition of the ":" feature? If it is a list of file names it is already broken, this doesnt work

Maybe not with the CLI, but by calling the lib.
Main issue is that we didn't add regression test during implementation of a feature, it may be unused, broken or whatever, we don't know (and I don't remember the main purpose of the hack, too old).
I prefer to avoid changes without a good reason.

Currently running mediainfocli on the folder finds the sequence, running it on the first frame finds the sequence [...]

OK, this is bad, and good reason for changing the behavior.
But: if you can keep the ":" stuff, while being able to read files with ":" in the file name, I prefer. In other words, fixing the spotted issue(s) with as less changes as possible.

We have regression tests on our todo-list, when we have some free time for that... At long term it would help, but never easy to prioritize that over sponsored features.

if you can keep the ":" stuff, while being able to read files with ":" in the file name, I prefer [..]

I haven't changed any functionality to do with the ':' at all. Here is my that part of my diff with the whitespace removed (git show -w). The old call to Open(String will just make a 1 object vector and call the new function.
diff --git a/Source/MediaInfo/MediaInfoList_Internal.cpp b/Source/MediaInfo/MediaInfoList_Internal.cpp
index 14dfd464..6db110a8 100644
--- a/Source/MediaInfo/MediaInfoList_Internal.cpp
+++ b/Source/MediaInfo/MediaInfoList_Internal.cpp
@@ -76,6 +76,14 @@ MediaInfoList_Internal::~MediaInfoList_Internal()

 //---------------------------------------------------------------------------
 size_t MediaInfoList_Internal::Open(const String &File_Name, const fileoptions_t Options)
+{
+    vector<String> File_Names;
+    File_Names.push_back(File_Name);
+    return Open(File_Names, Options);
+}
+
+//---------------------------------------------------------------------------
+size_t MediaInfoList_Internal::Open(const vector<String> &File_Names, const fileoptions_t Options)
 {
     //Option FileOption_Close
     if (Options & FileOption_CloseAll)
@@ -86,6 +94,8 @@ size_t MediaInfoList_Internal::Open(const String &File_Name, const fileoptions_t

     //Get all filenames
     ZtringList List;
+    for (const auto& File_Name : File_Names)
+    {
         size_t Pos=File_Name.find(__T(':'));
         if (Pos!=string::npos && Pos!=1)
             List.push_back(File_Name);
@@ -96,7 +106,8 @@ size_t MediaInfoList_Internal::Open(const String &File_Name, const fileoptions_t
         #if defined(MEDIAINFO_DIRECTORY_YES)
         else
         {
-        List=Dir::GetAllFileNames(File_Name, (Options&FileOption_NoRecursive)?Dir::Include_Files:((Dir::dirlist_t)(Dir::Include_Files|Dir::Parse_SubDirs)));
+            ZtringList LocalList=Dir::GetAllFileNames(File_Name, (Options&FileOption_NoRecursive)?Dir::Include_Files:((Dir::dirlist_t)(Dir::Include_Files|Dir::Parse_SubDirs)));
+            List.insert(List.end(), LocalList.begin(), LocalList.end());
             sort(List.begin(), List.end());
             if (List.empty())
                 List.push_back(File_Name); // Try directly the file name e.g. "-" for pipe
@@ -118,6 +129,7 @@ size_t MediaInfoList_Internal::Open(const String &File_Name, const fileoptions_t
             #endif //MEDIAINFO_ADVANCED
         }
         #endif //defined(MEDIAINFO_DIRECTORY_YES)
+    }

     #if defined(MEDIAINFO_DIRECTORY_YES)
         Reader_Directory().Directory_Cleanup(List);

On closer inspection maybe ':' is not meant for lists, maybe it is meant for detecting URLs?

maybe it is meant for detecting URLs?

Ooops, too tired, right.
(there is a list hack somewhere else)

I actually think that this bug is now fixed. My other PR is useful but fixes a different bug (sequences are reported multiple times if you do seq_folder/*, rather than seq_folder.


17_3 - Create Feedback Dialog Component

Create a Material UI dialog component that:

Shows appropriate feedback message based on answer correctness
Includes animation for better user experience
Matches existing application styling
Handles both correct and incorrect answer scenarios

Relates to https://github.com/unicornteam2024/quizzer/issues/65
Labels: frontend
Milestone: Sprint 2

Created and implemented feedback dialog


there was a problem looking for IP

left: normal, right: P2P tool modified
if I start server normally, it will works
but when I use some P2P online tool, it changes my local IP to <IP_ADDRESS>, and the server has gone, didn't start normally
I tried to modify interfacepicker.js and try to find out what was wrong, but I didn't find it
instead of create a new virtual network adapter, the P2P tool directly modifies your local network adapter
if you have time, I hope you can fix it soon. my operator has limited my P2P hole punching behavior, so I can only use this kind of software, thanks in advance!

Have you tried starting the server with node dist/server.js --ip-address <IP_ADDRESS>?

Have you tried starting the server with node dist/server.js --ip-address <IP_ADDRESS>?

He mean he is running under some lan gaming platform like Hamachi or Tunngle but without a tun/tap device like 游侠对战平台(http://pk.ali213.net/).

@dounai2333 which software are you using?

@dounai2333 which software are you using?

I'm using the one that GEEKiDoS said, it's an all-chinese software, and yet I haven't tried the command you said, because this is the first time I use nodeJS. I have seen -i / --ip-address, but I don't know how to use it (I actually tried to combine it like "npm run start -i <IP_ADDRESS>" and "nmp run start server -i <IP_ADDRESS>", but it doesn't work hahahaha)
I tried the command you said, and it works. thank you!

Run a VPN server, route subnet for the the traffic, need to route UDP packets

In order to pass arguments to the server through npm run, such as --ip-address you must enter npm run start -- --ip-address <IP_ADDRESS>. Note the -- in front of start: everything after it will be used as a server argument


Download more than 100 posts per query

Right now, Reddit API only returns a max of 100 posts. We can paginate this and then run it in a loop to keep going to the next page.

Working on this now!


Devices > 30 ccznp has not been initialized yet

i think we have a problem with the new Firmware..
here is my log from iobroker project.. the cc2531 stops after 3-4 hours ..
this is the only message and all devices are offline
zigbee.0	2019-03-15 15:50:53.566	error	at ZigbeeController.publish (/opt/iobroker/node_modules/iobroker.zigbee/lib/zigbeecontroller.js:366:20)
zigbee.0	2019-03-15 15:50:53.566	error	at Queue.(anonymous function) [as push] (/opt/iobroker/node_modules/queue/index.js:59:12)
zigbee.0	2019-03-15 15:50:53.566	error	at Queue.start (/opt/iobroker/node_modules/queue/index.js:145:17)
zigbee.0	2019-03-15 15:50:53.566	error	at queue.push (/opt/iobroker/node_modules/iobroker.zigbee/lib/zigbeecontroller.js:377:24)
zigbee.0	2019-03-15 15:50:53.566	error	at Endpoint.ep.functional (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-shepherd/lib/shepherd.js:590:25)
zigbee.0	2019-03-15 15:50:53.566	error	at ZShepherd._functional (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-shepherd/lib/shepherd.js:722:20)
zigbee.0	2019-03-15 15:50:53.566	error	at Object.af.zclFunctional (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-shepherd/lib/components/af.js:384:12)
zigbee.0	2019-03-15 15:50:53.566	error	at Object.af.send (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-shepherd/lib/components/af.js:106:16)
zigbee.0	2019-03-15 15:50:53.566	error	at Controller.request (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-shepherd/lib/components/controller.js:322:13)
zigbee.0	2019-03-15 15:50:53.566	error	at CcZnp.request (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/cc-znp/lib/ccznp.js:182:15)
zigbee.0	2019-03-15 15:50:53.566	error	Error: ccznp has not been initialized yet
zigbee.0	2019-03-15 15:50:53.565	error	uncaught exception: ccznp has not been initialized yet
here the completely log
Neues Textdokument.TXT
any ideas ???

Please try with the following firmware: https://drive.google.com/open?id=1-xzI6b8umZFpki-pfaKdLgcPrUUlswe5
Relative to the 20190223 firmware, it has an increased memory heap at the cost of direct connected devices to the coordinator (15 -> 5).

reflash = new rebind the devices ??

is it possible monitor the heap memory ??

http://www.zigbee2mqtt.io/information/what_does_and_doesnt_require_repairing.html
Monitoring doesn't seem to be possible (not described here: http://dev.ti.com/tirex/content/simplelink_cc13x2_26x2_sdk_2_40_00_81/docs/zigbee/doxygen/zigbee/html/index.html)

Please try with the following firmware: https://drive.google.com/open?id=1-xzI6b8umZFpki-pfaKdLgcPrUUlswe5
Relative to the 20190223 firmware, it has an increased memory heap at the cost of direct connected devices to the coordinator (15 -> 5).

it works better..


Calendar (sheet mode) will not respect backdrop setting

Framework7 version: 3.1.1
Platform and Target: iOS 11
Live Link or JSFiddle: http://framework7.io/docs/calendar.html

Describe the bug
If openIn is sheet, backdrop is not enabled. so that the calendar and the background elements are mixed together. According to the doc, backdrop is only available for popover. When I set openIn="popover", the calendar is gone.
To Reproduce
http://framework7.io/docs/calendar.html
Expected Behavior
The user experience is not good. Recommend to blur and darken the background elements.
Actual Look and Feel

Expected Look and Feel

Sorry. It looks fixed in 3.2.1


"No frames output" when using AndroidSequenceEncoder

Hello. I am using AndroidSequenceEncoder to try and make a video using images. However, I get a "No frames output" message during run-time and the video file encoded does not appear in the Android Virtual Device until I restart it. When restarted, the video appears but has an extremely short run-time similar to what's described in https://github.com/jcodec/jcodec/issues/102.
Does this message have anything to do with the issues I have, or is it completely unrelated? For the code I used, refer to this link: https://stackoverflow.com/questions/47588301/receiving-no-frames-output-when-using-androidsequenceencoder

One problem that I see with the above code is that the actual encoding of frames takes place in a separate (background) thread. So under some circumstance it is possible that none of the frames are actually encoded by the time 'finish' is called.
What you need to do is make sure 'finish' is called after the encoding of all frames actually took place. There are multiple ways to achieve this:

Move your loops entirely inside the async task followed by finish;
In case there's only one executor thread you can get away with executing 'finish' inside the async task also, that way you'll rely on internal executor queue to execute your 'finish' at the very end;
Use thread synchronization primitives, like 'wait/notify'. So in the main thread you can 'wait' before calling 'finish' and in the async task you'll 'notify'. Though this is a viable option I would strongly discourage you from using it for a variety of other reasons.

I have done what you suggested and moved all of the code into an AsyncTask. I still need to restart the Android emulator for the video to appear, but it does not immediately stop after playing. However, when inputting 4 images, it only lasts about 1 second (immediately after switching to the second image) and. This was the same no matter how many images were added.
`
class outtaSync extends AsyncTask<Void, Void, Void>
{
    private final ProgressDialog dialog = new ProgressDialog(MainActivity.this);

    public void onPreExecute()
    {
        this.dialog.setMessage("Creating video. Please wait...");
        this.dialog.show();
    }

    @Override
    protected Void doInBackground(Void... voids)
    {
        //Retrieves current date and time to use as filename
       SimpleDateFormat format = new SimpleDateFormat("MMddyyyyHHmmss", Locale.US);
       StringBuffer b = new StringBuffer();
       b = format.format(new Date(), b, new FieldPosition(0));
       b.append(".mp4");
       final String filename = b.toString();
       Log.d("FILENAME", filename);
       File file = new File(Environment.getExternalStorageDirectory(), filename);
       Log.d("MAKEVIDEO", "New video file path: " + file.getPath());

       try
       {
           AndroidSequenceEncoder ase = AndroidSequenceEncoder.createSequenceEncoder(file, fps);
           Log.d("SEQUENCEENCODER", "SequenceEncoder created");
           //outer for-loop; goes through each image individually
           for (int i = 0; i < imgs.size(); i++)
           {
               this.dialog.setMessage("Retrieving image " + i + " of " + (imgs.size() - 1));
               //inner for-loop; adds the given image a number of times determined by how long each image is on-screen
               //fps is set to 1 by default
               for (int j = 0; j < fps; j++)
               {
                   this.dialog.setMessage("Encoding image " + i + ", " + (j + 1) + " of " + fps);
                   ase.encodeImage(imgs.get(i));
               }
          }
          ase.finish();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return null;
    }

    public void onPostExecute(Void result)
    {
        if(dialog.isShowing())
            dialog.dismiss();
    }
}
outtaSync os = new outtaSync();
os.execute();`

This AsyncTask is executed after defining it and there are no error messages received. Could there be something I am overlooking that is affecting video length? I am getting chatty messages in Logcat saying "Renderthread identical __ lines", but that seems to have to do with message output. and not problems with the code itself.

Could you attach the resulting video to this thread?

Strangely enough, after pulling it from the emulator I found the video plays normally. Maybe it's just a problem with the emulator itself?
12072017211514.zip


Updated the dimension size in tfl_ops.td documentation

Changed the dimension from TFL_NumElementsEqualsDim<3, 1, 4>   to    TFL_NumElementsEqualsDim<3, 1, 3>
Probably fixes #62076
Please have a look. Thank you!

Hi @jpienaar Can you please review this PR ? Thank you!

Hi @jpienaar Can you please review this PR ? Thank you!

Hi @jpienaar Can you please review this PR ? Thank you!

Hi @jpienaar Can you please review this PR ? Thank you!

Hi @jpienaar Can you please review this PR ? Thank you!

Hi @sushreebarsa Can you please check the above comment from @mihaimaruseac and keep posted. Thank you!

I'm actually thinking 4 is good here.

@mihaimaruseac I did realize that and replied the same to the user in the issue thread. Thank you!

Hi @sushreebarsa Any update on this PR? Please. Thank you!

@gbaned The proposed changes as suggested by user is inappropriate it seems. The concerned issue has already been closed. So, closing this PR as well till new information comes. Thank you!


Source not working

check plz
e: C:\android\android_workspace\Android-MVVM-Boilerplate-Hilt\app\build\generated\source\navigation-args\debug\com\aregyan\github\views\userList\UserListFragmentDirections.kt: (3, 8): Unresolved reference: R
e: C:\android\android_workspace\Android-MVVM-Boilerplate-Hilt\app\build\generated\source\navigation-args\debug\com\aregyan\github\views\userList\UserListFragmentDirections.kt: (13, 41): Unresolved reference: R

I just checked the project, and it works on my side, you can Invalidate Caches and Restart, and Sync Project with Gradle Files. I think this might help.

I just updated the dependencies, your issue should be solved.

good. it works for me!. thank you

I just updated the dependencies, your issue should be solved.

good. it works for me!. thank you

I just updated the dependencies, your issue should be solved.

Could you please again update the dependencies and Gradle plugin according to current stable version of Android Studio Hedgehog | 2023.1.1.


I encountered the following error when building, how to solve it?

qianxu@qianxu-VirtualBox:~/桌面/3dsident-i18n-zh-cn$ make
make[1]: 进入目录“/home/qianxu/桌面/3dsident-i18n-zh-cn/console”
system.c
/home/qianxu/桌面/3dsident-i18n-zh-cn/console/../common/system.c: In function 'System_GetNANDLocalFriendCodeSeed':
/home/qianxu/桌面/3dsident-i18n-zh-cn/console/../common/system.c:252:9: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
252 |  buf[6] = '\0';
|  ~^~
/home/qianxu/桌面/3dsident-i18n-zh-cn/console/../common/system.c:213:22: note: at offset 6 to an object with size 0 allocated by 'malloc' here
213 |  char *buf = (char *)malloc(6);
|                      ^~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [/opt/devkitpro/devkitARM/base_rules:85：system.o] 错误 1
make[1]: *** [Makefile:207：all] 错误 2
make[1]: 离开目录“/home/qianxu/桌面/3dsident-i18n-zh-cn/console”
make[1]: 进入目录“/home/qianxu/桌面/3dsident-i18n-zh-cn/gui”
system.c
/home/qianxu/桌面/3dsident-i18n-zh-cn/gui/../common/system.c: In function 'System_GetNANDLocalFriendCodeSeed':
/home/qianxu/桌面/3dsident-i18n-zh-cn/gui/../common/system.c:252:9: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
252 |  buf[6] = '\0';
|  ~^~
/home/qianxu/桌面/3dsident-i18n-zh-cn/gui/../common/system.c:213:22: note: at offset 6 to an object with size 0 allocated by 'malloc' here
213 |  char *buf = (char *)malloc(6);
|                      ^~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [/opt/devkitpro/devkitARM/base_rules:85：system.o] 错误 1
make[1]: *** [Makefile:207：all] 错误 2
make[1]: 离开目录“/home/qianxu/桌面/3dsident-i18n-zh-cn/gui”
make: *** [Makefile:4：all] 错误 2
qianxu@qianxu-VirtualBox:~/桌面/3dsident-i18n-zh-cn$

This hasn't been built for over 2 years. I'd suggest removing the "-Werror" cflag from the makefile and see if it still compiles. It will still produce warnings however. This honestly has a lot of room for improvement.

This hasn't been built for over 2 years. I'd suggest removing the "-Werror" cflag from the makefile and see if it still compiles. It will still produce warnings however. This honestly has a lot of room for improvement.

Thank you. But I encountered a new error.
qianxu@qianxu-VirtualBox:~/桌面/3DSident$ make
make[1]: 进入目录“/home/qianxu/桌面/3DSident/console”
main.c
hardware.c
system.c
/home/qianxu/桌面/3DSident/console/../common/system.c: In function 'System_GetNANDLocalFriendCodeSeed':
/home/qianxu/桌面/3DSident/console/../common/system.c:252:9: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
252 |  buf[6] = '\0';
|  ~^~
/home/qianxu/桌面/3DSident/console/../common/system.c:213:22: note: at offset 6 to an object with size 0 allocated by 'malloc' here
213 |  char *buf = (char *)malloc(6);
|                      ^~~~~~~
storage.c
utils.c
misc.c
wifi.c
kernel.c
fs.c
ac.c
am.c
actu.c
linking 3DSident.elf
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: kernel.o:/home/qianxu/桌面/3DSident/console/../common/fs.h:6: multiple definition of archive'; system.o:/home/qianxu/桌面/3DSident/console/../common/fs.h:6: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: fs.o:/home/qianxu/桌面/3DSident/console/../common/fs.h:6: multiple definition of archive'; system.o:/home/qianxu/桌面/3DSident/console/../common/fs.h:6: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [/opt/devkitpro/devkitARM/3ds_rules:42：/home/qianxu/桌面/3DSident/console/3DSident.elf] 错误 1
make[1]: *** [Makefile:207：all] 错误 2
make[1]: 离开目录“/home/qianxu/桌面/3DSident/console”
make[1]: 进入目录“/home/qianxu/桌面/3DSident/gui”
sprites.t3s
C2D_helper.c
menus.c
config.c
main.c
menu_control.c
textures.c
hardware.c
system.c
/home/qianxu/桌面/3DSident/gui/../common/system.c: In function 'System_GetNANDLocalFriendCodeSeed':
/home/qianxu/桌面/3DSident/gui/../common/system.c:252:9: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
252 |  buf[6] = '\0';
|  ~^~
/home/qianxu/桌面/3DSident/gui/../common/system.c:213:22: note: at offset 6 to an object with size 0 allocated by 'malloc' here
213 |  char *buf = (char *)malloc(6);
|                      ^~~~~~~
storage.c
utils.c
misc.c
wifi.c
kernel.c
fs.c
ac.c
am.c
actu.c
linking 3DSident-GUI.elf
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menus.o:/home/qianxu/桌面/3DSident/gui/include/common.h:8: multiple definition of exitJmp'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/common.h:8: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menus.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of sizeBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menus.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of dynamicBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menus.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of staticBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menus.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: multiple definition of RENDER_BOTTOM'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menus.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: multiple definition of RENDER_TOP'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of volumeIcon'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of cursor'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_home'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Cstick'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Cpad'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Dpad'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_ZR'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_ZL'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_R'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_L'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Start_Select'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Y'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_X'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_B'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_A'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: multiple definition of drive_icon'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: multiple definition of banner'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/common.h:8: multiple definition of exitJmp'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/common.h:8: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of sizeBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of dynamicBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of staticBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: multiple definition of RENDER_BOTTOM'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: main.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: multiple definition of RENDER_TOP'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of volumeIcon'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of cursor'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_home'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Cstick'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Cpad'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Dpad'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_ZR'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_ZL'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_R'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_L'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Start_Select'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Y'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_X'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_B'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_A'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: multiple definition of drive_icon'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: multiple definition of banner'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of sizeBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of dynamicBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: multiple definition of staticBuf'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:16: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: multiple definition of RENDER_BOTTOM'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: menu_control.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: multiple definition of RENDER_TOP'; C2D_helper.o:/home/qianxu/桌面/3DSident/gui/include/C2D_helper.h:15: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of volumeIcon'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of cursor'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_home'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Cstick'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Cpad'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Dpad'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_ZR'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_ZL'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_R'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_L'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Start_Select'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_Y'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_X'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_B'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: multiple definition of btn_A'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:7: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: multiple definition of drive_icon'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: textures.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: multiple definition of banner'; menus.o:/home/qianxu/桌面/3DSident/gui/include/textures.h:6: first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: kernel.o:/home/qianxu/桌面/3DSident/gui/../common/fs.h:6: multiple definition of archive'; system.o:/home/qianxu/桌面/3DSident/gui/../common/fs.h:6: first defined here /opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/bin/ld: fs.o:/home/qianxu/桌面/3DSident/gui/../common/fs.h:6: multiple definition of archive'; system.o:/home/qianxu/桌面/3DSident/gui/../common/fs.h:6: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [/opt/devkitpro/devkitARM/3ds_rules:42：/home/qianxu/桌面/3DSident/gui/3DSident-GUI.elf] 错误 1
make[1]: *** [Makefile:207：all] 错误 2
make[1]: 离开目录“/home/qianxu/桌面/3DSident/gui”
make: *** [Makefile:4：all] 错误 2
qianxu@qianxu-VirtualBox:~/桌面/3DSident$

Some variable probably redefined somewhere. I don't really maintain this anymore.


Error downloading version manifest (due to change of the version manifest url?)

During the summer they changed the URL for version manifest and recently I've not been able to download the version manifest with mscs. Error also leads to not being able to update the server with mscs, downloading the version manifest by hand didn't seem to do anything. I also receive this malformed JSON string error.
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at -e line 14, <> chunk 1.
This could be related? https://bugs.mojang.com/browse/WEB-5905

Hi @Latuchi.
I just gave the update function a try, and it worked just fine.
$ sudo mscs status
Minecraft Server Status:
  alpha: running version 1.19 (0 of 20 users online).
    Port: 25566.
    Memory used: 1.37GB (2GB allocated).
    Process ID: 2581.
    Crash Monitor PID: 3954
$ sudo rm /opt/mscs/version_manifest.json /opt/mscs/version_manifest.json.bak
$ sudo mscs update
Downloading current Minecraft version manifest.
Stopping Minecraft Server: alpha.
Backing up Minecraft Server: alpha.
Updating Server Software: alpha.
Restarting Minecraft Server: alpha.
$ sudo mscs status
Minecraft Server Status:
  alpha: running version 1.19.2 (0 of 20 users online).
    Port: 25566.
    Memory used: 1.79GB (2GB allocated).
    Process ID: 62308.
    Crash Monitor PID: 62434

Try removing the version_manifest.json as I did above and see if that works for you.
 sudo rm /opt/mscs/version_manifest.json /opt/mscs/version_manifest.json.bak

Check that permissions are correct if that doesn't work.
sudo chmod -R u+w /opt/mscs
sudo chown -R minecraft:minecraft /opt/mscs

Thanks for the help @sandain 🙂
Seems like yesterday there was some weird dhcp issue at the data center I have my server at as today mscs update worked just fine without any issues.


(Requirejs) Using r.js to combine AMD files include isMobile.js throw error: Mismatched anonymous define() module: [object Object]

I'm not sure this is an issue or just my wrong.
At first, I include isMobile.js in my AMD project use the following code, it worked very well.
require( [ "app", "isMobile" ], function(App, isMobile) {
    //...
});

But when I use r.js to optimize and combine my project and run again, the following error has occurred.
Mismatched anonymous define() module: [object Object]

Then I found  the description of this error form the page of requirejs .
So I think the problem may be in the line #105~106 of isMobile.js:
 //AMD
define(global.isMobile = instantiate());

I tried to modify the code to look like this:
//AMD
define( 'isMobile', [], global.isMobile = instantiate() );

Then it worked fine.
So I just submit this issue, and I'm not a veteran of the requirejs, anyone could give me some advice on this?
Btw, very nice project :).

You are probably doing it the correct way. Feel free to submit a pull request, or I can patch it up if you don't want to. :smiley:

Please, update Bower with this version

@pilaas I've pushed a new tag, which should be reflected in bower. Thanks for the heads up!

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Commonjs 'exports.default 'cannot be recognized by a project created with<EMAIL_ADDRESS>

Describe the bug

pnpm create<EMAIL_ADDRESS>app
pnpm install
pnpm install vite-plugin-electron -D
edit vite.config.ts

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import electron from 'vite-plugin-electron'

console.log(electron)
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()]
})

pnpm run dev
view console:  'electron is not function'

Reproduction
https://stackblitz.com/edit/vitejs-vite-jrosgt?file=vite.config.js
System Info
System:
    OS: windows11
    CPU: 11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz   2.50 GHz
    Memory: 16G
  Binaries:
    Node: 16.17.0
    npm: 8.19.1
    pnpm: 7.11.0
  Browsers:
    Chrome: 100.0.4896.60
  npmPackages:
    vite: ^3.0.7 => 3.1.0

Used Package Manager
pnpm
Logs

Click to expand!
error when starting dev server:
TypeError: electron is not a function
    at file:///C:/workspace/project/phds/vite.config.ts.timestamp-1663043089770.mjs:10:5
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:533:24)
    at async loadConfigFromBundledFile (file:///C:/workspace/project/phds/node_modules/.pnpm/registry.npmmirror.com+vite@3.1.0/node_modules/vite/dist/node/chunks/dep-665b0112.js:63419:21)
    at async loadConfigFromFile (file:///C:/workspace/project/phds/node_modules/.pnpm/registry.npmmirror.com+vite@3.1.0/node_modules/vite/dist/node/chunks/dep-665b0112.js:63305:28)
    at async resolveConfig (file:///C:/workspace/project/phds/node_modules/.pnpm/registry.npmmirror.com+vite@3.1.0/node_modules/vite/dist/node/chunks/dep-665b0112.js:62904:28)
    at async createServer (file:///C:/workspace/project/phds/node_modules/.pnpm/registry.npmmirror.com+vite@3.1.0/node_modules/vite/dist/node/chunks/dep-665b0112.js:61978:20)
    at async CAC.<anonymous> (file:///C:/workspace/project/phds/node_modules/.pnpm/registry.npmmirror.com+vite@3.1.0/node_modules/vite/dist/node/cli.js:700:24)

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

vite-plugin-electron uses exports.default = electron;.
<EMAIL_ADDRESS>So you'll need to import with
import _electron from 'vite-plugin-electron';

const electron = _electron.default;

This is how node.js works. If you run the following code, you will get the same result.
import electron from 'vite-plugin-electron';

console.log(electron.default);

vite-plugin-electron uses exports.default = electron<EMAIL_ADDRESS>So you'll need to import with
import _electron from 'vite-plugin-electron';

const electron = _electron.default;

This is how node.js works. If you run the following code, you will get the same result.
import electron from 'vite-plugin-electron';

console.log(electron.default);

Why was there no such problem with<EMAIL_ADDRESS>before

Why was there no such problem with<EMAIL_ADDRESS>before
'exports. default' is the result of 'export default' compiled into CommonJs. Isn't Vite compatible?

Vite just alignes with Node.js.

const electron = _electron.default;
It's very unfriendly to 'typescript'

This needs to be fixed on vite-plugin-electron side.


CMAKE has no key to disable the build of python wrapper when building TF lite from source using Xcode or Android Studio

Click to expand!
Issue Type
Feature Request
Source
source
Tensorflow Version
TF2.9
Custom Code
No
OS Platform and Distribution
Linux Ubuntu 18 or MacOS
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
CMAKE has no key to disable the build of python wrapper when building TF lite from source using Xcode or Android Studio.

current cmake in tensorflow/tensorflow/lite with the a non optional python wrapper, which triggers errors when using tensorflow as a submodule in an Xcode or Android studio project

# Python interpreter wrapper.
add_library(_pywrap_tensorflow_interpreter_wrapper SHARED EXCLUDE_FROM_ALL
  ${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/interpreter_wrapper.cc
  ${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/interpreter_wrapper_pybind11.cc
  ${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/numpy.cc
  ${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/python_error_reporter.cc
  ${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/python_utils.cc
)

# To remove "lib" prefix.
set_target_properties(_pywrap_tensorflow_interpreter_wrapper PROPERTIES PREFIX "")

target_include_directories(_pywrap_tensorflow_interpreter_wrapper
  PUBLIC
    ${TFLITE_INCLUDE_DIRS}
)

target_link_libraries(_pywrap_tensorflow_interpreter_wrapper
  tensorflow-lite
  ${CMAKE_DL_LIBS}
)
target_compile_options(_pywrap_tensorflow_interpreter_wrapper
  PUBLIC ${TFLITE_TARGET_PUBLIC_OPTIONS}
  PRIVATE ${TFLITE_TARGET_PRIVATE_OPTIONS}
)

I would expect a cmake key to enable or disable the python wrapper
e.g.

if(TFLITE_ENABLE_pywrap)
...
endif()

Standalone code to reproduce the issue
CMAKE has no key to disable the build of python wrapper when building TF lite from source using Xcode or Android Studio.

Relevant log output
cannot find Python.h

get the same problem

I'm not familiar with the process but adding flag should be simple. Is it OK to enable it by default?

a flag to enable/disable would be the best option especially for those who add TensorFlow as a sub-module and don't want the python wrapper .  it could be as simple as this in the CMAKE file in tensorflow/tensorflow/lite
if(TFLITE_ENABLE_pywrap)
Python interpreter wrapper.
add_library(_pywrap_tensorflow_interpreter_wrapper SHARED EXCLUDE_FROM_ALL
${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/interpreter_wrapper.cc
${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/interpreter_wrapper_pybind11.cc
${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/numpy.cc
${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/python_error_reporter.cc
${TFLITE_SOURCE_DIR}/python/interpreter_wrapper/python_utils.cc
)
set_target_properties(_pywrap_tensorflow_interpreter_wrapper PROPERTIES PREFIX "")
target_include_directories(_pywrap_tensorflow_interpreter_wrapper
PUBLIC
${TFLITE_INCLUDE_DIRS}
)
target_link_libraries(_pywrap_tensorflow_interpreter_wrapper
tensorflow-lite
${CMAKE_DL_LIBS}
)
target_compile_options(_pywrap_tensorflow_interpreter_wrapper
PUBLIC ${TFLITE_TARGET_PUBLIC_OPTIONS}
PRIVATE ${TFLITE_TARGET_PRIVATE_OPTIONS}
)
endif()

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The TFLite team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the TFLite space.


Change QUtil::read_file_into_string to work with pipes (fixes #1010)

The changed function passes locally fix-qdf.test extended with
for (my $n = 1; $n <= 2; ++$n)
{
    $td->runtest("fix-qdf $n",
                 {$td->COMMAND => "cat fix$n.qdf | fix-qdf "},
                 {$td->FILE => "fix$n.qdf.out",
                  $td->EXIT_STATUS => 0});

    $td->runtest("identity fix-qdf $n",
                 {$td->COMMAND => "fix-qdf fix$n.qdf.out"},
                 {$td->FILE => "fix$n.qdf.out",
                  $td->EXIT_STATUS => 0});
}

I am not sure how to test reading from a pipe in a portable way, or how to limit tests to Linux.
I did not follow the suggestions to use fscanf (too complex) or std::getline (all the existing code dealing with platform difference is based on C rather than C++ streams; this option would be attractive if/when this changes).

Sorry for the long delay. Thanks for doing this. It looks good except for a nit: I avoid using common system call or library names like read as local variable names as these sometimes tend to be macros on certain platforms. In any case, I can take this and write good, portable tests for it. I'll try to squeeze it in so I can get 11.5.1 released.

read -> n_read


False negative in Style/BlockDelimiters when using semantic style in factories

Factory Girl allowed us to define dynamic attributes by passing in lazy-evaluated block into attribute.. for example (taken directly from their documentation)
factory :user do
  # ...
  activation_code { User.generate_activation_code }
  date_of_birth   { 21.years.ago }
end

the return value of these blocks are significant, as it is will be used as the value of the attributes, so they should be considered functional block.. the attributes provided by Style/BlockDelimiters -- FunctionalMethods, etc -- unfortunately won't help us here, since these attributes are dynamic..
I'm not so sure if it's something that we can safely analyze statically.. though, just to throw out ideas, is it possible to expand FunctionalMethods to allow defining nested blocks.. for example, to have something like factory *, or regex style like factory (?!(before|after))..

Expected behavior
Dynamic Attributes under factory should be recognized as functional block
Actual behavior
Dynamic Attributes under factory is recognized as procedural block
Steps to reproduce the problem
Define a factory like:
factory :user do
  # ...
  activation_code { User.generate_activation_code }
  date_of_birth   { 21.years.ago }
end

RuboCop version
o.46.0

As it's really hard to reliably handle cases like this one, I really don't know what to suggest. We might implement some checks for nested blocks, but how would result in some false negatives in the end - e.g. there might be some procedural block in these contexts that won't be properly flagged. Once again - those are the limitations of dynamic languages. :-)

how do you feel about extending FunctionalMethods and ProceduralMethods config to support nested declaration like:
ProceduralMethods:
  - tap
  - with_object
  - factory:
      MethodMissing: functional
      FunctionalMethods:
        - add_attribute
        - initialize_with
        - sequence
      ProceduralMethods:
        - callback
        - before
        - before_stubbed
        - after
        - after_stubbed
        - transient
        - to_create

if this is something that seems acceptable API-wise, I would love to try to take a stab at making a PR for it.. :grin:

There hasn't been much activity on this ticket and our Core Team is spread too thin on so many tasks, so I'll just close it for the sake of having a cleaner lists of tasks to focus on. We'd gladly review a PR, but it's unlikely that'd we're going to tackle this ourselves in the foreseeable future.

sure! thanks a lot, i'll try to come up with a PR so that we can have more concrete discussion..