Log manager misconfiguration

I have a configuration with line
 #set($workdir = "/home/crawlers/www.somesite.com/workdir")
<logsDir>${workdir}/logs</logsDir>

When I launch the crawler first time it works perfectly (means no workdir created yet), but on the second launch (-a start) it delivers following error:
com.norconex.commons.lang.config.ConfigurationException: This class could not be instantiated: "com.norconex.jef4.log.FileLogManager".
	at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:177)
	at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:321)
	at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:223)
	at com.norconex.jef4.status.JobSuiteStatusSnapshot.newSnapshot(JobSuiteStatusSnapshot.java:179)
	at com.norconex.jef4.suite.JobSuite.getJobStatus(JobSuite.java:154)
	at com.norconex.jef4.suite.JobSuite.getJobStatus(JobSuite.java:146)
	at com.norconex.jef4.suite.JobSuite.getStatus(JobSuite.java:139)
	at com.norconex.collector.core.AbstractCollector.stop(AbstractCollector.java:131)
	at com.norconex.collector.core.AbstractCollectorLauncher.launch(AbstractCollectorLauncher.java:73)
	at com.norconex.collector.http.HttpCollector.main(HttpCollector.java:75)
Caused by: com.norconex.jef4.JEFException: Cannot create log directory: /var/www/Norconex/jef/workdir/latest/logs
	at com.norconex.jef4.log.FileLogManager.resolveDirs(FileLogManager.java:114)
	at com.norconex.jef4.log.FileLogManager.<init>(FileLogManager.java:85)
	at com.norconex.jef4.log.FileLogManager.<init>(FileLogManager.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
	at java.lang.Class.newInstance(Class.java:433)
	at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:175)
	... 9 more
Caused by: java.io.IOException: Unable to create directory /var/www/Norconex/jef/workdir/latest/logs
	at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:2384)
	at com.norconex.jef4.log.FileLogManager.resolveDirs(FileLogManager.java:112)
	... 17 more

Why it try create Norconex/jef directory?

Because the collectors use Norconex JEF (Job Execution Framework).   That's the directory it uses to store logs and/or progress.
I see you have set it to be something different than /var/www/Norconex/.  I suspect your <logsDir> value is not being considered. Where did you put it in your config?
The progress and log directories are not specific to each crawlers, but to the whole collector.  Can you copy your whole config?  See here to find out where they belong.

<httpcollector id="${machinereadablename}">

  #set($http = "com.norconex.collector.http")
  #set($core = "com.norconex.collector.core")
  #set($urlNormalizer   = "${http}.url.impl.GenericURLNormalizer")

  #set($workdir = "${crawlerdir}/workdir")y
  #set($configdir = "${crawlerdir}/config")

  <progressDir>${workdir}/progress</progressDir>
  <logsDir>${workdir}/logs</logsDir>

  <crawlers>
...

Seems the parameter is on place.
Why the error appears only on 2ns run of the crawler, when {$workdir} already exists?

I detected it tries to create the dir {user home}/Norconex/jef/workdir/

Not sure why you get this on second run only.  It is the first time something like that is being reported.   Just to make sure:

Is the "y" character at the end, when you set your workdir a typo only found here, and not in your actual config file?
Where is ${crawlerdir} variable defined?

JEF only falls back to the user home directory when no path has been specified.  So for some reason the path is not being set.

${crawlerdir} is defined at .properties file, which has similar to config name;

y is just a random symbol, appeared while I arranged the example, sorry.

May JEF have problems when trying to clean or backup previous session files, and fall to default path because exception?

Did you change some config values in-between two runs?  What if you try to clean your working directory and try again?   If you attach your entire config maybe I can try to reproduce.

Do you still have this problem?  Can this issue be closed? FYI, Norconex HTTP Collector 2.1.0 was released.  If you still have the issue, try with that version and confirm.

As v.2.1.0 released, I think it is better for me switch to this version and test it. I'll provide feedback nearest time. If the problem gone with the new release, we may close the issue

I have the same issue with the 2.2.0 recent snapshot - when I delete workdir, it runs perfectly, else I got messages like:
INFO  [JobSuite] JEF log manager is : FileLogManager
INFO  [JobSuite] JEF job status store is : FileJobStatusStore
INFO  [AbstractCollector] Suite of 1 crawler jobs created.
INFO  [JobSuite] Initialization...
FATAL [JobSuite] Job suite execution failed: www.site.com
com.norconex.commons.lang.config.ConfigurationException: This class could not be instantiated: "com.norconex.jef4.log.FileLogManager".
 at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:181)
 at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:329)
 at com.norconex.commons.lang.config.ConfigurationUtil.newInstance(ConfigurationUtil.java:228)
...

Looks similar to the subj, so seems a bug.

When you delete the folder manually, are you using the same user account as the one used to run the collector?  In other words is the user running the collector having the right permissions to create new directories (as per the first exception reported: Caused by: java.io.IOException: Unable to create directory /var/www/Norconex/jef/workdir/latest/logs)?
I was not able to reproduce yet.  What is your operating system?

I use Ubuntu Linux.
And why it search for /var/www/Norconex? I don't use the path in any config, and never planned to do so - it looks like a default value, hardcoded to sources and used when workdir already exists.

When no working directory is specified, it uses the user home directory + Norconex.    In your case, since you have given it a working directory, it should not write there.  Please paste your entire config to help reproduce (or email it if sensitive).

Assuming you did not change the default log level for it, if you look at the generated logs, near the beginning, do you see an INFO statement that look like this:
INFO  [AbstractCollectorConfig] Configuration loaded: id=yourId; logsDir=/crawlerdir/workdir/logs; progressDir=/crawlerdir/workdir/progress

What is detected for the logsDir?  It should tell you if it is loaded properly from your config in the first place (unless they error you are getting occurs before this gets printed).
I doubt this could be it, but are you using a variable file? If so, is it one you are explicitly passing as an argument to the collector startup shell script?  If so, do you always pass it?

I think your problem is with file permission. Can you give my config file a try and see if it works for you? I tested them on linux lubuntu 14
file minimum-config.xml
https://gist.github.com/martinfou/a08682d98efeeecce9ad
file minimum-config.variables
https://gist.github.com/martinfou/b2eb5155e60e6b9f4003

I checked with the config - it runs correctly and delivers following warning message on any launch with any config, including default:
log4j:WARN No appenders could be found for logger (org.apache.velocity.runtime.log.Log4JLogChute).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Why it tries to create directory /home/{username}/Norconex/jef/workdir/latest/logs when workdir in the config is set to <workDir>${workdir}</workDir> (workdir = /home/username/projects/norconex/test/)? The directory is always empty.
On my opinion collector-http should create service directories at ${workdir} - it is possible someone wants /home will restricted to the collector, or run it under another user's name.

How do you start the Collector? Are you using one of the launch script that's packaged in the zip you have downloaded?  Because out-of-the-box it should be pointing to the log4j.properties file found in the /classes/ folder where you unpacked the collector zip file.  The warnings you get suggests it is not being picked up.

Yes, I use collector-http.sh from the zip package downloaded. I launch it using as absolute, as relative  paths to the .sh script and to the config, as from collector's directory, as from a random dir.
I'll check access rights to /classes/ and comment here.

The user may read ./classes, as any other collector-http subdirectory. The workdir, described in crawler's config is writeable.
You may try to reproduce the error with following flow:

Create a user and decline him write access to his home.
Run collector with custom workdir, as a writeable directory out of the user's home.
Write down collector's log timestamp and take a pause.
Run the collector again - log file timestamp hasn't changed.

Run collector again.
See /home/{username}/Norconex/jef/workdir/latest/logs and log file at the workdir with changed timestamp.

I believe there is enough writable workdir for a crawler to run correctly.
If you wish I may send you my configs to email, as I want to keep them private.

Your config would definitely help, since the behavior you describe should not happen with a config where workdir and logsDir are defined properly.  You can check my github profile for my email.

I think I finally was able to reproduce.  It seems like it attempts to create the logs directory under the default location (under user home directory) no matter what you specify in the config.
In my case it does not write any files under that user home location, and the files are instead written where they should as per configuration, but that extra (empty) log directory is created and should not.
Marking this as a bug.

I just made a snapshot release that should no longer create directories in the default location if you have specified otherwise.  Let me know if that resolves the issue for you.

Thanks a lot!
I'll test the new snapshot and provide feedback in a day.

I confirm the bug is fixed. Everything works perfectly.
Thank you again for your help!

Thanks for confirming!

Norconex HTTP Collector 2.2.0 official release is out. It includes this fix. You can download it here.


feat: add genesis generator

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Which docs this PR relation:
Ref #
Which toolchain this PR adaption:
No Breaking Change
Special notes for your reviewer:
CI Switch
ci-runs-only: [Chaos CI, Cargo Clippy, Coverage Test, E2E Tests, Code Format, Unit Tests]

Codecov Report

Merging #525 (22531b7) into main (173b3f1) will decrease coverage by 0.85%.
The diff coverage is 88.00%.

@@            Coverage Diff             @@
##             main     #525      +/-   ##
==========================================
- Coverage   17.86%   17.01%   -0.86%
==========================================
  Files         135      136       +1
  Lines       18804    18782      -22
==========================================
- Hits         3360     3196     -164
- Misses      15444    15586     +142

Impacted Files
Coverage Δ

core/metadata/src/tests/mod.rs
100.00% <ø> (ø)

protocol/src/types/transaction.rs
43.62% <25.00%> (+1.55%)
:arrow_up:

core/metadata/src/lib.rs
94.50% <100.00%> (+1.64%)
:arrow_up:

core/executor/src/debugger/uniswap2.rs
0.00% <0.00%> (-99.57%)
:arrow_down:

protocol/src/types/executor.rs
80.00% <0.00%> (-20.00%)
:arrow_down:

core/executor/src/vm.rs
66.66% <0.00%> (-3.04%)
:arrow_down:

core/executor/src/adapter/mod.rs
63.63% <0.00%> (-0.88%)
:arrow_down:

core/executor/src/debugger/mod.rs
79.41% <0.00%> (-0.30%)
:arrow_down:

core/api/src/adapter.rs
0.00% <0.00%> (ø)

core/api/src/jsonrpc/impl.rs
0.00% <0.00%> (ø)

... and 12 more


Bump to v0.6.3

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This PR bumps streamz to 0.6.3.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@martindurant, can you review/merge this when you get a chance?

Thanks @ajschmidt8


[WIP] add header cache

Ref #82
import os

os.environ['ENABLE_HEADER_CACHE'] = 'TRUE'
os.environ['ENABLE_BLOCK_CACHE'] = 'FALSE'

from aiocogeo import COGReader
import asyncio

async def main():
    async with COGReader("https://async-cog-reader-test-data.s3.amazonaws.com/webp_cog.tif") as cog:
        await cog.get_tile(0,0,0)
        assert cog.requests['count'] == 21

    async with COGReader("https://async-cog-reader-test-data.s3.amazonaws.com/webp_cog.tif") as cog:
        await cog.get_tile(0,0,0)
        assert cog.requests['count'] == 3

asyncio.run(main())

Codecov Report

Merging #90 (8eb735e) into master (9e43c30) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
+ Coverage   93.17%   93.22%   +0.04%
==========================================
  Files          12       12
  Lines        1070     1077       +7
==========================================
+ Hits          997     1004       +7
  Misses         73       73

Impacted Files
Coverage Δ

aiocogeo/config.py
100.00% <100.00%> (ø)

aiocogeo/filesystems.py
83.17% <100.00%> (+0.48%)
:arrow_up:

aiocogeo/tag.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


multiple data files?

@atkindel There are metadata files in the main directory, which appear to be older than the file in the data directory.  If the data directory file is the one we are using, can we remove the ones from the main directory?  Also, the README recommends the tab delimited file, but the file in the data folder is .csv.  Is the README stale?

There's now only one csv file in the ffmeta/data folder. If we agree that there's always going to be one csv file for ffmetadata (along with other potential files in the future), then perhaps we don't need to suffix the YYYYMMDD date to it, we just call it ffmetadata.csv, and let the git machinery help us in tracking changes to the files.

@vineetbansal not everyone on the team is totally comfortable with git so I'm not sure if that is a good solution.  Can we stick with the dates for now?
But I think a better long term solution is some kind of versioning system (https://www.jvandemo.com/a-simple-guide-to-semantic-versioning/) for the data file, the API, and the web app.

This issue was moved to fragilefamilieschallenge/metadata_app#56


Custom probabilities

Would it be possible to keep equal slice sizes but assign different probabilities of selection to each slice?

That well be best update

I would also like this feature

any update?


Collect gcov-based coverage

Is this preferred? The docs https://doc.rust-lang.org/rustc/instrument-coverage.html seemingly prefers LLVM native instrumentation 🤔

LLVM-based coverage somehow showed partially covered branch as fully covered. I'm not sure what went wrong though.


Enhance meterSigGrp

This PR allows nesting of meterSigGrp elements, and makes meterSigGrp a part of att.enclosingChars and att.visibility.
It also removes the schematron assertion rule and makes the rule for needing at least two children part of the schema itself.
Closes #970
See https://github.com/music-encoding/music-encoding/issues/987#issuecomment-1221933906

The current model doesn't require 2 children.  It requires 2 meterSig children.  The model you're proposing requires at least 2 children, any number of which may be <meterSig> or <meterSigGrp>.  This would validate the following --
<meterSigGrp>
  <meterSig/>
  <meterSigGrp>
    <meterSig/>
    <meterSig/>
  </meterSigGrp>
</meterSigGrp>

which is fine.  It's just not the model that was there before.
I believe your model also results in an ambiguous content model, which RelaxNG tolerates, but XMLSchema does not.  If translation to XSD is ever envisioned, further investigation is required.

Could you give the complete encoding you have in mind for the example in https://github.com/music-encoding/music-encoding/issues/970 since what you gave is essentially visual ?

@pe-ro looking at similar groups (clefGrp, instrGrp, staffGrp) we need at least one child. I think this should be harmonized.

@lpugin & @pe-ro can we move forward with this for MEI 5.0 or are there things that should be fixed concerning the similar groups? Is there a need to add anything to the guidelines as well?

@bwbohl , I think we can move ahead and return to the harmonization and Guidelines questions later.

We pushed this to Milestone 5.x yesterday. This allows for adjusting the guidelines accordingly.

@bwbohl What needs to be adjusted in the Guidelines? meterSigGrp is only mentioned as possible child of staffDef, and that didn't change …

pinging @bwbohl

Maybe we could include an example in the "special cases section", e.g., one similar to the one you provided in #970 or even a less special example just to give a hint one can do such things in MEI?

@bwbohl should be ready now

@rettinghaus Can you please outsource the fix for #1430 in commit aa6a4430e6f096817548dc6f709c89db5a1dbe14 into a separate PR?


Emphasis on ItemStyle not working properly

One-line summary [问题简述]
If in emphasis, you set a border color, you have to hover over the border to see the color.
Version & Environment [版本及环境]

ECharts version [ECharts 版本]: 4.1.0
Browser version [浏览器类型和版本]: Chrome 67.0.3396.99
OS Version [操作系统类型和版本]: Windows 10

Expected behaviour [期望结果]
I think the intended use, was to hover over the node, just like the color or shadow property, in order to change borderColor. Just like in:  https://finviz.com/map.ashx
ECharts option [ECharts配置项]

			option = {
				series: [{
						name: "TreeMap",
						type:'treemap',
						data: oData[0].children,
						visibleMin: 300,
						levels: this.configureLevels(),
						label: this.configureLabel(),
						upperLabel :this.configureUpperLabel(),
						breadcrumb : {top: 10},
						itemStyle: {
							normal: {
								borderColor : "lightsteelgrey",
								borderWidth : 2
							},
							emphasis: {
								borderColor : "yellow",
								borderWidth : 2
							}
						}
				}]

``
### Other comments [其他信息]
<!-- For example: Screenshot or Online demo -->
<!-- [例如，截图或线上实例 (JSFiddle/JSBin/Codepen)] -->

Thanks for your advice. I think this totally makes sense.
We will fix it later.

Any update ?

Will this be fixed any time soon? this seems like a big oversight. @Ovilia


Provide shortcut alias for --no-build-default-comment option

Would it be possible to provide a short, single letter alias for the --no-build-default-comment option?  It's a lot to have to type out each time.
In my organization, we generally prefer not to have any comments associated with shelvesets, so I would actually prefer if there was a way to configure git-tfs so that this would be the default behavior whenever I shelve anything. That would be nice to have, but in lieu of that, could we make a single letter alias for this option?

I'm looking at this right now and have a couple questions.
I'm adding the new property to the ConfigProperties class like you suggested:
public bool NoBuildDefaultComment
{
    set { _loader.Override(GitTfsConstants.NoBuildDefaultComment, value); }
    get { return _loader.Get(GitTfsConstants.NoBuildDefaultComment, false); }
}

Now I'd like to read it out inside CheckinOptions. The way I was hoping to go about this is to have a nullable property in there, and if it's set, then use the value, or otherwise retrieve the default from ConfigProperties:
private bool? _noGenerateCheckinComment;
public bool NoGenerateCheckinComment
{
    get
    {
        return _noGenerateCheckinComment.HasValue ? _noGenerateCheckinComment.Value : _properties.NoBuildDefaultComment;
    }

    set
    {
        _noGenerateCheckinComment = value;
    }
}

So, that way, at least in theory, if the --no-build-default-comment option is passed in explicitly, it will get used; otherwise, it will use the value from the config. And, again in theory, this option should work exactly the same for the shelve command as for the checkin and rcheckin commands, without us having to modify the code for the shelve command, or any of the checkin commands.  (I say "in theory" because I've not yet been able to test the changes.)
However, that means we need access to ConfigProperties inside CheckinOptions.  So I added a constructor and added ConfigProperties as a parameter (previously, there was no explicit constructor in CheckinOptions):
public CheckinOptions(ConfigProperties properties)
{
    _properties = properties;
}

I see the project is using StructureMap for dependency injection - not something I've worked with before, but I'm guessing there shouldn't be any issues with being able to inject ConfigProperties in there. Let me know if there's anything special I need to do.
Does the approach described above sound reasonable so far?
Here are the issues I'm running into at this point. There are a bunch of places in the code (especially in the unit tests) that attempt to instantiate a CheckinOptions object directly. These places will now need to pass in a ConfigProperties object to the constructor.
Here's one example in CommitSpecificCheckinOptionsFactory.Clone().  In this case, I think I can work it out by injecting ConfigProperties into CommitSpecificCheckinOptionsFactory (and continuing on as needed if any code attempts to instantiate the factory directly). Does that sound like the correct approach in this case and others like it?
Now with the unit tests... there are 20 places that try to instantiate CheckinOptions by calling the constructor directly. Here's one in TfsWorkspaceTests.Nothing_to_checkin():
[Fact]
public void Nothing_to_checkin()
{
    IWorkspace workspace = MockRepository.GenerateStub<IWorkspace>();
    string localDirectory = string.Empty;
    TextWriter writer = new StringWriter();
    TfsChangesetInfo contextVersion = MockRepository.GenerateStub<TfsChangesetInfo>();
    IGitTfsRemote remote = MockRepository.GenerateStub<IGitTfsRemote>();
    CheckinOptions checkinOptions = new CheckinOptions();

For the unit tests, would the correct approach be to create stub ConfigProperties objects and pass those in to CheckinOptions? Something like this:
ConfigProperties configProperties = MockRepository.GenerateStub<ConfigProperties>();
CheckinOptions checkinOptions = new CheckinOptions(configProperties);

I think that should work, but I just wanted to get some confirmation on the approach given the number of places that would need updating. And I don't know if maybe the CheckinOptions was meant to be a more lightweight object that isn't supposed to have access to things like ConfigProperties... or maybe there are other design rules that I'm breaking here with this approach, so I wanted to ask before I proceed.

That looks pretty reasonable. Just a couple of comments.
In CheckinOptions, you might do this for the NoGenerateCheckinComment property:
public bool NoGenerateCheckinComment
{
    get { return _properties.NoGenerateCheckinComment; }
    set { _properties.NoGenerateCheckinComment = value; }
}

Now with the unit tests... there are 20 places that try to instantiate CheckinOptions by calling the constructor directly.

There are a couple of ways to approach this. If ConfigProperties is painful to set up in test, it'd be fine to add an interface to it (with only the interface that CheckinOptions needs, as ICheckinConfigProperties) and mock it. A better solution might be to switch those tests to use StructureMap's auto-mocker, similar to how GitTfsRemote's tests do it.

And I don't know if maybe the CheckinOptions was meant to be a more lightweight object that isn't supposed to have access to things like ConfigProperties...

It's supposed to be pretty lightweight, but having access to ConfigProperties seems pretty reasonable to me. CleanupOptions is another options class that references something else.
If ConfigProperties feels clunky, feel free to have CheckinOptions use ConfigPropertyLoader directly. It has a more generic interface, and may be easier to deal with in this context.

We are trying to clean up old/stale issues. As this issue hasn't seen any updates (or progress with pull requests) in quite a while, the issue will be closed. In case further information is provided, we can revisit that and reopen the issue again.


Feature/non binary gender result

thank you for your contribution but it seems this is not the gender proba change.
1- in DeepFace.py resp_obj was dict but not it is list.
2- in DeepFace.py, if you return gender_prediction directly, that would be the proba of genders.
3- in ArcFace.py, why you are not using keras.models.Model anymore?

Hi,
You are correct - I originally opened this branch to change the behavior of the analyze function in DeepFace to return the gender probability, and ended up adding a few more changes.
Regarding you comments:
1 - I realize that, but why? It is much easier to access the results if it were a list (i.e result[0] instead of something like result['instance_'+str(0]). I noticed that the order is constant with the results, and there's an extra-processing at the end of the analyze() function to convert the results from list to dict. Personally I found it redundant and inconvenient, but I would love to hear your take on why this was the design :)
2 - True. I guess I just used the same process as was used in other analysis actions. I can change that to return the gender prediction directly (should I multiply by 100 though?)
3 - Good point, I am not sure why / when I made this change. Will revert.

1- because, i realized that sometimes python returns array unsorted. i can understand the real index of that item with instance_x key. its initial version was a list instead of dict.
2- yes, scores should be in scale of [0, 100] similar to emotion and race scores.

1 - As far as I know lists maintain constant order (if this weren't true than the dict would also not be sorter, since it depends of the ondexes in the list)
2 - No problem, will make the change :)

unsorted arrays might be a python related bug but i can access it in the dict with instance_101 independently from its order.
besides, would you please move the content of test_nonbinary_gender.py to unit_tests.py. because unit tests are running by github automations.

See this thread as referance:
https://stackoverflow.com/questions/13694034/is-a-python-list-guaranteed-to-have-its-elements-stay-in-the-order-they-are-inse

Sure, will move the tests 👍


Default argument values are not overridden

Sorry for the dumb question but I haven't been able to find an answer. Given the following
def test(one="a", two="b"):
    print(one, two)

test(one="string")

CPython prints
string b
whereas Transcrypt prints
a b
In the generated JavaScript we get this
var test = function (one, two) {
	if (typeof one == 'undefined' || (one != null && one .hasOwnProperty ("__kwargtrans__"))) {;
		var one = 'a';
	};
	if (typeof two == 'undefined' || (two != null && two .hasOwnProperty ("__kwargtrans__"))) {;
		var two = 'b';
	};
	print (one, two);
};

In the test, the object one that is passed in is an object with a __kwargtrans__ property and a one property that equals "string". Rather than setting one to the value on this object, the __kwargtrans__ property causes the second condition of the || statement to be true and sets one to the default.
Is there some other way to do this or is the functionality not supported by Transcrypt?
Thanks!

Are you using  __pragma__ ('kwargs') to enable keyword arguments when you define test()?
See https://www.transcrypt.org/docs/html/special_facilities.html?highlight=kwargs#keeping-your-code-lean-pragma-kwargs-and-pragma-nokwargs

Yep that's it. Sorry about that, thanks for the help!


The Celebrity Problem

Feature ✅
Description
In a party of N people, only one person is known to everyone. Such a person may be present in the party, if yes, (s)he doesn’t know anyone in the party. We can only ask questions like “does A know B? “. Find the stranger (celebrity) in the minimum number of questions.
We can describe the problem input as an array of numbers/characters representing persons in the party. We also have a hypothetical function HaveAcquaintance(A, B) which returns true if A knows B, false otherwise. How can we solve the problem.
Example
MATRIX = { {0, 0, 1, 0},
{0, 0, 1, 0},
{0, 0, 0, 0},
{0, 0, 1, 0} }
Output:id = 2
Explanation: The person with ID 2 does not
know anyone but everyone knows him
Input:
MATRIX = { {0, 0, 1, 0},
{0, 0, 1, 0},
{0, 1, 0, 0},
{0, 0, 1, 0} }
Output: No celebrity
Explanation: There is no celebrity.
Please first try this question yourself
Checklist:

[x] I have read the project guidelines.
[x] I have checked all the existing projects, before submitting a new project issue.
[x] This issue will be meaningful for the project.
[x] I will contribute more in future

Contributors are supposed to mention their coding language while asking for assignment

I can do this in Javascript

@pratik-choudhari can you please assign this problem to me , I will do it in Python.

Can you please assign this to me in Java?
@pratik-choudhari


Disable checkRecipients by default as it contradicts alwaysTrust

If CheckRecipients is true AlwaysTrust doesn't matter anymore, since invalid recipients won't even be passed to gpg.
Also see #206
@frntn

I have successfully build, install & test this commit against my setup :
bash$ git remote add dominikschulz https://github.com/dominikschulz/gopass.git
bash$ git fetch dominikschulz
bash$ git checkout fix/checkrecp
bash$ make
bash$ sudo make install
bash$ /usr/bin/gopass edit team-devel/foo/bar
gopass: Encrypting /foo/bar for these recipients:
 - 0xAD01D1EDC256A009 - John Doe<EMAIL_ADDRESS> - 0xD385289FA809234F - Matthieu Fronton<EMAIL_ADDRESS>
Do you want to continue? [Y/n]: n

Thanks :+1:


Nick.de extractor: Unable to extract mrss url

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.06.06
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dl --verbose "https://www.nick.de/episodes/82rjmk/henry-danger-die-budgetkuerzung-staffel-4-ep-24"
[debug] System config: ['-c', '-i']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.nick.de/episodes/82rjmk/henry-danger-die-budgetkuerzung-staffel-4-ep-24']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.2 (CPython) - Linux-5.10.0-kali9-amd64-x86_64-with-glibc2.31
[debug] exe versions: ffmpeg 4.3.2-0, ffprobe 4.3.2-0
[debug] Proxy map: {}
[nick.de] henry-danger-die-budgetkuerzung-staffel-4-ep-24: Downloading webpage
ERROR: Unable to extract mrss url; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/devemperor/.local/lib/python3.9/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/home/devemperor/.local/lib/python3.9/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/home/devemperor/.local/lib/python3.9/site-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/home/devemperor/.local/lib/python3.9/site-packages/youtube_dl/extractor/nick.py", line 191, in _real_extract
    mrss_url = self._extract_mrss_url(webpage, host)
  File "/home/devemperor/.local/lib/python3.9/site-packages/youtube_dl/extractor/nick.py", line 180, in _extract_mrss_url
    return update_url_query(self._search_regex(
  File "/home/devemperor/.local/lib/python3.9/site-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract mrss url; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Duplicate of #29319


ENYO-510-Auto show a placeholder in image grid as images load

Issue:
There was no placeholder in image grid, and image gets displayed once loaded. In between grid remains empty.
Fix:
Using multiple background images through css, we can set the placeholder, a static image, which will be seen until the image gets loaded and will be replaced.
Enyo-DCO-1.1-Signed-off-by: Rakesh kumar<EMAIL_ADDRESS>

Closing master PRs


Allow ability to rename servers

Pretty simple request. The ability to rename server that have already been created.

Added this to the 0.8.1 milestone, since it should be simple to do, but give us less to make sure 0.8.0 has.

Is this not currently a feature in <IP_ADDRESS>? I'm pretty sure I had already added this, and the code seems to show that as well.

Hmm, my instance shows this is an admin feature, which is what makes sense.

Sorry about that. I didn't realize that each column in the Admin panel went to a different section.


ValueError: Tried to convert 'input' to a tensor and failed. Error: None values not supported.

在跑scrnet时出现问题，打印g之后发现
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Tensor("tower_0/clip_by_norm_88:0", shape=(3, 3, 256, 256), dtype=float32, device=/device:GPU:0)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Tensor("tower_1/clip_by_norm_88:0", shape=(3, 3, 256, 256), dtype=float32, device=/device:GPU:1)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Tensor("tower_0/clip_by_norm_89:0", shape=(1, 1, 256, 1024), dtype=float32, device=/device:GPU:0)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Tensor("tower_1/clip_by_norm_89:0", shape=(1, 1, 256, 1024), dtype=float32, device=/device:GPU:1)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
None

原因是scrdet不实用C5，而现在代码backbone默认构造了C5，这部分对scrdet是多余的不参与梯度反传，因此多gpu训练的时这些参数的梯度是None，无法合并。
bug已经修复，更新一下就好

我刚刚尝试修改，还是同样的错误。

NET_NAME = 'resnet50_v1d'

我暂时只改了这个预训练权重的相应问题， 你下载的是第一种我没改，你可以下载第二种的预训练权重

好的，我试试，谢谢大佬


Fix FileBufferingReadStream not working with StreamContent

Address dotnet/corefx#31866
Before FileBufferingReadStream is first read, it's length is not properly set. Before StreamContent is read, it's inner stream length is used to compute ContentLength. When they get together in HttpClient, an http request with misleading Content-Length: 0 is produced.
This PR introduces _innerLength to return the length of inner stream before FileBufferingReadStream is first read.

This is at best a partial fix, it still wouldn't work for chunked requests. The end to end still needs more thought.

I don't think this is the right place to fix your problem. It only addresses the Content-Length scenario and it makes Content-Length and Chunked behave differently for everybody else. I expect you'd be better of creating a custom HttpContent object that managed this for you.


document vendored feature of openssl

This helps with cross compilation
✓ Checklist:

[ ] This PR has been added to CHANGELOG.md (at the top of the list);
[x] Docs have been added / updated (for bug fixes / features).

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

Comparison is base (6f35ccb) 87.10% compared to head (2251fd5) 87.10%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #207   +/-   ##
=======================================
  Coverage   87.10%   87.10%
=======================================
  Files          60       60
  Lines        4173     4173
=======================================
  Hits         3635     3635
  Misses        538      538

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


Get rows and fieldDescriptions from a query

In a project of mine, I needed not only the rows of the query but also the field descriptions in the order returned by the query.
This project of mine has a sort of SQL console that shows, in table format, the rows with the names of the columns at the header.
The columns are visualized in the order in which they appear in the result of the query.
I didn't find public API in postgresql-dart to execute a query obtaining rows and field descriptions as desired.
The method mappedResultsQuery doesn't seem to fit my use case.
So I forked your library in giads/postgresql-dart and created the branch results-query.
I added the method:
Future<PostgreSQLResults> resultsQuery(String fmtString, {Map<String, dynamic> substitutionValues: null, bool allowReuse: true, int timeoutInSeconds}) async
likewise query and mappedResultsQuery methods.
The new class PostgreSQLResults contains rows and fieldDescriptions.
  final List<List<dynamic>> rows;
  final List<FieldDescription> fieldDescriptions;

I wonder if this feature can be interesting to other users of your library and if you intend to add it.

I like this, I had a similar design with package:cassandart:
abstract class ResultPage implements Page<Row> {
  List<Column> get columns;
  Uint8List get pagingState;
  List<Row> get rows => items;
}

abstract class Row {
  List<Column> get columns;
  List get values;
  Map<String, dynamic> asMap();
}

I'd also prefer if we would have a single query method instead of the variety of methods. (It would be a major version change / fork, due to its breaking nature).

Very interesting the idea of implementing List<T> to make the change not breaking.
But, if I have well understood, it's not breaking unless someone overrides the query method with the new extended result type. It could be still a good trade-off.
If so, I wonder if it's better to use a Results object that extends ListBase<List<dynamic>> instead of using a List<Row> as result type.
This results object contains only one reference to metadata and not one for each Row. I don't see a reason to keep a reference in each Row: memory costs ;-) If there are not Rows, there is anyway the metadata description that could be useful, like @isoos said.
I made an experiment. Changed the original query method, this way:
Future<PostgreSQLResults> query(String fmtString,
      {Map<String, dynamic> substitutionValues: null, bool allowReuse: true, int timeoutInSeconds}) async {
... code unchanged ...
    final rows = await _enqueue(query, timeoutInSeconds: timeoutInSeconds);
    return PostgreSQLResults(rows, query.fieldDescriptions);
}

with PostgreSQLResults like that:
class PostgreSQLResults extends ListBase<List<dynamic>> {
  PostgreSQLResults(this.rows, this.fieldDescriptions);
  final List<FieldDescription> fieldDescriptions;
  final List<List<dynamic>> rows;

  ...code with ListBase abstract methods implementation...
}

I had to change, in map_return_test.dart, the return type of the query method overridden by InterceptingConnection. Inheriting of query method from PostgreSQLConnection seems broken by my change of the result type!!! :-(
I run the new library in my project that uses Aqueduct and It seems there are not errors.
The changed query method seems retrocompatible if it's called but not overridden.
Even, I can access to metadata where I need them.
My humble 5 cents...

I'm working on this and will land it soon on the dev branch. Here is the current interface in short:
class PostgreSQLQueryResult extends UnmodifiableListView<PostgreSQLRow> {
  final PostgreSQLQueryMetaData metaData;
  PostgreSQLQueryResult(this.metaData, List<PostgreSQLRow> rows) : super(rows);
}

class PostgreSQLQueryMetaData {
  final List<FieldDescription> fieldDescriptions;
  [...]
  PostgreSQLQueryMetaData({this.fieldDescriptions});

  List<String> get tableNames [...]
}

class PostgreSQLRow extends UnmodifiableListView {
  final PostgreSQLQueryMetaData metaData;
  [...]
  PostgreSQLRow(this.metaData, List columns) : super(columns);

  Map<String, Map<String, dynamic>> toTableMap() [...]
}

And in the execution context:
  Future<PostgreSQLQueryResult> query(String fmtString,
      {Map<String, dynamic> substitutionValues,
      bool allowReuse = true,
      int timeoutInSeconds});

I'm wondering if FieldDescription is the best name for this, or is there a better one? A few candidates:

PostgreSQLFieldDescription - to keep consistency
PostgreSQLColumnDescription - it is a column description after all, but then fieldName should be renamed to columnName?

And with that fieldDescription could be rather fields or columns?
(btw. @giads I'm working on a largish refactoring - no breaking changes yet -, if you have ideas that you want to get into that, let me know)

Glad to hear that you @isoos are working on this issue.
I agree with you that the ideal prefix is column and not field.
IMHO I'd prefer columnDescriptions, instead of only columns that could make think to values of columns...
Currently, I've no other ideas. In Java, I use JDBC API and I think that some good ideas could be borrowed from there, where applicable, in future extensions of postgresql-dart.

@giads: please take a look at the dev branch, a let me know what you think of it:
https://github.com/stablekernel/postgresql-dart/blob/dev/lib/src/execution_context.dart#L90-L119

Thanks for sharing @isoos !!!
The solution looks good and seems to fulfill this issue.
I understand that if someday, it was necessary to add some more metadata i.e. if a column is nullable or the column type or the table schema, you'd put this informations in ColumnDescription.
I add here an other consideration about database metadata that is related to this issue, but at the same time it could be all another new issue.
It could be useful to query some metadata from the database. For example query what are the primary keys of a table.
It could be probably too heavy, cpu/net/db consuming, add to "columnDescription" if a column is a primary key and its order in the case of a composite key.
The alternative it could be a DatabaseDescription get databaseDescription in PostgreSQLExecutionContext, where
abstract class DatabaseDescription {
  List<ColumnDescription> primaryKeys(String schema, String table);

  ...methods to query other useful metadata
}

@giads: the hard part is to structure the metadata queries as async. I'm still going back and forth whether the column description metadata should be async or not. The tradeoff is the following:

If we resolve OIDs to table names right away, the ColumnDescription.tableName can be sync (the current status in the dev branch). However, for the first few queries of the connection, this would mean that we are executing OID metadata queries after each of them.

If we resolve OIDs on demand, then ColumnDescription or its tableName property gets async, e.f. Future<String> get tableName. However, in this case some of the dependent methods will become async instead of sync, e.g. the mapping to table-column double map.

Having said that, I think your suggestion is a bit outside of the scope of the query results: a SELECT col_name as alias_name FROM t; will return alias_name as column name, and with that, it would be not correct to attach additional column properties to it (like primary key or default values). That could go into a separate metadata query API.

Bit off-topic maybe, but would it be possible to add rowsAffected in PostgreSQLResult? Right now to gets row affected one needs to use execute and thus no query reuse or binary protocol.


[ILVerify] Implement tracking of 'this' pointer state

The ECMA standard defines that:

the verification algorithm shall treat the this pointer as uninitialized unless the base class constructor has been called. No operations can be performed on an uninitialized this except for storing into and loading from the object's fields.

I implemented the tracking of the this pointer state in order to be able to verify these rules.
In order to test this new implementation, I had to adapt our current test-framework to be able to also test methods with a special name, e.g. .ctor. Since the framework relies on the test method's name, it was not previously possible to test a type's constructor.
I have implemented special test case handling in the test data loader and added documentation on how to add test cases for specialname methods in the Readme.md.
Basically the specialname method is defined as usual and a separate method (which may stay empty) has to be added, which defines the test case in the accustomed manner and also defines the name of the special method that should actually be tested. The method tester then takes the test parameters of the dummy method, but tests the specialname method.
I have added several test cases for tracking the this state this way.

@ArztSamuel,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Error when using JsonScalar as argument

Hey! I am having troubles using a JsonScalar value with a filter_query parameter inside the graphql statement.
Not sure why this is. Here is the example graphql statement:
module CardsQuery = [%graphql
  {|
  query {
    EventItems(
      filter_query: {featured: { in: true } }) {
      items {
        slug
        content {
          date
          title
          cover_photo
        }
      }
    }
  }
|}
];

Here you can find the graphql_schema.json:
https://gist.github.com/ryyppy/34c01942b4bdc8aa9f7a42d171645aae
The error it yields:
Fatal error: exception Graphql_ppx_base__Schema.Invalid_type("Type JsonScalar doesn't have any input fields")

Not sure if this is intentional, or a bug?

Hi, which field is the custom scalar? If filter_query is a custom scalar it cannot have subfields right? Perhaps if it's a field containing json data it need to be quoted?

filter_query is the custom scalar.
In GraphiQL the query works fine, when I try to quote it as a string, the query compiles, but the server does not accept the request because it seems to consume the value in some different way

My temporary solution was to parametrize the filter_query as $filter and pass the JSON as a variable. This works for now, but I would rather inline the constant in the query itself

Hmm I don't know about this part of the GraphQL spec, so not sure if we differ from the spec atm, but good to look into!

This is definitely an issue and it used to work with GraphQL_ppx in earlier versions.

Hi @ryyppy, can you check with the latest 1.0 version if it works now? (it should)

awesome! thanks for working on this! it will take me some time to test this since i am currently busy, i will report back if there are any further issues when i am back at this particular project


Question about templates

Hello,
I've spend some time trying to figure out what i'm doing wrong. I'm trying to create a template for some data and I want to create 2 tables. The problem is that in the output the two tables are merged together.
Anyway to fix this?

Hi,
Can you share a simple reproduction template with some mock data ?


fix: only award redeem premium upto the secure threshold

Backport to interbtc-v1.25 branch.

PR open the wrong target branch should have been opened with nakul/backport branch. Therefore closing it without merging.


Initial setup of URN Resolver availability / uptime public dashboard (first implementation only)

https://en.wikipedia.org/wiki/Website_monitoring
https://en.wikipedia.org/wiki/Uptime
https://en.wikipedia.org/wiki/High_availability

https://en.wikipedia.org/wiki/High_availability#Percentage_calculation

This issue is about set up some public uptime dashboard to monitor at least the resolver at https://urn.etica.ai.
For obvious technical reasons (e.g. even uptime monitoring get down), any of such checks needs to be done outside of the infrastructure.

https://stats.uptimerobot.com/jYDZlFY8jq
This is the initial external strategy to check it.


POM-299 - One value enum for offer type

UI fixes (since this PR changes the API that we already started depending on - but I considered it acceptable since we're in prestage phase): https://github.com/coi-gov-pl/gui-web-pomogamukrainie-forum/pull/122


macro inherited inconsistencies

I'm playing with the inherited macro again (to add specs to minitest), and stumbled upon an inconsistent contents for [] of A.class. Take the following code:
class A
  @@children = [] of self.class

  def self.children
    @@children
  end

  macro inherited
    p A.children << self
  end
end

The following class definitions are correct:
class B < A; end   # => [B]
class C < A; end   # => [B, C]
class D < C; end   # => [B, C, D]

Add this class, and... it's wrong (despite self being correct in the inherited macro):
class E < D; end   # => [B, C, D, C]

Eventually add this one and... it's correct again:
class F < B; end   # => [B, C, D, E, F]

The issue title may be wrong, since I think the array of classes is the faulty one.

It turns out it has nothing to do with inherited:
class A
end

x = [] of A.class

class B < A; end

x << B
puts x   # => [B]

class C < B; end
x << C
puts x   # => [B, C]

class D < C; end
x << D
puts x   # => [B, C, B]

The problem seems to be that puts(Array(A.class)) is being instantiated, but then A gets more members inherited so that method isn't getting recomputed (at compile-time). I'll try to fix it.
By the way, if you don't print it inside the inherited macro but outside it, at the end, it seems to work fine. So if you was using it for debugging maybe it's not that a big deal (still a bug).
I also found that if you use a method with a block inside inherited, it crashes the compiler.

The same also happens if you have [] of A and add B.new, then define C, then add C.new, etc. The "problem" is that Crystal doesn't handle well typing code and then modifying the class hierarchy or the methods. Crystal assumes you first define your hierarchy and methods, maybe monkey patch things, and then start the program (the main code). If you mix code with class/method modification you'll get these unexpected behaviours.
We obviously have to find a resolution to this, but I it's a hard problem.

Sorry for the dramatism :-P. When I started looking deeper into the problem it reminded me of #448 and I thought "Wait! I fixed this already! Déjà vu?"
Turns out we do the necessary recalculations when a subclass is added. Problem was, only the superclass was notified about having new subclasses, but that superclass' superclass wasn't being notified (was missing a recursive call). It's a long explanation, but basically the target of the call is A.class, and that's why when you did class F < B, that notified A of a new subclass and it started working again (but didn't work for D < C).

@asterite dude, you rock! :100: I read this and thought, damn, it's a shame this will be a while to fix, and 30 minutes later you closed it. Great work :)

Thanks a lot for fixing it! I know meta programming and macros are very hard, and I'm pushing the limits a bit with the minitest port ;-)

@strcmp :blush:


Incorrect data types for DT_FINI_ARRAY/DT_INIT_ARRAY

Describe the bug
The data types applied to the ELF init array are incorrect, making the reversing of init/fini functions confusing.
To Reproduce
Steps to reproduce the behavior:

Load a ELF shared library that has some init/fini functions
Go the the init/fini function of your choice
Right click -> References -> Show references to address

Expected behavior
You should get a reference to the function pointer from the init/fini array.
Screenshots

Environment (please complete the following information):

OS: macOS
Java Version: OpenJDK 19
Ghidra Version: 10.2.3
Ghidra Origin: GitHub Release

Additional context
The listing of the .fini_array and .init_array:
                             //
                             // .fini_array
                             // SHT_FINI_ARRAY  [0x14c958 - 0x14c967]
                             // ram:0024c958-ram:0024c967
                             //
                             __DT_FINI_ARRAY                                 XREF[2]:     0024d100(*),
                                                                                _elfSectionHeaders::00000450(*)
        0024c958 2c 68 12        dq         Elf64_Ehdr_00100000
                 00 00 00
                 00 00
        0024c960 14 68 12        dq         126814h
                 00 00 00
                 00 00
                             //
                             // .init_array
                             // SHT_INIT_ARRAY  [0x14c968 - 0x14cf67]
                             // ram:0024c968-ram:0024cf67
                             //
                             __DT_INIT_ARRAY                                 XREF[2]:     0024d0e0(*),
                                                                                _elfSectionHeaders::00000490(*)
        0024c968 c8 1e 14        dq         Elf64_Ehdr_00100000
                 00 00 00
                 00 00

It looks like the offending code is here. If you manually change the data type to be a pointer everything is working as expected. I didn't try changing it in the code yet though...
https://github.com/NationalSecurityAgency/ghidra/blob/b4de95f4f5c5b2d22e2861a08f7f8f6b40f6e6a7/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/ElfProgramBuilder.java#L712

Here is a script that fixed it for my use case:
//@author Duncan Ogilvie
//@category Analysis
//@keybinding
//@menupath Analysis.One Shot.Fix ELF init arrays
//@toolbar
// Reference: https://www.reddit.com/r/ghidra/comments/h07yoo/comment/fukuj1c

import ghidra.app.script.GhidraScript;
import ghidra.framework.cmd.CompoundCmd;
import ghidra.app.cmd.data.CreateArrayCmd;
import ghidra.program.model.data.PointerDataType;

public class FixELFInitArrays extends GhidraScript {
    @Override
    protected void run() throws Exception {
        var cmd = new CompoundCmd("Fix ELF init arrays");
        for (var block : getMemoryBlocks()) {
            var comment = block.getComment();
            if(comment.contains("SHT_PREINIT_ARRAY") || comment.contains("SHT_INIT_ARRAY") || comment.contains("SHT_FINI_ARRAY")) {
                var start = block.getStart();
                var pointerSize = start.getPointerSize();
                var count = block.getSize() / pointerSize;
                println(String.format("%s %s[%X]",
                        block.getName(),
                        block.getStart(),
                        count
                ));
                cmd.add(new CreateArrayCmd(start, (int)count, PointerDataType.dataType, 0));
            }
        }

        // Execute the commands (this allows us to undo)
        if(cmd.size() > 0) {
            cmd.applyTo(currentProgram);
            println(String.format("Applied %d array types!", cmd.size()));
        } else {
            println("No ELF init arrays found");
        }
    }
}

Pointers cannot genrally be applied to the init/fini arrays since relocations do not get applied to these and their data values must be adjusted to obtain the correct memory offset.  The data value will be adjusted for any prelink then again by an image base adjustment.
As you noticed in the ElfProgramBuilder, these tables are identified via the dynamic table (.e.g., .dynamic) and do get mark-up with references when the loader is successful at creating a functions at the corresponding memory location.  If this is not occuring properly we would need to diagnose why that is the case.   We would need to reproduce the issue to properly diagnose as the data values may be getting improperly adjusted during processing.  Are you able to share your binary or another that exhibits a similar issue?

I am unable to replicate your issue with Linux shared library import which does get marked-up as expected.  We would need a specific sample which exhibits the issue you describe.

Is it possible to share the binary privately? It’s available to the public, but I want to avoid sharing what I’m working on publicly.

You may email compressed sample to<EMAIL_ADDRESS>Thanks

Done, I added both ghidra1 and ryanmkurtz!

I have reproduced the issue and have a fix in the works.  Your sample actually applies relocations to the pointer tables.  I had to change the code to handle both this case and the case where no relocations are applied.

Awesome, thanks a lot!


Add convert func and fix dependency in autoware_iv_auto_msgs_converter

Related Links

Description
add convert func, and also fix dependency of package.xml
Remarks

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[ ] Code is properly formatted
[ ] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code is properly formatted
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets
[ ] Write release notes

CI Checks

Build and test for PR: Required to pass before the merge.
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

Could you make the PR title a bit more descriptive and fix the typo?

No need to merge this PR, so I close


docs(platform): add glob pattern to the contentDir value

The documentation wasn't obvious that we can pass not just a direct path, but a glob pattern too to this property
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/analogjs/analog/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[x] Documentation content changes
[ ] Other... Please describe:

Which package are you modifying?

[ ] vite-plugin-angular
[ ] vite-plugin-nitro
[ ] astro-angular
[ ] create-analog
[ ] router
[x] platform
[ ] content
[ ] nx-plugin
[ ] trpc

What is the current behavior?

Closes #
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
[optional] What gif best describes this PR or how it makes you feel?

@brandonroberts I have applied the changes you asked.

@allcontributors add @gergobergo for doc


Why does this need internet permission?

As per title: Why does this application request internet permission in manifest?

Because AppOpsX uses ADB to realize its functions when you don't have ROOT, and that needs network permission.


Initial build should set requestPath to null

This is required for https://github.com/zeit/now-builders/pull/410 and sets the requestPath property that is passed to Builders to null for initial builds.

Codecov Report

Merging #2200 into canary will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           canary   #2200      +/-   ##
=========================================
+ Coverage    4.37%   4.37%   +<.01%
=========================================
  Files         245     245
  Lines        8874    8873       -1
  Branches      945     946       +1
=========================================
  Hits          388     388
+ Misses       8467    8466       -1
  Partials       19      19

Impacted Files
Coverage Δ

src/commands/dev/lib/types.ts
0% <ø> (ø)
:arrow_up:

src/commands/dev/lib/dev-builder.ts
0% <0%> (ø)
:arrow_up:

src/commands/dev/lib/dev-server.ts
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


add pre-preprocessing markdown files

Agree, I just dumped everything in. I'll update the pull request to take them out.

Pull request is updated, good to pull it in?


Http Proxy option for downloading dependencies in the installer script

Is your feature request related to a problem? Please describe.
Installing dependencies with the  easybutton-build.sh requires  internet connection.
Describe the solution you'd like
The script should ask or check for a http_proxy environment variable  before starting download so the dependencies can be installed on air-gapped system.
Describe alternatives you've considered
None
Additional context

I think all the commands there should already support the http_proxy and https_proxy vars, so if you set both it should already work. Can you share what doesn't?
Since this is for building, and not installing, and we already provide prebuilt packages I'm probably going to close this issue.

Closing. Feel free to open if you have new details.


YARN-3657. Federation maintenance mechanisms (simple CLI and command propagation)

JIRA. YARN-3657. Federation maintenance mechanisms (simple CLI and command propagation)
We will provide command line support for YARN Federation, this pr will complete the basic framework.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 49s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
shelldocs
0m  0s

Shelldocs was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
15m 16s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
34m  0s

trunk passed

+1 :green_heart:
compile
10m 28s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
compile
8m 52s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
checkstyle
1m 44s

trunk passed

+1 :green_heart:
mvnsite
5m 41s

trunk passed

-1 :x:
javadoc
2m 23s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn in trunk failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

-1 :x:
javadoc
0m 25s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-client-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-client in trunk failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
3m  1s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
13m 53s

trunk passed

+1 :green_heart:
shadedclient
26m 26s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 22s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
6m 52s

the patch passed

+1 :green_heart:
compile
9m 49s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javac
9m 49s

the patch passed

+1 :green_heart:
compile
8m 48s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

-1 :x:
javac
8m 48s
/results-compile-javac-hadoop-yarn-project_hadoop-yarn-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08.txt
hadoop-yarn-project_hadoop-yarn-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08 with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08 generated 1 new + 636 unchanged - 2 fixed = 637 total (was 638)

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 40s

the patch passed

+1 :green_heart:
mvnsite
5m 36s

the patch passed

+1 :green_heart:
shellcheck
0m 26s

No new issues.

-1 :x:
javadoc
2m 11s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn in the patch failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

-1 :x:
javadoc
0m 22s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-client-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-client in the patch failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
2m 57s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
13m 59s

the patch passed

+1 :green_heart:
shadedclient
26m 19s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
240m 45s
/patch-unit-hadoop-yarn-project_hadoop-yarn.txt
hadoop-yarn in the patch passed.

+1 :green_heart:
unit
28m  4s

hadoop-yarn-client in the patch passed.

+1 :green_heart:
asflicense
0m 54s

The patch does not generate ASF License warnings.

474m 32s

Reason
Tests

Failed junit tests
hadoop.yarn.server.timelineservice.security.TestTimelineAuthFilterForV2

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5348/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5348

Optional Tests
dupname asflicense codespell detsecrets shellcheck shelldocs mvnsite unit compile javac javadoc mvninstall shadedclient spotbugs checkstyle

uname
Linux 4101da8fa2f0 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / f9eb028114f8c20fc0b20fc8bfb82cb21e19a5b1

Default Java
Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5348/1/testReport/

Max. process+thread count
1899 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client U: hadoop-yarn-project/hadoop-yarn

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5348/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2 shellcheck=0.7.0

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 48s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
shelldocs
0m  1s

Shelldocs was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
15m  3s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
33m 46s

trunk passed

+1 :green_heart:
compile
10m 33s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
compile
8m 52s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
checkstyle
1m 44s

trunk passed

+1 :green_heart:
mvnsite
5m 47s

trunk passed

-1 :x:
javadoc
2m 23s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn in trunk failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

-1 :x:
javadoc
0m 25s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-client-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-client in trunk failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
3m  4s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
13m 48s

trunk passed

+1 :green_heart:
shadedclient
26m  8s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 23s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
6m 52s

the patch passed

+1 :green_heart:
compile
9m 53s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javac
9m 53s

the patch passed

+1 :green_heart:
compile
8m 54s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

-1 :x:
javac
8m 54s
/results-compile-javac-hadoop-yarn-project_hadoop-yarn-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08.txt
hadoop-yarn-project_hadoop-yarn-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08 with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08 generated 1 new + 636 unchanged - 2 fixed = 637 total (was 638)

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 38s

the patch passed

+1 :green_heart:
mvnsite
5m 33s

the patch passed

+1 :green_heart:
shellcheck
0m 25s

No new issues.

-1 :x:
javadoc
2m 11s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn in the patch failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

-1 :x:
javadoc
0m 23s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-client-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-client in the patch failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
2m 55s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
13m 58s

the patch passed

+1 :green_heart:
shadedclient
26m  1s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
241m  1s

hadoop-yarn in the patch passed.

+1 :green_heart:
unit
28m  0s

hadoop-yarn-client in the patch passed.

+1 :green_heart:
asflicense
0m 54s

The patch does not generate ASF License warnings.

473m 53s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5348/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5348

Optional Tests
dupname asflicense codespell detsecrets shellcheck shelldocs mvnsite unit compile javac javadoc mvninstall shadedclient spotbugs checkstyle

uname
Linux d6a763fd04e0 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 46ae88e3e115f1a121c3af1d81bcdf080e6c8251

Default Java
Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5348/2/testReport/

Max. process+thread count
1901 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client U: hadoop-yarn-project/hadoop-yarn

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5348/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2 shellcheck=0.7.0

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@goiri Thank you very much for your help in reviewing the code!


pmdb/23441: Support for view all records, theme specific fixes, updated description.

Descriptions:

Added support for View All Records.
Theme specific changes to display message when no records found.
Updated description for widget in info.json.

Images/Screenshots:

Modification details:

Added support for records icon selection on configuration screen from lookup modules.
Improved performance. Optimised API get calls to fetch only required data.
Spinner while fetching data and rendering chart.


[issue with BC20 update] Global Dim be cleared when location code inserts in component line

Hi teams,
With the update of BC20, there is a new feature released regrading default dimension in Locations.
However, even users doesn't setup any dimensions in Location,
when users insert a new line in Production order component line,
system will first bring Global dim 1 and dim 2 from Prod order lines to Prod order component line,
BUT clear out dimension values for Global dim 1 and dim 2 when users enter Location code in component line.
System should keep orignal dimension values, instead of clearring them out, since there is no dimensions in Location.
Overwrite the values to blank is not reasonable.
We consider this is a defect for this new feature.
And hope you can help to fix it.
Thanks,

Hi! Please take a minute to read the guidelines for this repository https://github.com/microsoft/AL and our collection of frequently asked questions https://github.com/Microsoft/AL/wiki/frequently-Asked-Questions .
This repository is only for extensibility requests for Dynamics 365 Business Central. We suggest that you open a support case or file a bug to ensure that all Business Central users benefit from your catch as soon as possible:
•	On premises - https://support.microsoft.com/en-us/supportforbusiness/productselection?sapId=93d37907-ad94-d591-22e9-593cfa09dd3f
•	On line – contact your partner, or if you are a partner open a support incident through Partner Center - https://partner.microsoft.com/en-us/pcv/dashboard/overview


Change the titles of release notes

opensearch-project/security-dashboards-plugin pull request intake form
Please provide as much details as possible to get feedback/acceptance on your PR quickly

Category: (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)
Maintenance

Github Issue # or road-map entry, if available:

Description of changes:
Change the titles of release notes

Why these changes are required?
RC1 release

What is the old behavior before changes and new behavior after changes? (Please add any example/logs/screen-shot if available)
No change in behavior

Testing done: (Please provide details of testing done: Unit testing, integration testing and manual testing)

TO-DOs, if any: (Please describe pending items and provide Github issues# for each of them)

Is it backport from main branch? (If yes, please add backport PR # and commits #)

By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #772 (18c9ad9) into main (27e2a30) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 18c9ad9 differs from pull request most recent head 8ece42c. Consider uploading reports for the commit 8ece42c to get more accurate results

@@           Coverage Diff           @@
##             main     #772   +/-   ##
=======================================
  Coverage   72.08%   72.08%
=======================================
  Files          87       87
  Lines        1902     1902
  Branches      241      241
=======================================
  Hits         1371     1371
  Misses        477      477
  Partials       54       54

Continue to review full report at Codecov.

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


redundant MODE line on channel join?

(01:24:30 PM) jwheare: hmm, when creating a channel and getting opped, should the server include both the @ in initial NAMES as well as a MODE +o line?
(01:24:48 PM) jwheare: that results in my client printing two lines to say i got opped
(01:24:55 PM) jwheare: one implicit, the other explicit
(01:25:08 PM) jwheare: imo MODE should only be sent to update any changes since the NAMES
(01:26:43 PM) jwheare: :nick!user@host JOIN #chan * :real name
(01:26:43 PM) jwheare: :server 353 nick = #chan @nick
(01:26:43 PM) jwheare: :server 366 nick #chan :End of NAMES list
(01:26:43 PM) jwheare: :server MODE #chan +o nick

Really easy fix if we decide to do it.

Could this be what caused #298 (my failure to reproduce it in practice notwithstanding)?

jwheare says that freenode, oftc, and the latest inspircd do not send this MODE line.


What are the proper GitHub Actions permissions for this action?

There's a workflow permissions model for GITHUB_TOKEN, which defaults to all write in a repo, but ideally, this Action documents the minimum permissions it needs. I can make a readme PR if we can confirm what of the permissions this needs (starting from none):
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idpermissions
I haven't tested yet, but this is what I'm guessing based on the source code.
mainly, checks: write and pull-requests: write.
    permissions:
      actions: none
      checks:  write
      contents: none
      deployments: none
      issues: none
      packages: none
      pull-requests: write
      repository-projects: none
      security-events: none
      statuses: none

OK here is my final permissions list with comments that worked using the default features of this action. Note that if you set any permissions to read/write, then everything else becomes none. I didn't check if any optional action settings would cause this to need more permissions. @EnricoMi if you agree I can create a PR to add this to readme.
permissions:
  # creates a new check with unit test results
  checks:  write
  # needs to git diff the repo
  contents: read
  # find the pr for this commit
  issues: read
  # write artifacts and comment on pr related to this
  pull-requests: write

if you agree I can create a PR to add this to readme.

Sure, if you find this useful for users, go ahead.

# write artifacts and comment on pr related to this

this action does not write artifacts itself, so pull-requests: write is not needed to "write artifacts"

Thank you @BretFisher, this is indeed a very useful information. I found myself in situation where I want to use the minimal possible permissions (best security practices) and I don't know what they actually should be.
I can confirm that these work correctly:
permissions:
  contents: read
  issues: read
  pull-requests: read
  checks: write

I had to enable write for issues and pull-requests.

@Lugana707 are you sure issues: write is required? I reckon pull-request: write is sufficient. I would even suspect issues: read is not needed as only pull requests are read / written via the API.

For reference, I found these API calls in code and respective permissions at https://docs.github.com/en/rest/reference/permissions-required-for-github-apps

code example
API call
GitHub token permission

repo = gh.get_repo
GET /repos/{owner}/{repo}
metadata read

repo.compare
GET /repos/{owner}/{repo}/compare/{base...:head}
contents read

commit = repo.get_commit
GET /repos/{owner}/{repo}/commits/{sha}
contents read

commit.get_check_runs
GET /repos/{owner}/{repo}/commits/{sha}/check-runs
contents read

pull = gh.search_issues
GET /search/issues
metadata read

pull.get_commits
GET /repos/{owner}/{repo}/pulls/{number}/commits
pull requests read

pull_request.create_issue_comment
POST /repos/{owner}/{repo}/issues/{number}/comments
pull requests write

pull.get_issue_comment(comment_id)
GET /repos/{owner}/{repo}/issues/comments/{id}
pull requests read

comment.edit(body)
PATCH /repos/{owner}/{repo}/issues/comments/{id}
pull requests write

Depending on the options of this action used, you may not require some write permissions. For instance if comment_mode: off, the pull-requests: write permission is not needed and pull requests: read should be sufficient.
There are also calls to the GitHub GraphQL API, but I could not find which permissions / scopes these need:

query repository.pullRequest.comments
mutation minimizeComment

I didn't pull-request: write in order for the commit to be allowed, but I also needed issues: read because, without it, it seemed unable to get to the writing stage. Some kind of query seemed to require read-only access to issues; perhaps that particular query/endpoint, subsumes PRs under issues, I don't know.
tl;dr I never needed issues: write but I did need issues: read.

I didn't pull-request: write in order for the commit to be allowed, but I also needed issues: read because, without it, it seemed unable to get to the writing stage. Some kind of query seemed to require read-only access to issues; perhaps that particular query/endpoint, subsumes PRs under issues, I don't know.
tl;dr I never needed issues: write but I did need issues: read.

I have tested permissions in any possible configuration and the actions works fine with:
checks: write
pull-requests: write

@camillesf, @Lugana707 @slavafomin @BretFisher Did you see the additional need for contents: read and issues: read / issues:write in public or private or enterprise GitHub? On a regular PR or from a fork?
Can you share your particular action configuration?

I can confirm that
permissions:
  checks: write
  pull-requests: write

is sufficient for public repositories and
permissions:
  checks: write
  contents: read
  issues: read
  pull-requests: write

is sufficient for private repositories.
With comment_mode: off, the pull-requests: write permission is not needed.
This is added to the README.md in #206.

It looks like Github has reworked their permissions, only
permissions:
  checks: write
  pull-requests: write

is needed now. The action works fine even with
permissions:
  checks: write
  pull-requests: write
  contents: none
  issues: none
  actions: none

in a private repository on a dependabot branch.
Can someone here please verify the action works for them with those permissions

in a public repo
in a private repo
in a fork branch
in a dependabot branch

The minimum permissions that I could get things to work with are:
permissions:
  checks: write
  contents: read
  pull-requests: write

The contents: read permission seems to be required in a private repo to get the checkout action to work.

Alright, things seem unchanged then. Maybe my fork setup was not representative. Thanks a lot for verifying!


New website

Hey, @matteobruni I have cloned the repo & done with setup it in my local machine. What's next? I mean how you are looking to shape the website? Give me a few hints💡

Hey, @matteobruni I have cloned the repo & done with setup it in my local machine. What's next? I mean how you are looking to shape the website? Give me a few hints💡

There is the new folder particles.js.org-new under websites, there is still some placeholder material that needs to be replaced with something related to the project, and create a gallery of presets and configurations with image previews


Rename the client process binary

Maybe just maelstrom-client. I think @bobbobbio has other ideas though.

I think this is done, right?

yeah this is done


Add basic performance optimizations

Most of the benchmarks haven't decreased by much. But p995 and max have been reduces by a lot. Which should also help with scenario's where these functions are not jit compiled (--jitless or in cold paths)
Struct Read
Original  119.36 ns/iter  (113.08 ns … 477.2 ns) 119.72 ns 139.11 ns 141.89 ns
Opt        96.91 ns/iter  (92.87 ns … 111.48 ns)  98.65 ns  102.8 ns 107.44 ns

Struct Write
Original   99.87 ns/iter  (95.88 ns … 159.56 ns) 101.34 ns 113.85 ns  147.5 ns
Opt        68.71 ns/iter     (64 ns … 138.86 ns)  70.36 ns  81.27 ns 103.76 ns

String Read
Original     1.28 µs/iter   (883.98 ns … 2.19 µs)   1.42 µs   2.19 µs   2.19 µs
Opt        178.88 ns/iter (174.17 ns … 315.51 ns) 180.14 ns 192.44 ns 247.79 ns

Tuple Read
Original    35.36 ns/iter   (30.7 ns … 105.51 ns)  36.08 ns  67.82 ns  80.11 ns
Opt         20.99 ns/iter   (19.83 ns … 52.47 ns)  20.63 ns  26.84 ns  29.62 ns

Tuple Write
Original    27.94 ns/iter   (26.97 ns … 65.92 ns)  27.92 ns   31.8 ns   43.1 ns
Opt         25.88 ns/iter   (24.34 ns … 37.55 ns)  25.95 ns  26.28 ns  26.65 ns

Further possible optimizations are to remove any array destructing. Once jitted it is as fast. But on sparkplug (baseline compiler) or intepreter it is slower
Small example here (run with deno run --v8-flags=--jitless
const arr = new Array(3).fill(null);

const start = performance.now();

for (let i = 0; i < 1_000_000; i++) {
  const [ a, b, c ] = arr;
}

const mid = performance.now();

for (let i = 0; i < 1_000_000; i++) {
  const a = arr[0],
  b = arr[1],
  c = arr[2];
}

const end = performance.now();

console.log({
  destructing: mid - start,
  indexing: end - mid,
})


support firestore

The $firebase variable has firestore() function.
like this
asyncData({app}){
  app.$firebase.firestore().get(...)...
}

Hi. Thanks for this PR. I think firestore should be configurable to be disabled. (Using lodash templates and module options).

Anyway merging this as we may plan to switch this module to use vuefire official bindings.

Thank you, I got it and it sounds great!


Feature - #1 - 1 - Adding Dark Mode & Dark Mode Toggle Option

In this build, we have introduced dark mode in Share IT.

This closes #1


⚠ Turnos 24x7 has degraded performance

In 934b21e, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 6497 ms

Resolved: Turnos 24x7 performance has improved in e8d1ac8.


Spanish translations for Flask Text Translator workshop

Tracking work for Flask Text Translator workshop

Assigning to @ManuOSMx 🎉  Thanks!


AppBar repainting happens abruptly.

#91605
#92093
Repainting the AppBar from surfaceColor to backgroundColor and vice versa happens abruptly when scrolling. But if you add the Shape property to the AppBar, then the repainting will be great. I think that such repainting should be the default, because it looks more attractive.
Uses cases
First use case with Shape:
https://user-images.githubusercontent.com/102767277/202495702-557d7cea-f335-4431-bf16-bcb879f6945c.mp4
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Test AppBar',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        brightness: Brightness.light,
        useMaterial3: true,
        colorSchemeSeed: Color(0x6750A4),
      ),
      darkTheme: ThemeData(
        brightness: Brightness.dark,
        useMaterial3: true,
        colorSchemeSeed: Color(0x6750A4),
      ),
      home: IterableList(),
    );
  }
}

class IterableList extends StatelessWidget {
  const IterableList({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Small TopAppBar'),
        leadingWidth: 40.0,
        leading: Padding(
          padding: EdgeInsets.only(left: 7),
          child: IconButton(
            onPressed: () {},
            icon: Icon(Icons.menu_outlined),
          ),
        ),
        actions: [
          IconButton(onPressed: () {}, icon: Icon(Icons.favorite)),
          IconButton(onPressed: () {}, icon: Icon(Icons.favorite)),
        ],
        shape: Border.all(color: Colors.transparent),
      ),
      body: ListView.builder(
        itemCount: 76,
        itemBuilder: (context, index) {
          return Padding(
            padding: EdgeInsets.only(left: 15, bottom: 6),
            child: Text(index.toString(), style: TextStyle(fontSize: 16)),
          );
        },
      ),
    );
  }
}

Second use case without Shape:
https://user-images.githubusercontent.com/102767277/202495985-ed1c68e1-b0b2-4150-856b-d507904166c4.mp4
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Test AppBar',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        brightness: Brightness.light,
        useMaterial3: true,
        colorSchemeSeed: Color(0x6750A4),
      ),
      darkTheme: ThemeData(
        brightness: Brightness.dark,
        useMaterial3: true,
        colorSchemeSeed: Color(0x6750A4),
      ),
      home: IterableList(),
    );
  }
}

class IterableList extends StatelessWidget {
  const IterableList({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Small TopAppBar'),
        leadingWidth: 40.0,
        leading: Padding(
          padding: EdgeInsets.only(left: 7),
          child: IconButton(
            onPressed: () {},
            icon: Icon(Icons.menu_outlined),
          ),
        ),
        actions: [
          IconButton(onPressed: () {}, icon: Icon(Icons.favorite)),
          IconButton(onPressed: () {}, icon: Icon(Icons.favorite)),
        ],
      ),
      body: ListView.builder(
        itemCount: 76,
        itemBuilder: (context, index) {
          return Padding(
            padding: EdgeInsets.only(left: 15, bottom: 6),
            child: Text(index.toString(), style: TextStyle(fontSize: 16)),
          );
        },
      ),
    );
  }
}

Proposal
Make AppBar recoloring smooth by default, as shown in the Shape example, so you don't have to use Shape later on to achieve this effect.

[✓] Flutter (Channel master, 3.6.0-3.0.pre.26, on Microsoft Windows [Version 10.0.22000.1219], locale ru-UA)
    • Flutter version 3.6.0-3.0.pre.26 on channel master at C:\Flutter-SDK\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1f28f99a00 (2 days ago), 2022-11-15 05:11:09 -0500
    • Engine revision 721fbe1116
    • Dart version 2.19.0 (build 2.19.0-400.0.dev)
    • DevTools version 2.19.0

[✗] Windows Version (Unable to confirm if installed Windows version is 10 or greater)

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at C:\Users\yablo\AppData\Local\Android\sdk
    • Platform android-TiramisuPrivacySandbox, build-tools 32.1.0-rc1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.3.6)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.3.32929.385
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2021.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2021.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1
    • Flutter plugin version 71.0.2
    • Dart plugin version 212.5744

[✓] VS Code (version 1.73.1)
    • VS Code at C:\Users\yablo\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.52.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22000.1219]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 107.0.5304.88
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 107.0.1418.42

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Thanks for the report. Treating this as a proposal / feature request.

I've noticed that Flutter's rendering of the AppBar between surface and background is better than XML and Compose, it feels like XML and Compose use an animation like Curves.easeOutBack to change the color, which makes it jerky.


Flutter create projects not updated to latest recommendations

flutter create myapp

Import one of the plugins from google github
https://github.com/flutter/plugins
Try to include the plugin in pubspec.yaml, e.g.
battery:
  path: ../battery/

Errors :
* Error running Gradle:
Exit code 1 from: /work/projects/test_flut/testapp/android/gradlew app:properties:
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /home/david/Android/Sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

BUILD FAILED

Total time: 0.69 secs

FAILURE: Build failed with an exception.

* Where:
Build file '/work/projects/test_flut/battery/android/build.gradle' line: 6

* What went wrong:
A problem occurred evaluating project ':battery'.
> Could not find method google() for arguments [] on repository container.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Finished with error: Please review your Gradle project setup in the android/ folder.

cc @mravn-google any ideas?

Please try and switch to the beta channel.

Closing because of inactivity.
Hopefully this is fixed for you.

Please try and switch to the beta channel.

same problem with me in beta channel
@mravn-google

@abdullahehab this is quite an old issue.
I'd suggest to create a StackOverflow question and if it turns out to be a Flutter bug create a new issue.


status.php fails with 401 because of auth service

When I try to hookup the desktop client, it requests status.php and it gets a 401 back.
reva        | 12:49PM INF cmd/revad/svcs/httpsvcs/handlers/auth/auth.go:93 > core access token not set pid=1 pkg=auth trace=fff307f3-af2b-44dc-a145-0992d7239bab
reva        | fff307f3-af2b-44dc-a145-0992d7239bab
caddy       | <IP_ADDRESS> - - [06/Mar/2019:12:49:31 +0000] "GET /.well-known/openid-configuration HTTP/1.1" 200 1095
reva        | 12:49PM ERR cmd/revad/svcs/grpcsvcs/authsvc/authsvc.go:129 > authsvc: error authenticating user: could not verify bearer token: oidc: malformed jwt: square/go-jose: compact JWS format must have three parts pid=1 pkg=authsvc trace=fff307f3-af2b-44dc-a145-0992d7239bab
reva        | 12:49PM INF cmd/revad/svcs/grpcsvcs/interceptors/log/log.go:69 > GRPC unary call code=OK end="06/Mar/2019:12:49:31 +0000" from=tcp://<IP_ADDRESS>:50468 pid=1 pkg=grpc-interceptor-log start="06/Mar/2019:12:49:31 +0000" time_ns=8627224 trace=fff307f3-af2b-44dc-a145-0992d7239bab uri=/cs3.authv0alpha.AuthService/GenerateAccessToken user-agent=grpc-go/1.18.0
reva        | 12:49PM ERR cmd/revad/svcs/httpsvcs/handlers/auth/auth.go:118 > code=9 pid=1 pkg=auth trace=fff307f3-af2b-44dc-a145-0992d7239bab
reva        | 12:49PM ERR cmd/revad/svcs/httpsvcs/handlers/log/log.go:108 > HTTP call end="06/Mar/2019:12:49:31 +0000" host=<IP_ADDRESS> method=GET pid=1 pkg=log proto=HTTP/1.1 size=0 start="06/Mar/2019:12:49:31 +0000" status=401 time_ns=11598101 trace=fff307f3-af2b-44dc-a145-0992d7239bab uri=/status.php
caddy       | <IP_ADDRESS> - - [06/Mar/2019:12:49:31 +0000] "GET /status.php HTTP/2.0" 401 0

running owncloud:nexus https://github.com/cernbox/reva/pull/37

@tomneedham check with @butonic, but I think that there is missing  token validation for open id in this flow: https://github.com/cernbox/reva/blob/master/cmd/revad/svcs/httpsvcs/handlers/auth/auth.go
The token and tokenwriter strategies they don't split the header value on "Bearer " so the token received is probably "Bearer xyz" instead of just the "xyz" and the OIDC library probably bails out because of this.

@labkode no, all requests for ocdavsvc are authenticated. the auth middleware has no way to distinguish url endpoints ...

I worked around it by using caddy to serve the status.php, see https://github.com/owncloud/nexus/commit/0c9f5946ec6a5f6357000f9d9b2b0af404dc89df

Fixed with config:
[http.middlewares.auth]
priority = 300
authsvc = "<IP_ADDRESS>:9999"
credential_strategy = "basic"
token_strategy = "header"
token_writer = "header"
token_manager = "jwt"
skip_methods = ["/owncloud/status.php"]