About us page

Updated "About us" page, (theoretical) responsive behaviour, plain and simple design, automatically sorted alphabetical list of team members.

It's good practice to merge up to latest master with every commit - reduces the chance of merge screwups...


Cycle through glyphs in pentacles

To make it easier to understand that the glyph symbol does not matter 🙂

Thanks a lot, that's a great QoL addition!


Licence

I was wondering about the Licence to use colab_inspector. Could you provide more details please ?

Added a LICENSE file (Apache 2.0)


Borders and Shadows options

In the original UI highlighted elements are less invasive, i would like an option to keep the minimal ui with the original behavior of borders and shadows, with only few elements highlighted
Original

Minimal UI

Hi @CepheiA2 - have you checked the settings? There are shadow and highlight settings for the strength of the colors

As to making some parts yes and others not, it is quite some work unfortunately now planning it now

I've checked all settings, and i think your module is great, but i'll really like the possibility to choose which part have a border and which not


Add custom sequence component

:pushpin: References

PR: Along with #238 on 3DBIONOTES
Issue: Closes https://app.clickup.com/t/d52cg6

:memo: Implementation
Added custom SequenceView component, in order to sync chains and ligands between the viewer and the sequence in molstar. In ligand view, the selected ligand should be shown at sequence, but will not trigger any chain change. On the other hand, when chain or entity is changed, it will reflect on the viewer dropdown and viceversa. If chain is not in entry chains, it will display a toast.
Sync with protvista was also fixed by using chainId on events.

@tokland You will see a bunch of try catch and some repeated code that I know for sure you will point at. I know that is not the best way to do it, but I will await your response on which would be the best way to do it (because I don't)


[SPARK-16845][SQL] GeneratedClass$SpecificOrdering grows beyond 64 KB

What changes were proposed in this pull request?
Prior to this patch, we'll generate compare(...) for GeneratedClass$SpecificOrdering like below, leading to Janino exceptions saying the code grows beyond 64 KB.
/* 005 */ class SpecificOrdering extends o.a.s.sql.catalyst.expressions.codegen.BaseOrdering {
/* ..... */   ...
/* 10969 */   private int compare(InternalRow a, InternalRow b) {
/* 10970 */     InternalRow i = null;  // Holds current row being evaluated.
/* 10971 */
/* 1.... */     code for comparing field0
/* 1.... */     code for comparing field1
/* 1.... */     ...
/* 1.... */     code for comparing field449
/* 15012 */
/* 15013 */     return 0;
/* 15014 */   }
/* 15015 */ }

This patch would break compare(...) into smaller compare_xxx(...) methods when necessary; then we'll get generated compare(...) like:
/* 001 */ public SpecificOrdering generate(Object[] references) {
/* 002 */   return new SpecificOrdering(references);
/* 003 */ }
/* 004 */
/* 005 */ class SpecificOrdering extends o.a.s.sql.catalyst.expressions.codegen.BaseOrdering {
/* 006 */
/* 007 */     ...
/* 1.... */
/* 11290 */   private int compare_0(InternalRow a, InternalRow b) {
/* 11291 */     InternalRow i = null;  // Holds current row being evaluated.
/* 11292 */
/* 11293 */     i = a;
/* 11294 */     boolean isNullA;
/* 11295 */     UTF8String primitiveA;
/* 11296 */     {
/* 11297 */
/* 11298 */       Object obj = ((Expression) references[0]).eval(null);
/* 11299 */       UTF8String value = (UTF8String) obj;
/* 11300 */       isNullA = false;
/* 11301 */       primitiveA = value;
/* 11302 */     }
/* 11303 */     i = b;
/* 11304 */     boolean isNullB;
/* 11305 */     UTF8String primitiveB;
/* 11306 */     {
/* 11307 */
/* 11308 */       Object obj = ((Expression) references[0]).eval(null);
/* 11309 */       UTF8String value = (UTF8String) obj;
/* 11310 */       isNullB = false;
/* 11311 */       primitiveB = value;
/* 11312 */     }
/* 11313 */     if (isNullA && isNullB) {
/* 11314 */       // Nothing
/* 11315 */     } else if (isNullA) {
/* 11316 */       return -1;
/* 11317 */     } else if (isNullB) {
/* 11318 */       return 1;
/* 11319 */     } else {
/* 11320 */       int comp = primitiveA.compare(primitiveB);
/* 11321 */       if (comp != 0) {
/* 11322 */         return comp;
/* 11323 */       }
/* 11324 */     }
/* 11325 */
/* 11326 */
/* 11327 */     i = a;
/* 11328 */     boolean isNullA1;
/* 11329 */     UTF8String primitiveA1;
/* 11330 */     {
/* 11331 */
/* 11332 */       Object obj1 = ((Expression) references[1]).eval(null);
/* 11333 */       UTF8String value1 = (UTF8String) obj1;
/* 11334 */       isNullA1 = false;
/* 11335 */       primitiveA1 = value1;
/* 11336 */     }
/* 11337 */     i = b;
/* 11338 */     boolean isNullB1;
/* 11339 */     UTF8String primitiveB1;
/* 11340 */     {
/* 11341 */
/* 11342 */       Object obj1 = ((Expression) references[1]).eval(null);
/* 11343 */       UTF8String value1 = (UTF8String) obj1;
/* 11344 */       isNullB1 = false;
/* 11345 */       primitiveB1 = value1;
/* 11346 */     }
/* 11347 */     if (isNullA1 && isNullB1) {
/* 11348 */       // Nothing
/* 11349 */     } else if (isNullA1) {
/* 11350 */       return -1;
/* 11351 */     } else if (isNullB1) {
/* 11352 */       return 1;
/* 11353 */     } else {
/* 11354 */       int comp = primitiveA1.compare(primitiveB1);
/* 11355 */       if (comp != 0) {
/* 11356 */         return comp;
/* 11357 */       }
/* 11358 */     }
/* 1.... */
/* 1.... */   ...
/* 1.... */
/* 12652 */     return 0;
/* 12653 */   }
/* 1.... */
/* 1.... */   ...
/* 15387 */
/* 15388 */   public int compare(InternalRow a, InternalRow b) {
/* 15389 */
/* 15390 */     int comp_0 = compare_0(a, b);
/* 15391 */     if (comp_0 != 0) {
/* 15392 */       return comp_0;
/* 15393 */     }
/* 15394 */
/* 15395 */     int comp_1 = compare_1(a, b);
/* 15396 */     if (comp_1 != 0) {
/* 15397 */       return comp_1;
/* 15398 */     }
/* 1.... */
/* 1.... */     ...
/* 1.... */
/* 15450 */     return 0;
/* 15451 */   }
/* 15452 */ }

How was this patch tested?

a new added test case which

would fail prior to this patch
would pass with this patch

ordering correctness should already be covered by existing tests like those in OrderingSuite

Test build #66954 has started for PR 15480 at commit ecc6720.

Test build #66954 has finished for PR 15480 at commit ecc6720.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66954/
Test FAILed.

Maybe we could run retest this uf you are very sure on this failure is due to a flaky test.

Flaky test I think not related to this PR. Thanks, @HyukjinKwon !
Jenkins retest this please.

Jenkins retest this please

Test build #66999 has started for PR 15480 at commit ecc6720.

@davies @kiszk it'd be great if you can take a look

Test build #66999 has finished for PR 15480 at commit ecc6720.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66999/
Test PASSed.

cc @ueshin want to help review this?

Test build #67116 has started for PR 15480 at commit 1ae9935.

Test build #67116 has finished for PR 15480 at commit 1ae9935.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67116/
Test PASSed.

Jenkins retest this please

Test build #68113 has started for PR 15480 at commit 1ae9935.

Test build #68113 has finished for PR 15480 at commit 1ae9935.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68113/
Test PASSed.

Test build #68210 has started for PR 15480 at commit 33b5fd8.

Test build #68210 has finished for PR 15480 at commit 33b5fd8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68210/
Test FAILed.

Jenkins retest this please

Test build #68220 has started for PR 15480 at commit 33b5fd8.

Test build #68220 has finished for PR 15480 at commit 33b5fd8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68220/
Test FAILed.

Jenkins retest this please

Test build #68244 has started for PR 15480 at commit 33b5fd8.

Test build #68244 has finished for PR 15480 at commit 33b5fd8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68244/
Test PASSed.

@hvanhovell it'd be great if you can take a look at this, thanks!

@cloud-fan @hvanhovell would you take a look at this? Seems like it's targeted for 2.1. Thanks!

Jenkins retest this please

Test build #69044 has started for PR 15480 at commit 33b5fd8.

Test build #69044 has finished for PR 15480 at commit 33b5fd8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69044/
Test PASSed.

Hi @lw-lin. Just FYI we use this patch at VideoAmp and would love to see it merged in. I notice this PR has gone a little cold. I'm sorry I can't offer much concrete help, but I wanted to check with you to see if you'll be able to pick this up again soon. Cheers.

Hi @mallman, I'll pick up this within this week. Thanks for the feedback! :)

Test build #71063 has started for PR 15480 at commit 3d31cb3.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71063/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins retest this please

Test build #71073 has started for PR 15480 at commit 3d31cb3.

Test build #71073 has finished for PR 15480 at commit 3d31cb3.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71073/
Test PASSed.

I've cherry-picked the refactoring work of splitExpression (from @ueshin -- thank you!) into this. Also test passed.
So @cloud-fan would you take a look at this again at your convenience? Thanks!

LGTM

Test build #71115 has started for PR 15480 at commit 4aef473.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71115/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins retest this please

Test build #71116 has started for PR 15480 at commit 4aef473.

Test build #71116 has finished for PR 15480 at commit 4aef473.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71116/
Test PASSed.

thanks, merging to master/2.1!

Is there any plan to apply this fix to 1.6? (am using the Cloudera version spark-1.6.0-cdh5.9.0) and am seeing this problem with running a countDistinct over a DF with 600 columns.

Same question as @dsimmie - we are having the same issues for 1.6.2 and can't upgrade to 2.0 immediately - would be good to get this backported.


Finalize Configuration Structure

There are currently 2 top-level properties:
{
    settings: {},
    sections: {}
}

The settings property is really just a catchall for anything that doesn't make sense inside of sections. This was originally done in order to keep things organized, but it's starting to become confusing.
I propose the following structure:
{
    dest: '',

    // Assets to copy into built pattern-library.
    copy: {/*SFF*/},

    // CSS and JavaScript to insert into default template.
    // All CSS rules are prefixed to prevent style bleed.
    include: {
      css: { /*SFF*/ },
      js: { /*SFF*/ }
    },

    display: {
        graphic: 'path/to/logo.png',
        title: 'text for <title> tag',
        headingText: 'text for page heading'
    },

    log: { /*npm/npmlog*/ },

    sections: [ /*section objects*/ ],

    template: { /*template customization*/ }
}

I have removed cwd (originally settings.cwd). We should just require that the dest path be relative to process.cwd(). All other path options in the config either implement the Standardized File Format or point to a specific file.
The structure for template is in a separate issue.

#58

Only item left for this implementation will be the log (#56)


First implementation of next_version

This PR contains (based on #221):

Implement semver.next_version(version, part, *, prerelease_token="rc")
Add test cases

TODOs:

[ ] Implement semver.VersionInfo.next_version counterpart
[ ] Describe the function(s) in our documentation

@gsakkis This is a first draft, feel free to comment. :wink:

@tomschr here are a few more (currently failing) test cases:
        ("0.1.5-rc.1", "prerelease", "0.1.5-rc.2"),
        ("0.1.5-rc.2", "patch", "0.1.5"),
        ("0.2.0-rc.1", "minor", "0.2.0"),
        ("1.0.0-rc.1", "major", "1.0.0"),

Open issues:

How to deal with the following cases:

("0.2.0-rc.1", "patch", ???)
("1.0.0-rc.1", "patch", ???)
("1.0.0-rc.1", "minor", ???)
My suggestion would be to raise a custom exception, e.g. IndeterminableVersionException.

I came across another situation I hadn't thought of before: say you're in v0.1.4 and want to bump to next prerelease version. With the current patch this is v0.1.5-rc.1. This makes sense if you plan for the next non-prerelease version to be a patch upgrade, i.e. v0.1.5. But what if you plan a minor or major upgrade right after v0.1.4? In that case the next prerelease should be v0.2.0-rc1 (for minor) or v1.0.0-rc1 (for major).

Currently there is not enough information to determine which of the three alternatives to choose. It needs either an extra parameter, or since this affects only prereleases, allow two more part values: prerelease-minor and prerelease-major (and perhaps prerelease-patch for consistency, which would be equivalent to prerelease). So in short:
("0.1.4", "prerelease", "0.1.5-rc.1")
("0.1.4", "prerelease-patch", "0.1.5-rc.1") # optional
("0.1.4", "prerelease-minor", "0.2.0-rc.1")
("0.1.4", "prerelease-major", "1.0.0-rc.1")

What do you think?

@tomschr here are a few more (currently failing) test cases:
[...]

I've added them to the test file and fixed them. Additionally, I've added you as co-author.
The implementation currently looks horrible as it contains a lot of elif parts. We can improve that later.

Getting closer :) Four more failing cases:
        ("0.2.5-rc.1", "minor", "0.3.0"),
        ("1.0.4-rc.1", "major", "2.0.0"),
        ("1.1.0-rc.1", "major", "2.0.0"),
        ("1.1.4-rc.1", "major", "2.0.0"),

Here's a simplified implementation that passes all 12 cases, feel free to apply the diff:
diff --git a/semver.py b/semver.py
index 67ddded..294d369 100644
--- a/semver.py
+++ b/semver.py
@@ -715,24 +715,19 @@ def next_version(version, part, prerelease_token="rc"):
             )
         )
     version = VersionInfo.parse(version)
-    if part == "major" and version.prerelease:
-        return format_version(version.major, version.minor, version.patch)
-    elif part == "major" and not version.prerelease:
-        return str(version.bump_major())
-    elif part == "minor" and version.prerelease:
-        return format_version(version.major, version.minor, version.patch)
-    elif part == "minor" and not version.prerelease:
-        return str(version.bump_minor())
-    elif part == "patch" and version.prerelease:
-        return format_version(version.major, version.minor, version.patch)
-    elif part == "patch" and not version.prerelease:
-        return str(version.bump_patch())
-    elif part == "prerelease" and version.prerelease:
-        return str(version.bump_prerelease(token=prerelease_token))
-    elif part == "prerelease" and not version.prerelease:
-        return str(version.bump_patch().bump_prerelease(token=prerelease_token))
-
-    raise RuntimeError("Should not happen, got {part}".format(part=part))
+    if version.prerelease and (
+        part == "patch"
+        or (part == "minor" and version.patch == 0)
+        or (part == "major" and version.minor == version.patch == 0)
+    ):
+        return str(version.replace(prerelease=None))
+
+    if part in ("major", "minor", "patch"):
+        return str(getattr(version, "bump_" + part)())
+
+    if not version.prerelease:
+        version = version.bump_patch()
+    return str(version.bump_prerelease(prerelease_token))

 # ---- CLI

@gsakkis Brilliant! :+1: Thanks for the contribution! I've included your patches. For the test cases, I've sorted them against the parts. Looks better. :wink:

I'm wondering, if we should check parts specifically for build and give a better error message why build cannot be used. At the moment, it raises a ValueErroor with an Invalid part message. In that specific case, it may confuse people.  I'd suggest to add:
diff --git i/semver.py w/semver.py
index b6443ae..5e69b1b 100644
--- i/semver.py
+++ w/semver.py
@@ -708,6 +708,8 @@ def next_version(version, part, prerelease_token="rc"):
         "prerelease",
         # "build", # ???
     }
+    if part == 'build':
+        raise ValueError("The build part is not predictable"))

I hadn't had a better idea for the error message. What do you think/prefer?

@gsakkis Ok, I have to think again what would be better.
Do you have anything else which needs to be covered in this function? If not, I would implement the rest and extend the documentation. It would be very helpful if you could review it. :wink:

@tomschr would be nice to add the test cases mentioned here. With the current implementation they yield:

("0.2.0-rc.1", "patch", "0.2.0")  # same as "minor"
("1.0.0-rc.1", "patch", "1.0.0")  # same as "major"
("1.0.0-rc.1", "minor", "1.0.0") # same as "major"

Other than that LGTM too :+1:

@gsakkis Added your test cases. Thanks! :+1:
After looking a bit closer to this class and this function, I realized there are a lot of similarities. As my findings are maybe a bit radical, I've opened a separate issue, see #225 for the details. :smile:
For this PR, it isn't relevant.

@gsakkis George, during documenting the function, I found something where I need your help.
Consider the following code example:
>>> semver.next_version("3.4.5-pre.2+build.4", part="prerelease")  # (1)
'3.4.5-pre.3'
>>> semver.next_version("3.4.5-pre.2+build.4", part="patch")  # (2)
'3.4.5+build.4
>>> semver.next_version("3.4.5+build.4", part="patch")  # (3)
'3.4.6'

The first one is plausible, but what about the second one? Shouldn't it be 3.4.5? What about the third one, should it be 3.4.5?
I could remove the build part when I patch your version in the following line:
diff --git i/semver.py w/semver.py
index ac3bfd1..3acdfe8 100644
--- i/semver.py
+++ w/semver.py
@@ -733,7 +733,7 @@ def next_version(version, part, prerelease_token="rc"):
         or (part == "minor" and version.patch == 0)
         or (part == "major" and version.minor == version.patch == 0)
     ):
-        return str(version.replace(prerelease=None))
+        return str(version.replace(prerelease=None, build=None))

What do you think?
I guess, we run into these uncharted area of the build part. :wink:

Would that be plausible for you? What do you think?
I guess, we run into these uncharted area of the build part.
Indeed, afaict the rules regarding the build part are fuzzy but your changes look reasonable, at least more reasonable than preserving the build when bumping, so :shipit:

@gsakkis I just remembered, we should probably integrate the functionality into the CLI script pysemver as well, right?

I've added now the new subcommand nextver:
$ pysemver nextver 1.2.3 prerelease
1.2.4-rc.1

@gsakkis
After looking of all issues, it seems I forgot this one. :cry:   Maybe it isn't as bad, as it could simplify the code a bit in the light of #229. Once this is merged, I would like to continue with that.
However, I would avoid a module level function next_version. Instead, I would integrate this as a method only function for the VersionInfo class.
My proposal would be:
    def next_version(self, part:str, prerelease_token:str="rc"):
        """
        Determines the next version, taking prereleases into account.

        The "major", "minor", and "patch" raises the respective parts like
        the ``bump_*`` functions. The real difference is using the
        "preprelease" part. It gives you the next patch version of the prerelease,
        for example:

        >>> str(semver.VersionInfo.parse("0.1.4").next_version("prerelease"))
        '0.1.5-rc.1'

        :param part: One of "major", "minor", "patch", or "prerelease"
        :param prerelease_token: prefix string of prerelease, defaults to 'rc'
        :return: a new VersionInfo instance
        """
        validparts = {
            "major",
            "minor",
            "patch",
            "prerelease",
        }
        cls = type(self)
        if part not in validparts:
            raise ValueError(
                "Invalid part. Expected one of {validparts}, but got {part!r}".format(
                    validparts=validparts, part=part
                )
            )
        if (self.prerelease or self.build) and (
            part == "patch"
            or (part == "minor" and self.patch == 0)
            or (part == "major" and self.minor == self.patch == 0)
        ):
            newver = cls(*self.to_tuple())
            return newver.replace(prerelease=None, build=None)

        if part in ("major", "minor", "patch"):
            return getattr(self, "bump_" + part)()

        version = self
        if not self.prerelease:
            version = self.bump_patch()
        return version.bump_prerelease(prerelease_token)

I haven't tested it, but I thought, I write it down to document it.

However, I would avoid a module level function next_version. Instead, I would integrate this as a method only function for the VersionInfo class. Would you be ok with that?

Yes absolutely, it makes sense.

@gsakkis I've tried to rebase and adjust the changes. However, Python2 emits this error:
$ tox -e py27
[...]
      def iter_versions(self, firstpart, *parts, prerelease_token="rc"):
                                                                ^
  SyntaxError: invalid syntax

One solution would be to add this for Python3 only and leave Python2 behind. What would you think?

@tomschr did you mean to add this comment on #223? In any case the signature I proposed is Python 2 compatible: def iter_versions(self, parts, prerelease_token="rc")

Ok, it seems I introduced something like def next_version(self, *, parts, prerelease_token="rc") which is only possible in Python3. You are right, your signature is Pytho2 compatible.

@gsakkis I've fixed the conflicts and implemented the next_version in the VersionInfo class. A module level function is not available. Also adapted the test case.
I was wrong, it's not a Python3 only issue, so I removed this label. Maybe we could even incorporate it into the 2.10.0 release.

@gsakkis If you don't mind or object, I'd like to merge it soon (Saturday?) to make the 2.10.0 release.  :smile:

@tomschr LGTM!


Any useful code?

Hello @RonDen we just released the code and I'm closing this issue now. Let me know if you need anything else!


Add codecov coverage uploading

Summary
Describe the goal of this PR. Mention any related Issue numbers.
Requirements (place an x in each [ ])

[ ] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[ ] I've read and agree to the Code of Conduct.

Hmm why didn't CI run my changes to the workflow file? 🤔
https://github.com/slackapi/slack-github-action/actions/runs/9008262092/job/24749902585

@filmaj hmm that's super strange. The workflow file changes seem to be noticed but I'd guess the pull_request_target might use the workflow on main with the changes of the PR branch being checked out.
For testing purposes, I'm wondering if changing this to pull_request would fix this? Just to test though. I think you have the magic to use repository secrets on pull request, which motivated the staging environments and custom checkouts in the first place.

Works on main! https://github.com/slackapi/slack-github-action/actions/runs/9008574305/job/24750965740


Failed connect errors

What happened ?
Trying to batch download these manga urls listed in this txt file:
urls.txt
but connections keep failing until i get Unhandled HTTP error. This happens for every URL listed, sometimes it works though, but most of the time it doesn't. The failed downloads seem to be increasing in frequency until now as listed below, everything failed.
Log:
Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. All rights reserved.
C:\Users\REDACTED\mangadex-dl>mangadex-dl urls.txt --force-https --dns-over-https cloudflare --delay-requests 1S
[INFO] Checking url = https://mangadex.org/title/4259cfdd-2a81-41aa-91d0-a5d44275d6cc
[INFO] Using English language
[ERROR] Failed connect to "https://api.mangadex.org/manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 1)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 2)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 3)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 4)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4259cfdd-2a81-41aa-91d0-a5d44275d6cc", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 5)
[ERROR] Unhandled HTTP error
Traceback (most recent call last):
File "mangadex_downloader\cli\download.py", line 33, in download
File "mangadex_downloader\cli\url.py", line 166, in call
File "mangadex_downloader\cli\url.py", line 97, in download_manga
File "mangadex_downloader\main.py", line 70, in download
File "mangadex_downloader\manga.py", line 72, in init
File "mangadex_downloader\fetcher.py", line 43, in get_manga
File "requests\sessions.py", line 602, in get
File "mangadex_downloader\network.py", line 273, in request
mangadex_downloader.errors.UnhandledHTTPError: Unhandled HTTP error
[INFO] Checking url = https://mangadex.org/title/d7bcf782-3aaa-4916-868b-0a3a2629826a/blue-archive-dengeki-comic-anthology
[INFO] Using English language
[ERROR] Failed connect to "https://api.mangadex.org/manga/d7bcf782-3aaa-4916-868b-0a3a2629826a", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/d7bcf782-3aaa-4916-868b-0a3a2629826a?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 1)
[ERROR] Failed connect to "https://api.mangadex.org/manga/d7bcf782-3aaa-4916-868b-0a3a2629826a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 2)
[ERROR] Failed connect to "https://api.mangadex.org/manga/d7bcf782-3aaa-4916-868b-0a3a2629826a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 3)
[ERROR] Failed connect to "https://api.mangadex.org/manga/d7bcf782-3aaa-4916-868b-0a3a2629826a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 4)
[ERROR] Failed connect to "https://api.mangadex.org/manga/d7bcf782-3aaa-4916-868b-0a3a2629826a", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/d7bcf782-3aaa-4916-868b-0a3a2629826a?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 5)
[ERROR] Unhandled HTTP error
Traceback (most recent call last):
File "mangadex_downloader\cli\download.py", line 33, in download
File "mangadex_downloader\cli\url.py", line 166, in call
File "mangadex_downloader\cli\url.py", line 97, in download_manga
File "mangadex_downloader\main.py", line 70, in download
File "mangadex_downloader\manga.py", line 72, in init
File "mangadex_downloader\fetcher.py", line 43, in get_manga
File "requests\sessions.py", line 602, in get
File "mangadex_downloader\network.py", line 273, in request
mangadex_downloader.errors.UnhandledHTTPError: Unhandled HTTP error
[INFO] Checking url = https://mangadex.org/title/31dc805a-7cef-498d-9e00-93a434b4da67/blue-archive-hide-and-seek-behind-the-scenes-kivotos-kourin-grand-festival
[INFO] Using English language
[ERROR] Failed connect to "https://api.mangadex.org/manga/31dc805a-7cef-498d-9e00-93a434b4da67", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/31dc805a-7cef-498d-9e00-93a434b4da67?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 1)
[ERROR] Failed connect to "https://api.mangadex.org/manga/31dc805a-7cef-498d-9e00-93a434b4da67", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/31dc805a-7cef-498d-9e00-93a434b4da67?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 2)
[ERROR] Failed connect to "https://api.mangadex.org/manga/31dc805a-7cef-498d-9e00-93a434b4da67", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/31dc805a-7cef-498d-9e00-93a434b4da67?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 3)
[ERROR] Failed connect to "https://api.mangadex.org/manga/31dc805a-7cef-498d-9e00-93a434b4da67", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 4)
[ERROR] Failed connect to "https://api.mangadex.org/manga/31dc805a-7cef-498d-9e00-93a434b4da67", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 5)
[ERROR] Unhandled HTTP error
Traceback (most recent call last):
File "mangadex_downloader\cli\download.py", line 33, in download
File "mangadex_downloader\cli\url.py", line 166, in call
File "mangadex_downloader\cli\url.py", line 97, in download_manga
File "mangadex_downloader\main.py", line 70, in download
File "mangadex_downloader\manga.py", line 72, in init
File "mangadex_downloader\fetcher.py", line 43, in get_manga
File "requests\sessions.py", line 602, in get
File "mangadex_downloader\network.py", line 273, in request
mangadex_downloader.errors.UnhandledHTTPError: Unhandled HTTP error
[INFO] Checking url = https://mangadex.org/title/5fcf0847-7d3a-4164-a705-970a06df2794/blue-archive-problem-solver-68-business-diary
[INFO] Using English language
[ERROR] Failed connect to "https://api.mangadex.org/manga/5fcf0847-7d3a-4164-a705-970a06df2794", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/5fcf0847-7d3a-4164-a705-970a06df2794?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 1)
[ERROR] Failed connect to "https://api.mangadex.org/manga/5fcf0847-7d3a-4164-a705-970a06df2794", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 2)
[ERROR] Failed connect to "https://api.mangadex.org/manga/5fcf0847-7d3a-4164-a705-970a06df2794", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/5fcf0847-7d3a-4164-a705-970a06df2794?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 3)
[ERROR] Failed connect to "https://api.mangadex.org/manga/5fcf0847-7d3a-4164-a705-970a06df2794", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 4)
[ERROR] Failed connect to "https://api.mangadex.org/manga/5fcf0847-7d3a-4164-a705-970a06df2794", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/5fcf0847-7d3a-4164-a705-970a06df2794?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 5)
[ERROR] Unhandled HTTP error
Traceback (most recent call last):
File "mangadex_downloader\cli\download.py", line 33, in download
File "mangadex_downloader\cli\url.py", line 166, in call
File "mangadex_downloader\cli\url.py", line 97, in download_manga
File "mangadex_downloader\main.py", line 70, in download
File "mangadex_downloader\manga.py", line 72, in init
File "mangadex_downloader\fetcher.py", line 43, in get_manga
File "requests\sessions.py", line 602, in get
File "mangadex_downloader\network.py", line 273, in request
mangadex_downloader.errors.UnhandledHTTPError: Unhandled HTTP error
[INFO] Checking url = https://mangadex.org/title/4e166e00-a9b3-4f17-8075-441b9745715a/dolls-frontline-dengeki-comic-anthology
[INFO] Using English language
[ERROR] Failed connect to "https://api.mangadex.org/manga/4e166e00-a9b3-4f17-8075-441b9745715a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 1)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4e166e00-a9b3-4f17-8075-441b9745715a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 2)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4e166e00-a9b3-4f17-8075-441b9745715a", reason: HTTPSConnectionPool(host='api.mangadex.org', port=443): Max retries exceeded with url: /manga/4e166e00-a9b3-4f17-8075-441b9745715a?includes%5B%5D=author&includes%5B%5D=artist&includes%5B%5D=cover_art (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)'))). Trying... (attempt: 3)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4e166e00-a9b3-4f17-8075-441b9745715a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 4)
[ERROR] Failed connect to "https://api.mangadex.org/manga/4e166e00-a9b3-4f17-8075-441b9745715a", reason: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)). Trying... (attempt: 5)
[ERROR] Unhandled HTTP error
Traceback (most recent call last):
File "mangadex_downloader\cli\download.py", line 33, in download
File "mangadex_downloader\cli\url.py", line 166, in call
File "mangadex_downloader\cli\url.py", line 97, in download_manga
File "mangadex_downloader\main.py", line 70, in download
File "mangadex_downloader\manga.py", line 72, in init
File "mangadex_downloader\fetcher.py", line 43, in get_manga
File "requests\sessions.py", line 602, in get
File "mangadex_downloader\network.py", line 273, in request
mangadex_downloader.errors.UnhandledHTTPError: Unhandled HTTP error
[INFO] Cleaning up...
C:\Users\REDACTED\mangadex-dl>
What did you expect to happen ?
Sometimes the downloads work, but other times, like now, I keep getting unhandled http error. I expect the mangas to be downloaded. I tried force-https and dns-over-https but those don't seem to help.
They should just create folders with the manga names on them and download into those, but since it can't access the server, it can't start on them.
OS version
Windows 10
App version
mangadex-downloader v2.10.3 (https://github.com/mansuf/mangadex-downloader)
Python: 3.10.11
arch: x64
bundled executable: yes
Installation origin
Github releases
Installation origin (other sources)
No response
Reproducible command
mangadex-dl urls.txt --force-https --dns-over-https cloudflare --delay-requests 1
Additional context
I've tried multiple times to get this to work, to the point where now none of the URLs can be connected to. Maybe my isp, router, or mangadex is blacklisting me?

When you get this error, did you try to open MangaDex website in a browser and check if it's working ? if it's not working, maybe your isp has blacklisted or your router has some changes that cause connection to MangaDex servers to failing.
I suggest check your router first and then your isp.
This is rare case though, even if it's isp fault to blacklisting MangaDex, it should working if you use dns over https.


[Question] Are the ONNX/TRT checkpoints dynamic?

Hello,
I'm wondering if the ONNX/TRT files that you have are dynamic inputs (i.e. support batching)? Seems like one of the scripts you have have that option, but I'm wondering if the ONNX files themselves are static or dynamic inputs?
Thanks!

@salahzoubi  Yes it's , dynamic


RREPLAY should propogate errors

Related to #64, this would have been much easier to catch if RREPLAY told the master it didn't execute the command.

Fixed in 08b6a0405


Help for TARGET in CREATE NEW FILE appears beneath the dialog

When hovering over the question mark icon next to the TARGET option in the CREATE NEW FILE dialog, the help text appears beneath the CREATE NEW FILE dialog, so it's not actually possible to read the text.
Tested on Firefox 41.

Fixed in #251


Support metadata transaction operation.

Fixes #15930
Motivation
Etcd and Zk metadata store support transaction operation.
Documentation

[x] doc-not-needed
(Please explain why)

@horizonzy The MetadataStore API was specifically designed not to support transactions, in order to support a wider set of potential backend implementations.

@horizonzy The MetadataStore API was specifically designed not to support transactions, in order to support a wider set of potential backend implementations.

If I need transaction feature, how can I support it. Any suggestion?

I think making the assumption that the backend supports transactions will be too restrictive and it would prevent to adopt more scalable stores.

fine, keep it for now


Modifier for inline roll

Is it possible to add the feature to modify the roll on the sub table?
This would help to narrow the results on the sub table.
The syntax could be
^^#?NumberOrRolls?TableToRoll?Modifier?^^
example
Syntax: ^^#?5?Monsters?-2?^^
Roll 5 times on the monsters table with -2, so if the monsters table has a roll table formula of d6 then the roll would be 5 times d6-2.

Was just coming to ask for this exact feature myself, this would be awesome!


Decoupling Predictor class from i18next.

Cleaning up Predictor class by removing dependency on i18next. Moved translation logic to display function (calculateOutput) in script.js.

Generally speaking I'm fine with this change, but man all those semicolon's made finding the relevant changes a total pain.

f1a6680 should have the main changes by itself.


Jsgrid Custom Phone number Field

Hi,
Regarding this example http://js-grid.com/docs/#custom-field
how could i create phone number field like <IP_ADDRESS>.00 format ?
Regards
Alex

@AVitse please refer this example for your clarification this

Hi,
Thank you it works very well.
How to get a mask for input based on this format? ( for add new row or edit row )
Best regards

sorry, I am unable to get you question, are asking to format the value on input tag like this 00,00,00,00,00 while editing?

Yes, I want to format the value on input tag like this 00,00,00,00,00 while editing/ adding rows => Inputmask  (00,00,00,00,00)

@AVitse please refer this example for your clarification this

@nandakumardtc : it's work perfectly thanks you :+1:

@AVitse Am glad that the solution works for you and if you are ok with the given solution, please consider to close the issue.
Thanks


[PERFSCALE-2577] Retry kb download

This PR attempts a retry in case the download is
unsuccessful
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] Optimization
[ ] Documentation Update

Description
This PR attempts a retry in case the download is
unsuccessful
Related Tickets & Documents

Related Issue # PERFSCALE-2577
Closes # PERFSCALE-2577

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please describe the System Under Test.
Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

lgtm!

@jtaleric @mukrishn Can one of you - please merge if this looks good?


DAWN-533 ⁃ rename remaining "eos" directories to "eosio"

I found a handful of directories still named "eos" rather than the current term of art, "eosio"
./plugins/net_api_plugin/include/eos
./plugins/template_plugin/include/eos
./plugins/net_plugin/include/eos
./contracts/eos
./libraries/utilities/include/eos
./eos
ATC
Prerequisites

None

Side effects

None

Procedure

Verify no files or paths are named eos or eosxxx where xxx is some string, but rather eosio and eosioxxx, except for the top level checkout directory/repo name.

Completed.


how to appropriately cancel es6 fetch with saga cancel operator

I notice that with this smart saga's operator that I could cancel some actions by race or cancel, thanks for your lib :)
and I find that it seems not possible to cancel fetch indeed even if I use cancel inside saga, maybe it's still continuing issue, I follow some smart temporary solution below which may cancel fetch
const makeCancelable = (promise) => {
  let hasCanceled_ = false;
  const wrappedPromise = new Promise((resolve, reject) => {
    promise.then((val) =>
      hasCanceled_ ? reject({isCanceled: true}) : resolve(val)
    );
    promise.catch((error) =>
      hasCanceled_ ? reject({isCanceled: true}) : reject(error)
    );
  });
  return {
    promise: wrappedPromise,
    cancel() {
      hasCanceled_ = true;
    },
  };
};

and I also hold question and confused now, may I use cancel or race to cancel fetch, or how could I use above method within saga,
thanks for your time,
regards.

fetch API doesn't expose a method to abort. To abort request when cancelling promise in saga, use some alternative libraries(like axios which supports cancellation) instead.
function getURL(url) {
  let cancel;

  let promise = axios.get(url, {
    cancelToken: new axios.CancelToken(function executor(c) {
      // An executor function receives a cancel function as a parameter
      cancel = c;
    })
  });

  // cancel the request
  promise[CANCEL] = cancel;
}

Unfortunately, cancelable promises proposal has been withdrawn. :-( Not sure how long will axios support this feature.

You can also read a little bit more here - https://github.com/yelouafi/redux-saga/issues/651#issuecomment-262375964
Also remember that even if your race wont be able to 'cancel' your regular fetch, so the response will return to your browser, it doesnt mean that redux-saga will handle it - its response will be ignored.

@AJIh  thanks for your example :)
@Andarist  thanks for your reply.

I can confirm that using the code shared above does cancel mid-flight requests when raceing or canceling, which is nice.


Make the browser access the optioned port

While the eel.start supports using a different port other than 8000 by option={"port":hoge}, it was not accessed from the browser

Thanks @secang0!


[GUI] Update design of mode selection popup and graphs

Update the design of the graphs to follow new recommendations.
The current implementation of the ScopeView has a very high CPU usage,
making it unable to hold updates at 60Hz. (Actually I can at 90% CPU usage).
The main reason is the fact we are using two Charts, one To draw a line,
and the other to draw the area. Hopefully, with enough time we can customize the graphs to make it more efficient.
Also, updated mode selection popup to new design

Thanks Paulo! Visually looks great, just two concerns:

Axes and grid need to be visible
When I launch it on my macbook, it eats 100% CPU even though I think now it is updating only 15x per second? Anything we can do about this?

I found the issue with 100% CPU. QTimer delay time was missing to trigger the clock update. I adjusted to every 1000ms.
Still, we are having a high CPU usage. Did a small investigation and turns out that it seems the charts are the problem. We probably won't be able to use QtCharts...


Confused. What to use? (exported structure variable)

I am exporting some functions using DLLExport which is working great.
But I also need to export a Variable (Pointer to a FunctionPointer-Structure), which will be set from the native application loading my assembly and I then want to call a function in that struct from within my managed code.
So what i want to do basically (simpilfied):
[DLLExport]
FuncPtrStruct EXPORTVAR;
public double GetExternalValue(Int32 index)
{
if (EXPORTVAR == null)
return -1;
return EXPORTVAR->get_nativedata(index);
}
where get_indexdata would be defined as
"double (__stdcall *get_indexdata) (int index)" in the struct
So what else apart from DLLExport will I need, or would it maybe easier to write a native dll that provides the exported variable, handles the calls to it and loads my managed assembly, communicating with it through exported functions?
Hints welcome.

` >_< it hard to understand what you do, and what you want at all, but I think I understand what you need
amm.., firstly about exported-variables:

https://github.com/3F/DllExport/issues/24#issuecomment-267992322

that is, DllExport works via ILAsm that currently contains logic (part of mscorpe) for prepare exported-functions only. I will look this task later.
Here I also noticed about individual PE32/PE32+ tool at all, instead of IL Assembler, or something else. But it's hard for my time today, may be later...
However, in most cases it shouldn't be problem...
Secondly, and most important :) you can simplify this chain via Conari if you need complex work with unmanaged libraries or even with data directly. +This also helps to prepare managed data for unmanaged environment, but if I understand correctly you need primary features of Coanri
See also about native C/C++ structures without declaration here if you need.

Ok I will try to explain again ;) I will need the oposite of https://plus.google.com/101239554716569212042/posts/gR94gCu9k89

Software (MS FSX , pure c/c++) defines a struct (PANELS) (http://www.prepar3d.com/SDKv2/LearningCenter/simobjects/sample_code/gauges.html) that contains function pointers.
I can plugin a c++-dll into FSX.
if plugin.dll exports a symbol called "PANELS" , this symbol will be set by FSX to the structure offset when plugin is loaded.
I want to call one of the functions in that struct e.g. "FLOAT64(FSAPI *get_named_variable_value) (ID id)" (which is "double (__stdcall get_named_variable_value) (int id)" when resolving the Macros)

Works all fine if plugin.dll is c++.
I now want to do plugin.dll in C#.
At the current point I am working on creating a c++-warpper dll which will export PANELS symbol, so FSX can set it, and my C#-dll exports some functions that will be called by the c++-dll to talk to each other. (maybe conari will help me there, i'll look into that)

well, as I said above if 3rd party FSX can set this pointer only via variables - unfortunately no, you should use another ways because of ILAsm that does not contain logic for this today. Issue #24
The easy way, yes, to encapsulate this pointer for work through exported-functions as simple translator. Then you can call FLOAT64(FSAPI *get_named_variable_value) (ID id) as you need from C# etc.


fix(search): formatted field

fix #2318

I tested with some edge cases. For me it's ok, well done! 👌
I hope I did not forget any tricky part!

bors merge


Doesn't work

I can't join to my server with another port than the default...

Is the port forwarded?
Does your host allow you to use this port?

I don't know. I use minehub.de

Yes, they probably only allow you to use 1 port. Ask them to open a second one for you. Duplicate of #1

Okey, sorry


Removing pop from dom issue

In previous alphas was possible to remove the pop from dom and get it back without any issue. Now is throwing some nasty errors. Is this a new limitation or a bug?
CodePen demo
http://codepen.io/FezVrasta/pen/dNbgxv
Steps to reproduce the problem
Open the jsfiddle and check the console
What is the expected behavior?
To don't throw any error on removing the pop from dom.

We should make a check to be sure the popper node is still in the DOM.
Why do you want to remove the popper node leaving the instance up?

In my Tooltip implementation where only one popper at a time can be visible, I thought to keep the dom clean. No any clear advantage, so I can adapt my code.

If that's the recommended way, I can do that. I thought it could affect performance?

actually the overhead of the initialization is very low, it's almost l like a simple update

I just profiled the difference, the initialization takes 1.5ms and the updates take 1ms.

I fixed the problem here:
https://github.com/FezVrasta/popper.js/commit/85e144cce15aa85ad42f3516d786fd21e1e8e403
Seems to work properly now.

I can confirm this works well with v1b4. Thanks!


Would the code work with monocular camera?

I'm using the code to calibration the extrinsic parameter of  velodyne 64S3 and monocular camera. But the samples are working with panoramic camera, would it work well with monocular camera?

The proposed intensity-based method is also able to work with perspective camera or other 3D sensors. However, the implementation for perspective cameras is still under development.

Implemented


Waypoints deleted

I only noticed yesterday because i was trying to go back and see what i had done for seek and destroy. all gone. this is the second time but the first was when i just started and i did the cat app twice. but this is too much work gone to do that. i hope someone can restore it.

@mitziw thanks for posting this issue!
If you have such a problem try sending an e-mail to<EMAIL_ADDRESS>

Please review the Guidelines for Contributing, thank you!.

Closing as stale, please reopen if this is not resolved


Correct processing for custom exceptions compiled within the sources

The plugin works fine for built-in exceptions like NullPointerException, IllegalArgumentException etc.
However, it fails when a custom exception class located in the host project is configured (e.g. junit5 uses PreconditionViolationException

Done


'picotoolBuild' refuses to build

[  6%] Performing build step for 'picotoolBuild'
/Users/src/pico/pico-sdk/lib/mbedtls/library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable]
    mbedtls_mpi_uint c = 0, t = 0;
                            ^
1 error generated.
make[5]: *** [lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/bignum.c.o] Error 1
make[4]: *** [lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [pico-sdk/src/rp2040/boot_stage2/picotool/src/picotoolBuild-stamp/picotoolBuild-build] Error 2
make[1]: *** [pico-sdk/src/rp2040/boot_stage2/CMakeFiles/picotoolBuild.dir/all] Error 2
make: *** [all] Error 2

macOS

Is your mbedtls submodule up to date? This should be fixed in the version of mbedtls we’re now using in the SDK (https://github.com/Mbed-TLS/mbedtls/issues/7166).
You can update your submodules by running git submodule update --init

Forcing an update solved the problem.

Sounds like this issue has been resolved, so closing.


Javascript a way to go to a specific page?

Hi there,
I was wondering if there is a way to externally tell the grid to reload to a specific page when using ajax
i.e Currently I'm on Page 7 of the grid and I click a button on my page and I want it to go to Page 2 for example?

You can manipulate the query
var currentQuery = $('.mvc-grid').mvcgrid('instance').query;

$('.mvc-grid').mvcgrid({
    query: '<current query with replaced page value>',
    reload: true
});


is there any discussion group?

Hi there,
This course is a terrific material to learn NLP from scratch with Pytorch/TensorFlow.
But I have a problem that I don't know if I am coding right or wrong when I finish the homework.
Is there any discussion group for learners to discuss or verify if we are coding right?
Thanks in advance.

I'd like to participate in such group too

This repo material used for NLP class in Yandex School of Data Analysis. While your interest is appreciated, there is currently no chat open for non-YSDA students.


pylint and CI/CD

In the github action the pylint return error. We bypass it by
      - name: pylint
        run: |
          pylint pypodo/__pypodo__.py
        continue-on-error: true

But in the log we see Error: Process completed with exit code 28. and in the summary of the pipeline, we see a red flag...

How to solve it?

WIP :
create a .pylintrc with a fail-under option
Will be added in the 2.3.1 version
[MASTER]
fail-under = 9


Adds a "force_delete" flag

Adds an override so that resources can be deleted even when things go wrong by specifying
--force_delete=True --run_stage=cleanup --benchmarks=your_benchmarks_here
--run_uri=your_uri_here

test this please.

Eric and I talked about this and rather than have a new flag we are going to make cleanup more robust and try to cleanup anything that might have been created.


⚠ Bofrost.fr has degraded performance

In 81cac7c, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 2375 ms

Resolved: Bofrost.fr performance has improved in d7b2e63 after 7 minutes.


Is Seattle incompatible ??

Hello Guys!
There isn't a package for Delphi Seattle ?
It runs just for versions after Delphi Rio ?

You can try to compile the dpk . It has almost nothing
to do with the Delphi version EXCEPT
the name ..250.bpl  ..240.bpl  and the requires.
Usually once you load the project dpk delete
the requires's that are associated with the project
and they will be "picked up" during compilation.
As for the BPL name change to what it suit YOU.
If the source compiles in your Delphi version you are
lucky. Other wise you have to change the source.

Thank you man!!
I'll try these steps.

Hello, everything has been fixed in the latest committed version. Seattle is not anymore supported


Exposed directories don't work correctly for relative-path dependencies

When composer dependencies are installed from relative paths, directories listed in the dependency's expose are not accessible in the expected public path

That's probably got something to do with the symlinking of of folders. Did you try using the symlink option in your composer file?
{
    "repositories": [
        {
            "type": "path",
            "url": "../../packages/my-package",
            "options": {
                "symlink": false
            }
        }
    ]
}

Does using a custom behavior affect this issue?

Probably same bug as #34. I'd vote to close


Introduce apt repository config and deb resources

This PR introduces the possibility to optionally deploy from a custom apt repository, a custom TImescaleDB version, or from custom deb resource. By default, it will pull the latest version from the official third party repository.

I don't think this approach will work quite as expected..
The install event is only emitted once per unit at the beginning of a charm's lifecycle (https://juju.is/docs/sdk/install-event). If at that point the user has not yet specified debs as resource, charm will install packages from the default repo. If you provide debs at a later stage by using "juju attach-resource" the install hook will not fire again and your debs will not be installed.
Also a more standard approach is for a user to provide a PPA and have packages installed from it instead of the standard repo.

Thanks for the input. Indeed, I did not consider adding resources post-install... I can add the custom PPA config for the charm, but I think debs could still be useful in case the charm is to be run in a very confined environment? Should we keep it around, with the caveat that it is a sub-par experience, or should we just remove it?

that is up to you.. you can keep the debs, but make it clear in the readme, that it may not always work - you need to attach resource before the install hook fires..

I've run a test with the new code changes in the following way:

deployed the app configured to TimescaleDB version 2.9.3
tested that TimescaleDB works on a database by enabling the extension, verified the version
changed the config to use latest
observed the packages are updated
tested that TimescaleDB still works and also triggered an update for the extension, verified the version is correct


pv3 test for uplc tx eval

@jmhrpr ?

Sorry, see https://github.com/aiken-lang/aiken/pull/1002/files


New option: color shown as input background in colorpicker

I was looking for a way to preview the selected color in a flat colorpicker. Using the background of the text input gives a nice area for the preview without increasing the colorpicker footprint. I included an "isDark" test function to ensure that a contrasting text color is used.

Have since looked through tinycolor docs... already has isDark, my implementation of the feature isn't optimal.


Support for Android 4.0.3

A great app and very useful!
I was wondering how difficult it would be to support Android 4.0.3?
I have a bunch of older devices that I use as dashboards, all running Android ICS.
Thanks!

I'm sorry, but I have no interest in working out what it would take to get it to work on something that old.
All the source is here, so feel free to see if you get it to build with that as a target and I'll look at any pull request that doesn't break anything.


Creates correct IAM permissions for EC2 boxes if not available

Get rid of iamtest.js and then :shipit:


remove correlationIdLookupHelper.

This is a continuation of the work started in BaseSDK: [New] Interface for ApplicationId Lookup (IApplicationIdProvider)
This ultimately fixes issue WebSDK:853 where the Endpoint for CorrelationId could not be customized.
RequestTelemetryModule and DependencyTelemetryModule will now rely on a configuration level ApplicationIdProvider to resolve Ids used for correlation. This provider will be configured with default settings on Nuget install.

[ ] I ran Unit Tests locally.

For significant contributions please make sure you have completed the following items:

[ ] Changes in public surface reviewed

[ ] Design discussion issue #

[ ] CHANGELOG.md updated with one line description of the fix, and a link to the original issue.

The PR will trigger build, unit tests, and functional tests automatically. If your PR was submitted from fork - mention one of committers to initiate the build for you.
If you want to to re-run the build/tests, the easiest way is to simply Close and Re-Open this same PR. (Just click 'close pull request' followed by 'open pull request' buttons at the bottom of the PR)

Please follow [these] (https://github.com/Microsoft/ApplicationInsights-aspnetcore/blob/develop/Readme.md) instructions to build and test locally.

TODO:

Should wait until 2.6.0-beta3 is officially published before merging this PR.
What is the correct way to customize TelemetryConfiguration defaults?

TODO: We need a configuration story for DictionaryApplicationIdProvider


Add body to unit tests

The adds the body to parser unit tests as well as updating the test cases for that occasion.

The CI fails because some publishers are missing the test case for the body attribute.
When I ran the test case generation script, I noticed some publishers may have incorrectly extracted attributes. Did you roughly check the extracted bodies?

Weirdly the order of the parser versions in the JSON for SZ and TheNation are also in a different order compared to the current commit. I think this may be related to the path globbing, which may not guarantee a deterministic list order.

Weirdly the order of the parser versions in the JSON for SZ and TheNation are also in a different order compared to the current commit. I think this may be related to the path globbing, which may not guarantee a deterministic list order.

I don't quite get this one. If I look into the JSONs the parser versions are in the same order as in the master. Could you provide me with a bit more context? I think I'm missing your point here

Weirdly the order of the parser versions in the JSON for SZ and TheNation are also in a different order compared to the current commit. I think this may be related to the path globbing, which may not guarantee a deterministic list order.

I don't quite get this one. If I look into the JSONs the parser versions are in the same order as in the master branch. Could you provide me with a bit more context? I think I'm missing your point here.

It is essentially the same as with the order of attributes. I just have not pushed the changes as agreed. You can see the diff for TheNation.json here: https://www.diffchecker.com/6S7112p6/

@dobbersc Is there anything left open here? I would like to merge this PR.


i18n Filter Special Use-case not updating if language changes?

in http://doshprompt.github.io/angular-localization/ I noticed that if I change the language, it won't update  the texts. is it by design? if so, I need to use Parameterized Arguments instead?
currently I use like this to work around:
$scope.results = {
    fooMessage: function() {
        return $filter('i18n')('demo.foo' + localeConf.delimiter + JSON.stringify({
            firstName: 'John',
            lastName: 'Smith'
        }));
    }
};

{{results.fooMessage()}}

Please use parameters when accessing the $filter programmatically:
var user = {
    firstName: 'John',
    lastName: 'Smith'
};
$filter('i18n')('demo.foo', user);

But I would highly recommend using the template filter instead! Otherwise, the $filter execution needs to be wrapped inside the locale.ready promise paradigm.
var user = {
    firstName: 'John',
    lastName: 'Smith'
};
locale.ready('common').then(function() {
    $scope.fullName = $filter('i18n')('common.name', user);
});

Recommended Usage
$scope.user = {
    firstName: 'John',
    lastName: 'Smith'
};

{{ demo.foo | i18n:user }}

@unruledboy please look at @bretkikehara's comment above. Another thing to note is that if you use the $filter('i18n') approach in your JS you will have to manually watch for language change events and rerun your $filter('i18n') code to assign the newly minted string values to your scope variables.
http://doshprompt.github.io/angular-localization/##events


Add kwarg 'side' to np.searchsorted

As title. Requires 'side' to be a runtime str const.
Closes #2775

Codecov Report

Merging #2821 into master will increase coverage by <.01%.
The diff coverage is 64.4%.

@@            Coverage Diff             @@
##           master    #2821      +/-   ##
==========================================
+ Coverage   86.17%   86.17%   +<.01%
==========================================
  Files         323      323
  Lines       67286    67323      +37
  Branches     7554     7558       +4
==========================================
+ Hits        57986    58018      +32
- Misses       8096     8099       +3
- Partials     1204     1206       +2

Looks good.  Thanks!


Refactor

Refactored application to have similar look and feel to MODU

cadlwellc. I know of a project requested to update ASAM to include other maritime data. Are you contributing changes to add MODU to the ASAM app? Jim

jamesresslernga. I am not adding MODU to the ASAM app. We have been working on creating a separate app for MODU. In the process we wanted to keep MODU and ASAM's look and feel similar and so I've applied some changes to support that.

caldwellc. We are seeking an app with multiple maritime alerts. Are you aware of www.igapp.com?
If you can share who you are working for, please correspond with<EMAIL_ADDRESS>


Static web app API  size of the function content was too large

Describe the bug
2 weeks ago the build went through without a problem . Now I updated frontend part and I'm getting function content was too large. It is strange that it happened without any changes to code.
There some problem with the build when i compare with the successful one  - Error TS1192: Module '"/github/workspace/api/node_modules/@prisma/client/runtime/index"' has no default export.
2022-11-30T09:21:57.1601556Z node_modules/.prisma/client/index.d.ts(3,8): error TS1192: Module '"/github/workspace/api/node_modules/@prisma/client/runtime/index"' has no default export.
2022-11-30T09:21:58.4439556Z
2022-11-30T09:21:58.4440122Z
2022-11-30T09:21:58.4440617Z ---End of Oryx build logs---
2022-11-30T09:21:58.4543628Z Oryx was unable to determine the build steps. Continuing assuming the assets in this folder are already built. If this is an unexpected behavior please contact support.
2022-11-30T09:21:58.4544517Z Function Runtime Information. OS: linux, Functions Runtime: ~4, node version: 16
2022-11-30T09:21:58.4545126Z Finished building function app with Oryx
2022-11-30T09:21:59.3718421Z Zipping Api Artifacts
2022-11-30T09:22:18.8732640Z Done Zipping Api Artifacts
2022-11-30T09:22:19.2410808Z The content server has rejected the request with: BadRequest
2022-11-30T09:22:19.2411621Z Reason: The size of the function content was too large. The limit for this Static Web App is 104857600 bytes.
2022-11-30T09:22:19.3751045Z

Getting the same error on ours, however, this is a new app for us, so cannot verify any previous working condition.
---End of Oryx build logs---
220
Function Runtime Information. OS: linux, Functions Runtime: ~4, node version: 16
221
Finished building function app with Oryx
222
Zipping Api Artifacts
223
Done Zipping Api Artifacts
224
The content server has rejected the request with: BadRequest
225
Reason: The size of the function content was too large. The limit for this Static Web App is 104857600 bytes.
226

@audriusl would you mind sharing more details about your site like your default hostname or the deployment ID. Feel free to create a support ticket if you do not want to share this information here.

Hi,
I moved to cloud functions, I think it it your api size limit, because I use prisma.

Yeah, this is a problem on MS side. In case anyone needs a workaround (before it's fixed), see this issue, particularly this answer: https://github.com/Azure/static-web-apps/issues/214#issuecomment-1337428062

can the problem be fixed by purchasing the non free SWA tier and/or putting the API in its own app?

`

task: AzureStaticWebApp@0
displayName: "Development Build and Deploy"
condition: eq(variables['Build.SourceBranchName'], 'development')
inputs:
app_location: "./"
api_location: ""
output_location: "build"
app_build_command: 'npm run build'
api_build_command: 'rm -rf ./node_modules/@next/swc-* && rm -rf ./.next/cache'
env:
azure_static_web_apps_api_token: $(deployment-token-dev)
`
This is my configuration for the static app which is built in nextJS. I tried removing the cache but as the modules are expanding the size does not remain below 100 MB. I need a solution to this.
These configs will work for apps below 100MB but not above.
Can this be solved or is there any other solution ?

Having exactly the same issue. Using all the solutions on here and the other linked issue worked... Until I added an azure sql database connection -  adding the api associated with that pushes the function content over the top and now I'm back to this error. Any updates on solutions? I can't find any


Enhance installation of docker cli

make the sed expression more readable
omit installing unneeded docker components

Thanks for the PR @J0WI, I'll have a look at it later.

Nicely done! 👍
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker-bench-security-original                latest              4134a8b7c7dc        7 seconds ago       207MB
docker-bench-security_docker-bench-security   latest              cf3ae0268e97        2 minutes ago       79.8MB
docker/docker-bench-security                  latest              f8634ae54896        17 minutes ago      79.8MB
docker-bench-security-j0wi                    latest              f8634ae54896        17 minutes ago      79.8MB


[OBSDEF-19545] Convert button labels to title case

Summary of the changes
OBSDEF-19545
Convert button labels to title case
Summary
Explain the issue/feature
As per DDS,  title case for Buttons should be used. As of now casing is inconsistent for buttons.
Root Cause
en.json has inconsistent labels for buttons, for few buttons uppercase is used.
What's the fix?
CSS property text-transform only capitalizes first letter of the word. So if word is already in uppercase it doesn't lowercase rest of the letters.
Hence, lowercasing the words first then capitalizing words.
Screenshot/GIF
Before
(Attaching few screenshots only, please verify on possible button workflows)

After

Where to test ?
http://<IP_ADDRESS>:3007/
eyJhbGciOiJSUzI1NiIsImtpZCI6Im9RNE1BLVlFNU5GYi1qZDdrTld1OG9yVmpmZXhHcW9USkJEWWZNM1MxV1UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJzdmMtb2JqZWN0c2NhbGUtZG9tYWluLWMyMCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJvYmplY3RzY2FsZS1vcGVyYXRvci10b2tlbi1qYjQycSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJvYmplY3RzY2FsZS1vcGVyYXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImJmYThhN2Q5LTczNWItNGFiOC1hZTNkLTRmMmFkOGM0Y2Y3YyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpzdmMtb2JqZWN0c2NhbGUtZG9tYWluLWMyMDpvYmplY3RzY2FsZS1vcGVyYXRvciJ9.cljKnTuB-uIXnDfawsy_QqzrBr5bOvZyT2KxqY9h9bPSknpDjFqGKk7cbQnXu20Eei3s22X4330BvKOWr-qdEK3X9xw4BRd_aNClwHpqankj5kz8DxOLcdqQ1doG26EJp8GWhqxQDiJzD4xX8bABv5w_Z-Fg9GyJlY7CHtRit5vCaqPw9zHVNyHkv8YtvimluFvC2ici2nS5zpi04cddOiZTDXU6Q6_fHXIYvanXaaEqsU6BpV21NMJ5iX0_SNbKJcHUwxEtwkXPXho76Sf0ve08KvE0rBQFhBf5tCkZfnrDLTNUuTQ8it3AMVQyCgh_x3O4fxfWfZ4-gJjubcN_GA

Scenarios verified/Documentation link
Verified different buttons on various workflows.
Checked workflows with custom signpost like Issues, Events, Account list etc
Verified on Platform(s)
Select the platforms on which you have verified the changes

[ ] vSphere plugin
[ ] OpenShift
[x] Standalone

Peer Tester Name
@Malayvarma27

Found one place where this change is needed. Administration > SAML service provider. Choose button is all caps. Rest LGTM

Thanks, Malay, this will be taken care in plugin repo PR as mentioned entity is not a button and a label.


Using MSYS2's clangd

I installed clangd in MSYS2 but I can't use it with this plugin.
It'll be great if the plugin also supports usage via MSYS2.
My command:
"command": ["C:/msys64/msys2_shell.cmd", "-defterm", "-here", "-no-start", "-mingw64", "-c", "clangd"],

The command is overwritten internally. You could try to place a script named clangd on path and call clangd there.

That would work, but I do hope the plugin has some way to do this automatically.

Intention of packages like that is to manage the server themselves. Otherwise you might not be utilizing the full advantage of it and you could potentially just not use it at all and create custom LSP server configuration instead.
(That said, this comes up quite often that people want to mix local server and helper package so not sure ...)

I may add that option in the future.

I would like to be able to set binary option to custom path to clangd.exe
This way I can choose clangd per project, in .sublime-project file

Adding on to what has already been said.
The clangd binary on my system is called clangd-12 and is not found by this package. I was previously able to override the command setting in .sublime-project, but I am no longer able to do so now that the clangd server configuration was split from the LSP package.

As a temporary workaround you can still create custom clangd configuration instead of using this package.
Mentioned in release notes: https://github.com/sublimelsp/LSP/releases/tag/4070-1.23.0


Width not changing on ContextMenu - OpenLayers 5.3

I using openLayers 5.3 and ol-contextmenu 3.3 but editing width property wont change the value.
In the jsfiddle provided i tried with openlayers 4.6.5 and i could do it but not anymore.
//CONTEXT MENU ITEMS
var pin_icon = 'http://cdn.rawgit.com/jonataswalker/ol-contextmenu/master/examples/img/pin_drop.png';
var center_icon = 'http://cdn.rawgit.com/jonataswalker/ol-contextmenu/master/examples/img/center.png';
var list_icon = 'http://cdn.rawgit.com/jonataswalker/ol-contextmenu/master/examples/img/view_list.png';

var contextmenu_items = [{
    text: 'Center map on pointer',
    classname: 'bold',
    icon: center_icon,
    callback: center
},
{
    text: 'Add a Marker',
    icon: pin_icon,
    callback: marker
}
];

var contextmenu = new ContextMenu([
    {
    width: 250, //width stays as 150
    items: contextmenu_items,
},
]);

var contextmenu = new ContextMenu([     {     width: 250, //width stays as 150     items: contextmenu_items, }, ]);
The contextmenu options seems to be wrapped in an array, I tried your code and it worked when those are removed. Do you get any items in the menu at all?

Closing due to inactivity.


Spring Cloud Sleuth GCP: every time spans are sent, they are sent to localhost as well

There should be a way to turn off the default ZipkinRestTemplateSenderConfiguration when using Spring Cloud GCP. I would prefer if it was turned off by default.
Currently, every time spans are being sent, a completely unnecessary call to http://localhost:9411/api/v2/spans, and it fails 100% of the time because there is nothing there to answer.
The only reason I saw it was because I used logging.level.org.springframework.cloud=TRACE.
I tried to fix it by setting spring.zipkin.enabled=false but it crashes on startup because of ZipkinBackwardsCompatibilityAutoConfiguration.
If there already is a way to turn this off I would be very happy. Anyway my opinion is it should be off by default because I have already chosen spring.cloud.gcp.trace.enabled=true.
Originally posted as https://github.com/spring-cloud/spring-cloud-sleuth/issues/1377 but probably better to originate a fix in this repo instead.
Thanks.

What is the purpose of ZipkinRestTemplateSenderConfiguration and how can one turn it off?@marcingrzejszczak

/cc @TYsewyn
Was discussing w/ @marcingrzejszczak in person. We think this is what's happening:

TraceAutoConfiguration is picking up multiple Reporters.
ZipkinAutoConfiguration configures a Zipkin Reporter that's conditional on the Zipkin Reporter's bean name.
StackdriverTraceAutoConfiguration configures Stackdriver's Zipkin Reporter, using its own bean name.

As a result, both reporters are picked up. During Sleuth's 2.1 RC releases, Stackdriver autoconfiguration used the same bean name as Zipkin, so that there is no duplication. For Sleuth's 2.1 GA release, the bean name changed and so now we have duplicate.
For @marcingrzejszczak and @TYsewyn: Stackdriver Zipkin Reporter is meant to use existing Zipkin/Brave integrations (e.g., RestTemplate, etc), but only replacing the reporter.  Would it make sense to simply override the existing Zipkin sender/reporter bean names?

@bbzg could i trouble to share the pom? It would help to know what BOMs you are using and what direct dependencies you have as well (and the versions)

I was about to ask the same, because I think this might already be solved with Greenwich.SR1. 🤔

Related issue - https://github.com/spring-cloud/spring-cloud-sleuth/pull/1192

Follow up question is - what did it have both Zipkin Sender and Stackdriver Sender so that one of them needed to be disabled? According to @marcingrzejszczak that shouldn't be happening. We are suspecting somewhere the spring-cloud-sleuth-zipkin is being pulled in. Seeing the pom.xml would help.

@saturnism this is indeed the case when you're using GCP 1.1.x or older - we couldn't align the changes in Spring Cloud Sleuth core with the ones made here for the Greenwich release.
It's the auto configuration module of GCP that's pulling in this dependency.

Yeah, just confirmed that spring-cloud-gcp-starter-trace is pulling in spring-cloud-sleuth-zipkin, and thus the duplicate sender.  Up until all the spring-cloud-sleuth 2.1.0.RCx we've been overriding the sender (i.e., only 1 sender). But it seems like the multi-sender was changed just for the actual 2.1.0 RELEASE. With multi-sender, we should remove spring-cloud-sleuth-zipkin dependency from our starter. It looks like it's already done in master.
In the mean time, I tried to exclude spring-cloud-sleuth-zipkin from the dependencies:
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-gcp-starter-trace</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-sleuth-zipkin</artifactId>
    </exclusion>
  </exclusions>
</dependency>

However, this not only disabled Zipkin sender to localhost, but also disabled sender to Stackdriver Trace, because our autoconfigure only configures the Sender and not the Reporter. This worked for all the Spring Cloud Sleuth 2.1 RCs.
I'm assuming the backwards compatibility stuff should've:

take the sender spring-cloud-gcp produced
produce the zipkin reporter and so there is no duplicate reporters

This doesn't seem to be working. ZipkinBackwardsCompatibilityAutoConfiguration is producing the reporter code, however it's doesn't seem to be using the correct bean name.
To validate this assumption, @marcingrzejszczak and I tried a workaround:

Exclude spring-cloud-sleuth-zipkin as before.
Produce our own Reporter@Bean
public Reporter<Span> reporter(ReporterMetrics reporterMetrics,
   @Qualifier("stackdriverSender") Sender sender) {
     return AsyncReporter.builder(sender).queuedMaxSpans(1000)
       .messageTimeout(1, TimeUnit.SECONDS)
       .metrics(reporterMetrics).build(StackdriverEncoder.V1);
 }

I created a PR for the 1.1.x branch to verify the expected behaviour with the ZipkinBackwardsCompatibilityAutoConfiguration in place.
This should confirm that @bbzg is using an older version of Spring Cloud.

It looks like we just need to backport #1383 to the 1.1.x branch.

That would indeed be the conclusion of this https://github.com/spring-cloud/spring-cloud-sleuth/issues/1400#issuecomment-512231850

We'd be happy to accept another contribution form you, since you submitted the original PR!

@saturnism This is what I use:
allprojects {
    apply plugin: "io.spring.dependency-management"

    dependencyManagement {
        imports {
            mavenBom 'org.springframework.boot:spring-boot-dependencies:2.1.5.RELEASE'
            mavenBom 'com.google.cloud:google-cloud-bom:0.94.0-alpha'
            mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Greenwich.RELEASE'
        }

    // ...

Oh yeah, you might want to upgrade Spring Boot to 2.1.6.RELEASE and Spring Cloud to Greenwich.SR2. :)
In the meantime we backported this functionality from 1.2.x to 1.1.x.
If you upgrade Spring Cloud you should be able to disable Zipkin with spring.zipkin.enabled=false.

awesome! thanks all for the help! I suppose on GCP side, we need to upgrade the dependency version for the next 1.1.x revision release.

No, it should be good for this issue. We changed things on GCP side, not on Sleuth side.

Fixed by #1744


Large Build Size

Each HTML file currently averages a size of 2.5MB, likely due to repetitive inclusion of CSS/JS files. Could we explore separating these resources to reduce redundancy?

The reason every shared CSS and JS is included in every page, is because users can start navigating the site starting from any arbitrary page on the website.
Despite this, most CSS and JS are cached, so only the first page loads ~2.5mb over the network, afterwards it uses the cache.
Another potentially large contributer might be a large explorer list (so many pages). These are also cached however.
If you want to reduce the bundle size, disable feature you don't use. For example, Katex uses about ~800kb (or 1/3 of the bundle size.) If you don't use this, it will save you a bit of bundle size.
Can you please verify that navigating between pages uses the cache? If it doesn't, that would require a change or fix to the caching policy.

Despite this, most CSS and JS are cached, so only the first page loads ~2.5mb over the network, afterwards it uses the cache.
I'm a bit confused about how that works. If the content (HTML, JS) is bundled into a single file(except fonts, css and few js scripts), how does caching would work only some of the data inside that file? And whenever i navigate between file it does fetch entire content including duplication of many js bundles.

Additionally, regarding unused features: I already disabled KaTeX, but this didn't affect the overall bundle size. On inspecting the HTML, I noticed the KaTeX library's code is still bundled into every HTML file.

Despite this, most CSS and JS are cached, so only the first page loads ~2.5mb over the network, afterwards it uses the cache.

I'm a bit confused about how that works. If the content (HTML, JS) is bundled into a single file(except fonts, css and few js scripts), how does caching would work only some of the data inside that file? And whenever i navigate between file it does fetch entire content including duplication of many js bundles.
Additionally, regarding unused features: I already disabled KaTeX, but this didn't affect the overall bundle size. On inspecting the HTML, I noticed the KaTeX library's code is still bundled into every HTML file.

There is very few inlined JS/CSS. And yes, the other files (index.css, prescript.js, postscript.js, a few static icons, etc.) are indeed fetched on page load (or more accurately, nav event). These are cached. So after an initial network fetch, these are cached in your browser. They are once again fetched on nav, but from the browser cache instead, which is significantly faster than the network.
As for the KaTeX part, do you mind sharing your quartz.config.ts file? Or preferable link your repo if public, so I can do some investigation?

this is my config and it's deployed on https://logs.anokha.me. and it fetch 700kb(compressed version of 2.5mb) of html on every page load which is a lot i think
import type { QuartzConfig } from "./quartz/cfg";
import * as Plugin from "./quartz/plugins";

/**
 * Quartz 4.0 Configuration
 *
 * See https://quartz.jzhao.xyz/configuration for more information.
 */
const config: QuartzConfig = {
	configuration: {
		pageTitle: "Anokha Logs",
		pageTitleSuffix: "",
		enableSPA: true,
		enablePopovers: true,
		analytics: {
			provider: "plausible",
		},
		locale: "en-US",
		baseUrl: "logs.anokha.me",
		ignorePatterns: ["private", "templates", ".obsidian"],
		defaultDateType: "created",
		generateSocialImages: false,
		theme: {
			fontOrigin: "googleFonts",
			cdnCaching: true,
			typography: {
				header: "Sour Gummy",
				body: "Merriweather",
				code: "JetBrains Mono",
			},
			colors: {
				lightMode: {
					light: "#fefefe",
					lightgray: "#f4f6fa",
					gray: "#94a3b8",
					darkgray: "#334155",
					dark: "#0f172a",
					secondary: "#6366f1",
					tertiary: "#8b5cf6",
					highlight: "rgba(99, 102, 241, 0.08)",
					textHighlight: "#f9a8d488",
				},
				darkMode: {
					light: "#0f172a",
					lightgray: "#1e293b",
					gray: "#94a3b8",
					darkgray: "#e2e8f0",
					dark: "#f8fafc",
					secondary: "#818cf8",
					tertiary: "#a78bfa",
					highlight: "rgba(99, 102, 241, 0.12)",
					textHighlight: "#f9a8d444",
				},
			},
		},
	},
	plugins: {
		transformers: [
			Plugin.FrontMatter(),
			Plugin.SyntaxHighlighting({
				theme: {
					light: "github-light",
					dark: "github-dark",
				},
				keepBackground: false,
			}),
			Plugin.ObsidianFlavoredMarkdown({ enableInHtmlEmbed: false }),
			Plugin.GitHubFlavoredMarkdown(),
			Plugin.TableOfContents(),
			Plugin.Description(),
		],
		filters: [Plugin.RemoveDrafts()],
		emitters: [
			Plugin.AliasRedirects(),
			Plugin.ComponentResources(),
			Plugin.ContentPage(),
			Plugin.FolderPage(),
			Plugin.TagPage(),
			Plugin.Assets(),
			Plugin.Static(),
		],
	},
};

export default config;

ah the increase in bundle size is due to the recent support for mermaid (in which we dump the JS onto the final HTML files https://github.com/jackyzha0/quartz/pull/1575)
we can probably update the emitter to dump mermaid.run to reduce bundle size

thanks for the insight, @aarnphm removing mermaid did the trick—my build size has dropped back to norma. appreciate the suggestion, and looking forward to the plugin system when you get around to it

For other folks who just need to know what to change in quartz.config.ts:
Search for the ObsidianFlavoredMarkdown plugin line and make sure it looks like this:
Plugin.ObsidianFlavoredMarkdown({ enableInHtmlEmbed: false, mermaid: false }),

Disabling mermaid did the trick for me also.
But my overall bundle is still pretty big (about 80MB) comparing to the source content (about 1.5MB)
I noticed that almost 80% of generated html is just a huge list of explorer-content. The explorer-content is static and stays the same on all pages. It looks like a good idea to load it dynamically on page.

I removed the graph component from my setup for a further pagespeed boost. See my blog post https://vxlabs.com/2024/11/23/speed-up-obsidian-quartz-page-loads/ for details about what I did, and what the contributions wnere of mermaid.js and the graph component.

There is a solution for this. To separate out mermaid components and dump the inline into postscript.js
but currently not ideal.

Reduced my very basic build of a couple dozen pages from 135M (63M compressed) to 1.8M (832K compressed) by this one simple trick (mermaid: false).
I don't need mermaid thankfully, but if I did I'd consider this completely unusable :)
Posting this because 135M -> 1.8M is ridiculous idk

Until this issue is fixed, mermaid should be disabled by default and the documentation should have a big red warning for those who want to enable it.
All the HTML pages of my site went from 5-10KB to 700KB (compressed) because of this, which totally undermines the point of generating a "fast" static site from Markdown.


Platform dependent extra_compile_args.

This removes the compile args for a install on windows.
I have tested pip installing this branch successfully with appveyor here
I see in #87 @mileslucas works on a windows machine, how did you get around the compile arg issues. I have it on my windows tablet and on appveyor  e.g. here
Command "C:\Python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\pip-install-k56ib4ut\\Starfish\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\appveyor\AppData\Local\Temp\1\pip-record-7fltmuk4\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\appveyor\AppData\Local\Temp\1\pip-install-k56ib4ut\Starfish\
Command exited with code 1

I wonder what is different for you if. you do not get these errors.

That’s quirky, huh. My machine has up to date installs of visual studio c compiler so that could be it. I also develop using the git bash which uses MinGW to emulate bash, although I’ve been able to install using power shell and the built in terminal for PyCharm.
I also want to note that as I keep rebuilding parts of the code I want to override the cython covariance module with PyTorch Gaussian process kernels. See the discussion of the emulator refactor for that. This would remove all of the cython building and greatly reduce complexity as a trade off for users having to manually install PyTorch.

Well if it is going to be eventually removed, this PR doesnºt need to be included and I can just point my use case to this branch for the time being.

I'm fine with seeing the covariance.pyx module go (and with it, the cython dependency) if @mileslucas comes up with a solid PyTorch implementation. The benefit of the covariance.pyx is that I currently understand what's going on, but I'll do my best to learn the relevant parts of PyTorch as Miles implements them.
It seems like PyTorch has a future ahead of it, so I guess it's reasonable to include it as a core dependency. Hopefully we can make this as easy to install as possible to avoid hassling users (any more than they are already hassled by the cython dependency...).

So I've been really tied up with the emulator but I'm starting to consider looking at the Order likelihood model and think about how to recreate it in PyTorch or some other library. I think the final decision to see if PyTorch should be used will definitely have to be based on the speed and performance of the MAP estimations and Samples from the MCMC. I think in either case there will be some third-party solution to GP kernels and conditional marginal likelihoods for multivariate normal distributions.


This plugin was built for an outdated core ABI (39). Please rebuild the plugin with the latest API (81)

Hello!
Not sure if it's just my env/binexport build, but I'm getting this error when running this Windows 10 on Binja 4.2.6455.
[Default] Plugin module 'C:\Users\User\AppData\Roaming\Binary Ninja\plugins\binexport12_binaryninja.dll' failed to load
[Default] This plugin was built for an outdated core ABI (39). Please rebuild the plugin with the latest API (81).

This is BinExport being outdated (possibly because a new Binary Ninja stable just came out and there's no new release build of BinExport against the new stable yet?). You'll need to rebuild it from source against the revision of the Binary Ninja API you are using.
While this script is for Linux and Mac, the steps for swapping the revision I've found to work the same on Windows:

find your revision in the api_REVISION.txt file with your Binary Ninja installation
change the dev commit hash in /cmake/BinExportDeps.cmake to that revision
run regenerate-api-stubs.sh against that revision of the API
build as described in the BinExport instructions, adding the -DBINEXPORT_BINARYNINJA_CHANNEL=DEV option when configuring

The resulting DLL should load properly.

Thank you very much for that!
I managed to build the DLL on Sunday, just didn't have much time to post my findings.
(It took a while - as I haven't built anything similar in the past from source - definitely hadn't used ninja / llvm)
I was able to run binexport from within binja but haven't been able to see the UI differ window in it.
I used bindiff's UI for viewing -> There are a couple of error messages in the log that seem related to the parsing, BUT overall exporting seems to be working.


Fix: Add intl to Registration heading and form

Feature Request
Is your feature request related to a problem? Please describe.
The heading and form only display in English.
Describe the solution you'd like
As a user, I would like internationalization for the heading and form display.

Hi @camitaylor, please assign this issue on me, working on it


Allow the actual value to be a template

We, currently, have a limitation described in the documentation - value templates should always be the expected value.
We need to change this and allow value templates to be included within the equality validation process as an actual value.

This issue is just too superficial. We should ask ourselves WHY we need such a feature.
And.. it appears that the answer is unclear. There may be some applications for such feature but, in most cases, it looks like its existence would suppose violation of the responsibilities segregation.
For example, we cannot have this line of code within a complex equalizer - this.Differentiate(x => x.Property, Value.Empty) - because it simply makes no sense. It demands the execution of assertions based on the expected value only and this is quite counterintuitive - as if this is not an equalization profile but some kind of a validation profile.
If there are some concrete scenarios that require the existence of the described feature, we shall re-open this issue and discuss it. Moreover, we have a candidate implementation in #52.


licence

Hello, I want to use your script for my projects.
Unfortunately, I did not find the LICENSE, what is the license please?

Oh my gosh, yea it is licensed under MIT. Feel free to use it however you like :)

thank you very much ^^

I updated the license file in the repo as well so don't forget to pull

yes, tank !


tour: code sample is "undefined"

Context: http://tour.golang.org/welcome/4
The code sample of this page is undefined instead of something sensible.
Using Chromium 44.0.2403.89 (64-bit) on Linux.

I can't reproduce it on google chrome 47.0.2526.80 m (64-bit) on windows. Could you turn-on developer tools? And is there something errors?

Console is empty. XHR requests don't show anything unusual.

Frankly, I can't seem to reproduce it either if I go incognito.