[SPARK-17647][SQL] Fix backslash escaping in 'LIKE' patterns.

What changes were proposed in this pull request?
This patch fixes a bug in the way LIKE patterns are translated to Java regexes. The bug causes any character following an escaped backslash to be escaped, i.e. there is double-escaping.
A concrete example is the following pattern:'%\\%'. The expected Java regex that this pattern should correspond to (according to the behavior described below) is '.*\\.*', however the current situation leads to '.*\\%' instead.

Update: in light of the discussion that ensued, we should explicitly define the expected behaviour of LIKE expressions, especially in certain edge cases. With the help of @gatorsmile, we put together a list of different RDBMS and their variations wrt to certain standard features.

RDBMS\Features
Wildcards
Default escape [1]
Case sensitivity

MS SQL Server
_, %, [], [^]
none
no

Oracle
_, %
none
yes

DB2 z/OS
_, %
none
yes

MySQL
_, %
none
no

PostreSQL
_, %
\
yes

Hive
_, %
none
yes

Current Spark
_, %
\
yes

[1] Default escape character: most systems do not have a default escape character, instead the user can specify one by calling a like expression with an escape argument [A] LIKE [B] ESCAPE [C]. This syntax is currently not supported by Spark, however I would volunteer to implement this feature in a separate ticket.
The specifications are often quite terse and certain scenarios are undocumented, so here is a list of scenarios that I am uncertain about and would appreciate any input. Specifically I am looking for feedback on whether or not Spark's current behavior should be changed.

[x] Ending a pattern with the escape sequence, e.g. like 'a\'.
PostreSQL gives an error: 'LIKE pattern must not end with escape character', which I personally find logical. Currently, Spark allows "non-terminated" escapes and simply ignores them as part of the pattern.
According to DB2's documentation, ending a pattern in an escape character is invalid.
Proposed new behaviour in Spark: throw AnalysisException
[x] Empty input, e.g. '' like ''
Postgres and DB2 will match empty input only if the pattern is empty as well, any other combination of empty input will not match. Spark currently follows this rule.
[x] Escape before a non-special character, e.g. 'a' like '\a'.
Escaping a non-wildcard character is not really documented but PostgreSQL just treats it verbatim, which I also find the least surprising behavior. Spark does the same.
According to DB2's documentation, it is invalid to follow an escape character with anything other than an escape character, an underscore or a percent sign.
Proposed new behaviour in Spark: throw AnalysisException

The current specification is also described in the operator's source code in this patch.
How was this patch tested?
Extra case in regex unit tests.

Test build #66547 has started for PR 15398 at commit 5f190eb.

I'll add some more tests

Test build #66549 has started for PR 15398 at commit c76fad3.

Test build #66552 has started for PR 15398 at commit 0610dc6.

Test build #66547 has finished for PR 15398 at commit 5f190eb.

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/66547/
Test FAILed.

Test build #66552 has finished for PR 15398 at commit 0610dc6.

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/66552/
Test FAILed.

Test build #66549 has finished for PR 15398 at commit c76fad3.

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

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

Merged build finished. Test FAILed.

Test build #66561 has started for PR 15398 at commit 64df4cf.

Every non-java-pattern character is quoted now, updated the StringUtils test suite

Test build #66561 has finished for PR 15398 at commit 64df4cf.

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/66561/
Test PASSed.

cc @viirya, I changed your original code

Also cc @yhuai and @JoshRosen @mengxr Please check whether the changes here can satisfy what you want. Thanks!

@jodersky Thank you for the patch! How about we add a summary related to the behavior of escape in pr description and jira?

I think we should consider other databases behavior and see if our behavior makes sense.

I see. Agree. Will do an investigation with @jodersky Thanks!

Test build #66918 has started for PR 15398 at commit 6584853.

thanks @yhuai for the feedback! I enumerated some issues in the pull request description, do you have any input on them? My personal opinion is that we should change the regex matching to conform to point 1.

Test build #66918 has finished for PR 15398 at commit 6584853.

This patch fails Scala style 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/66918/
Test FAILed.

The style issues are weird. Running scalastyle in sbt worked fine...

Test build #66974 has started for PR 15398 at commit ff6a68c.

Test build #66974 has finished for PR 15398 at commit ff6a68c.

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

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

Merged build finished. Test PASSed.

As @jodersky said, SQL2003 syntax is like
WHERE expression [NOT] LIKE string_pattern [ESCAPE escape_sequence]

- ESCAPE escape_sequence
Allows you to search for the presence of characters that would normally be interpreted as wildcards.

@yhuai @rxin Should we allow users to specify the ESCAPE characters? Thanks!

Sounds like a good idea. It doesn't need to be in this PR though ...

@jodersky Please follow @rxin 's suggestion and submit a separate PR to support it. Thanks!

Thanks for the feedback. It was my plan to add the escape syntax in a separate PR. The main questions that I'm concerned with here are the points I enumerate in this PRs description, namely:

should spark allow ending patterns in the escape character?
how to handle empty input and/or patterns?
escaping "regular" characters?

Also cc @yhuai , @JoshRosen and @mengxr

For escaping before a non-special character, I don't know if DB2 is special. Because as I try, MySQL behaving like PostgreSQL.

That is a design decision we need to make. Personally, MySQL and PostgreSQL are not good examples we should follow. Let us ask ourselves a simple question:

When users input '\a', what is their expected results?

Also checked SQL Server. It behaves differently from both Postgre and DB2. It simply ignores it.

If there is no character after an escape character in the LIKE pattern, the pattern is not valid and the LIKE returns FALSE. If the character after an escape character is not a wildcard character, the escape character is discarded and the character following the escape is treated as a regular character in the pattern. This includes the percent sign (%), underscore (_), and left bracket ([) wildcard characters when they are enclosed in double brackets ([ ]). Also, within the double bracket characters ([ ]), escape characters can be used and the caret (^), hyphen (-), and right bracket (]) can be escaped.

Let me check Oracle now

If the character after an escape character is not a wildcard character, the escape character is discarded and the character following the escape is treated as a regular character in the pattern.

@gatorsmile Looks like it is the same as PostgreSQL?

This is different.

If there is no character after an escape character in the LIKE pattern, the pattern is not valid and the LIKE returns FALSE.

Checked Oracle. Oracle has the same behavior like DB2:
SQL> SELECT USERNAME FROM ALL_USERS WHERE USERNAME LIKE '%P%\' ESCAPE '\';
SELECT USERNAME FROM ALL_USERS WHERE USERNAME LIKE '%P%\' ESCAPE '\'
                                                   *
ERROR at line 1:
ORA-01424: missing or illegal character following the escape character

SQL> SELECT USERNAME FROM ALL_USERS WHERE USERNAME LIKE '%P%\a' ESCAPE '\';
SELECT USERNAME FROM ALL_USERS WHERE USERNAME LIKE '%P%\a' ESCAPE '\'
                                                   *
ERROR at line 1:
ORA-01424: missing or illegal character following the escape character

ORA-01424: missing or illegal character following the escape character
Cause:	The character following the escape character in LIKE pattern is missing or not one of the escape character, '%', or '_'.
Action:	Remove the escape character or specify the missing character.

@gatorsmile That is for ending a pattern with the escape sequence. I mean escaping before a non-special character.

We need to answer all the three questions listed by @jodersky

Maybe more important is, how Hive performs like. For escaping before a non-special character, loos like it is different to above examples. If you gives pattern like \a, it matches exactly \a, not a:
https://github.com/apache/hive/blob/ff67cdda1c538dc65087878eeba3e165cf3230f4/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java#L64
For ending a pattern with the escape character, looks like it allows this usage too. It simply see the escape character as normal character.

If you check what we did in the other PRs, we do not need to strictly follow Hive. I do not have a strong opinion in all the above options. Let @rxin @yhuai make a decision.

In the case that there is no clear standard (e.g. all databases diverge), I'd say it's easier to just follow Hive's, unless it really doesn't make sense or is extremely difficult to support.

Agreed, I'll update the regex parsing to copy Hive's behaviour

Test build #67147 has started for PR 15398 at commit 85a3a38.

Test build #67147 has finished for PR 15398 at commit 85a3a38.

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/67147/
Test PASSed.

I understand your comment about the weird escaping behaviour, @mengxr. Putting myself into the shoes of a new user, I would be least surprised if Spark were to treat the String verbatim (as in "anything after a backslash is treated literally") or give me an error and tell me that my escape sequence doesn't make sense. Changing the parsing of the escape character based on what follows also makes the code more complicated.
However, I also understand the high priority of making migration from Hive to Spark SQL most straightforward. Therefore, I concluded that existing queries should behave the same, and reimplemented Hive's 'like' pattern matching. Maybe this wasn't the right trade-off for non Hive users?
I was unable to find any docs that detail the escaping behaviour in the scenarios mentioned above, however I basically followed the implementation thanks to the link Simon provided.
@rxin, do you think this case warrants diverging from Hive?

FWIW, I just read this about the standard

In an ANSI-compliant database, you can only use the LIKE escape character to escape a percent sign ( % ), an underscore ( _ ), or the escape character itself.

source. I think we should reconsider the need to follow Hive here

Thanks for checking the standard! I think that behavior is what most people expect:)

Test build #67366 has started for PR 15398 at commit 85c16e6.

I went ahead and changed the parsing function to throw an AnalysisException in case the input escaper sequence is invalid. Feel free to revert (or just tell me and I'll do it) if we should stick to Hive's behaviour
Also, I hope an AnalysisException is the correct way to report an error here, let me know if it should be something else.

Test build #67366 has finished for PR 15398 at commit 85c16e6.

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

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

Merged build finished. Test PASSed.

@jodersky I think the current approach is fine if we have documented it clear.

@jodersky Sorry. I misunderstood your point in the offline discussion. After reading the codes, I think your original proposal is right. This PR needs to clean up the test suite LIKE literal Regular Expression and LIKE Non-literal Regular Expression to avoid the duplicate codes.

@gatorsmile thx for the review. I'll update the test suite as we discussed initially :)

Test build #67478 has started for PR 15398 at commit be308c7.

@gatorsmile, I updated the PR according to your comments.
Whilst adding the example test
 checkEvaluation("""%SystemDrive%\Users\John""" like """\%SystemDrive\%\\Users%""", true)

I noticed that the equivalent SQL string:
spark.sql("""'%SystemDrive%\Users\John like '\%SystemDrive\%\\Users%'""")

will throw an exception:
org.apache.spark.sql.AnalysisException: the pattern '\%SystemDrive\%\Users%' is invalid, the escape character is not allowed to precede 'U'; (Note that a backslash is missing before 'Users')
I traced down the issue to the ANTLR4 parser, that will call unescapeSQLString on the string passed to spark.sql, replacing any escaped character except for \_ and \%, and thereby removing one backslash before "Users". To solve the issue there are two potential solutions, both flawed in my opinion:

Escape the backlash twice, requiring 4 backslashes in total. spark.sql("""'%SystemDrive%\Users\John like '\%SystemDrive\%\\Users%'""")
This is inconsistent as escaping the percent requires only one backslash

Add a special rule to the parser that ignores double slashes. This won't place nice with custom escape characters in the future.

My question is more fundamental, why are SQL strings escaped in the first place? Should it not be up to the frontend language to escape such strings? I.e. scala/java/python should handle replacing things such as \n with the newline or replacing unicode sequences with their corresponding symbols. Getting rid of the extra unescaping would be the cleanest solution to avoid double-escaping in my opinion

Test build #67478 has finished for PR 15398 at commit be308c7.

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

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

Merged build finished. Test PASSed.

My question is more fundamental, why are SQL strings escaped in the first place? Should it not be up to the frontend language to escape such strings? I.e. scala/java/python should handle replacing things such as \n with the newline or replacing unicode sequences with their corresponding symbols.

Based on my understanding, the escape behavior/definition in SQL is different from the frontend language. That is why we need to call unescapeSQLString on the string literals. Let us discuss f2f how to handle the case tomorrow.

Also cc @hvanhovell who is the major reviewer about parser-related PRs.

@hvanhovell, I just wanted to add that option 2 from my last comment won't work: if we replace \\ with \\\\ in the unescape function (as is done for \% and \_), it will be impossible for a user to specify a single backslash.
Considering that, another potential solution would be change the ANTLR parser to handle escaping differently in LIKE expressions. This would however introduce a special case which complicates the overall rules.
Maybe leaving the current behaviour but documenting that backslashes are escaped on the parser-level is the best option?

Test build #69932 has started for PR 15398 at commit dbd305c.

Test build #69932 has finished for PR 15398 at commit dbd305c.

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/69932/
Test PASSed.

@mengxr, @rxin, @yhuai, @hvanhovell, what's the status of this PR? How much works remains before this is good to go? What decisions are we blocking on? I ask because this conflicts with a small perf. optimization PR in escapeLikeRegex (#16893) which I'd like to see get in because it offers a big perf. boost for one of my workloads.

Ping @jodersky, @rxin, @mengxr, @yhuai, @hvanhovell we also run into this bug. Will be great we have it by 2.2 release. Thanks.

Re-checked the current change, I think it is in a good shape. Do we have unsolved issues or decisions on this?
ping @jodersky Would you like to update this with master? Thanks.

LGTM

I've resolved the conflict and merged this in master/branch-2.1. Thanks.

This seems to have broken the build in branch-2.1, e.g. https://amplab.cs.berkeley.edu/jenkins/view/Spark QA Compile/job/spark-branch-2.1-compile-maven-hadoop-2.6/591/consoleFull
[info] Compiling 196 Scala sources and 26 Java sources to /home/jenkins/workspace/spark-branch-2.1-compile-maven-hadoop-2.6/sql/catalyst/target/scala-2.11/classes...
[error] /home/jenkins/workspace/spark-branch-2.1-compile-maven-hadoop-2.6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala:1107: not found: value parser
[error]         Try(parser.parseFunctionIdentifier(f)) match {
[error]             ^
[error] /home/jenkins/workspace/spark-branch-2.1-compile-maven-hadoop-2.6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala:1118: value funcName is not a member of Any
[error]       case f if FunctionRegistry.functionSet.contains(f.funcName) => (f, "SYSTEM")
[error]                                                         ^
[error] /home/jenkins/workspace/spark-branch-2.1-compile-maven-hadoop-2.6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala:1120: type mismatch;
[error]  found   : Seq[(Any, String)]
[error]  required: Seq[(org.apache.spark.sql.catalyst.FunctionIdentifier, String)]
[error]     }.distinct
[error]       ^
[error] /home/jenkins/workspace/spark-branch-2.1-compile-maven-hadoop-2.6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/regexpExpressions.scala:95: illegal inheritance;
[error]  self-type org.apache.spark.sql.catalyst.expressions.Like does not conform to org.apache.spark.sql.catalyst.expressions.StringRegexExpression's selftype org.apache.spark.sql.catalyst.expressions.StringRegexExpression with org.apache.spark.sql.catalyst.expressions.BinaryExpression
[error] case class Like(left: Expression, right: Expression) extends StringRegexExpression {
[error]                                                              ^
[error] /home/jenkins/workspace/spark-branch-2.1-compile-maven-hadoop-2.6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/regexpExpressions.scala:134: not found: value nullSafeCodeGen
[error]       nullSafeCodeGen(ctx, ev, (eval1, eval2) => {
[error]       ^
[error] 5 errors found
[error] Compile failed at Apr 17, 2017 12:06:12 PM [13.382s]

I pushed a commit. Hopefully that fixes it.

Glad to see this being merged. Let me know if there is anything more I can do to help with any issues.

Submit a PR to fix the issues in my PR. Thanks!


Add attack enricher

In addition to the current damage enricher, it would be good to have an attack enricher in the style of [[/attack +5]] which would compose a generic attack roll, taking advantage of the roll dialog and the new targeting features without having to be tied to a specific item.
This should also be usable in the form [[/attack]], which would attempt to automatically determine the attack modifier from the item it is embedded within, and roll using that item's attack rather than a generic attack. When paired with the change suggested in #2568, this would allow for writing generic NPC weapon descriptions that adapt to the NPC's stats:
Melee Weapon Attack: [[/attack]], reach 5 ft., one target. Hit. [[/damage average]] damage.
would be turned into:
Melee Weapon Attack: [+3] to hit, reach 5 ft., one target. Hit 3 ([1d4 + 1]) slashing damage.

which would attempt to automatically determine the attack modifier from the item it is embedded within

You probably already have an idea for this, but don't forget weapons like daggers and handaxes that can be melee or ranged attack?

weapons like daggers and handaxes that can be melee or ranged attack

The ability used doesn't change for these based on the attack type you make, these are both melee weapons with the thrown property.
Ranged weapons always use DEX, and melee weapons always use STR.
The exception is when a melee weapon has the finesse property (not handaxe, yes dagger), where you use your choice (i.e. the higher) of STR and DEX.
I think this is exactly what Jeff is suggesting checking for.

The exception is when a melee weapon has the finesse property (not handaxe, yes dagger), where you use your choice (i.e. the higher) of STR and DEX.

You are correct. I was talking about finesse weapons, but just did not phrase it correctly, and misremembered that handaxes are not finesse. Thanks for clarifying my concern.


Typo3 installation stuck on the db configuration step

Hi guys,
this is to kindly ask your support with the following issue:
I cloned the repository successfully and create the environment.yml file. Than i installed Typo3 for the first installation and launched the docker-compose.
I can display the Typo3 installation page and after the step 1 of the wizard, I can reach the second step in which I am asked to insert the database configuration.
If i insert the wrong credentials, as it is expected, i receive an red error message on top of the page, but if I insert the right credentials and I submit the form, the installation procedure shows me again the database step, asking for the db configuration one more time.
I can connect to MySql using a a MySql Client (i.e. Sequel Pro) db credentials.
Do you have any suggestion?
My setup:

MacOS High Sierra 10.13.4
Docker Community Edition Version 18.03.0-ce-mac60 (23751)

Yesterday I have the same issue under Ubuntu

Hi! You tried using
user=dev
pw=dev
host=mysql (if not changed in docker-compose file)
db=typo3
?
If yes, how did you installed docker on macOS @danielesalvatore ?


remove func GetStrategy()

Signed-off-by: soulseen<EMAIL_ADDRESS>func GetStrategy() is deprecated, use Strategy() instead.

/ok-to-test
Code is no longer referenced in openshift/builder, this is safe to merge with a subsequent minor version bump on the next release.


Windows silent install

Script Windows silent installer for ollama
OllamaSetup.exe /Silent
For common experience across Mac, Linux, Windows


4k nord ign_rick wallaper

I liked this wallpaper but the quality and resolution were lacking. I recreated it from scratch as a native 4k image. looks great on a 1440p ultrawide as well!

AMAZING! thanks a lot for contributing.


⚠ API - Lens has degraded performance

In 51e976e, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 502
Response time: 407 ms

Resolved: API - Lens performance has improved in 180ca9e after 22 minutes.


deno: No such file or directory

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
Error
After installing quarto in a fresh environment with micromamba there is this error when running quarto:
quarto render report.qmd --to html
/home/sjoerd/micromamba/envs/test-quarto/bin/quarto: line 158: /home/sjoerd/micromamba/envs/test-quarto/bin/tools/deno-x86_64-unknown-linux-gnu/deno: No such file or directory

The error is understandable if you look at this:
which deno
/home/sjoerd/micromamba/envs/test-quarto/bin/deno

How I got there
 micromamba env create -f test-quarto.yml                                                                                (build-dataset-with-snake)
conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache

Transaction

  Prefix: /home/sjoerd/micromamba/envs/test-quarto

  Updating specs:

   - quarto

  Package          Version  Build        Channel           Size
─────────────────────────────────────────────────────────────────
  Install:
─────────────────────────────────────────────────────────────────

  + dart-sass       1.58.3  ha770c72_1   conda-forge     Cached
  + esbuild         0.19.2  ha770c72_0   conda-forge     Cached
  + _libgcc_mutex      0.1  conda_forge  conda-forge     Cached
  + libgomp         13.2.0  h807b86a_3   conda-forge     Cached
  + _openmp_mutex      4.5  2_gnu        conda-forge     Cached
  + libgcc-ng       13.2.0  h807b86a_3   conda-forge     Cached
  + libzlib         1.2.13  hd590300_5   conda-forge     Cached
  + deno            1.28.2  h2f28480_0   conda-forge     Cached
  + pandoc           3.1.1  h32600fe_0   conda-forge     Cached
  + deno-dom        0.1.35  hd9586b0_1   conda-forge     Cached
  + quarto         1.3.450  ha770c72_0   conda-forge     Cached

  Summary:

  Install: 11 packages

  Total download: 0 B

─────────────────────────────────────────────────────────────────

Confirm changes: [Y/n] y

This is the environment file I used
# test-quarto.yml
name: test-quarto
channels:
  - conda-forge
dependencies:
  - quarto

System information
>  pacman -Qi micromamba
Name            : micromamba-bin
Version         : 1.5.3-1
Description     : Tiny version of mamba, the fast conda package installer
Architecture    : x86_64
URL             : https://github.com/mamba-org/mamba
Licenses        : custom:BSD-3-clause
Groups          : None
Provides        : micromamba
Depends On      : glibc
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : micromamba
Replaces        : None
Installed Size  : 13.20 MiB
Packager        : Unknown Packager
Build Date      : Mon 27 Nov 2023 02:27:42 PM JST
Install Date    : Mon 27 Nov 2023 02:28:10 PM JST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : None

> neofetch                                                                       (test-quarto)
                   -`                    sjoerd@thinkbook
                  .o+`                   ----------------
                 `ooo/                   OS: Arch Linux x86_64
                `+oooo:                  Host: 20RR Lenovo ThinkBook 13s-IML
               `+oooooo:                 Kernel: 6.6.2-arch1-1
               -+oooooo+:                Uptime: 19 hours, 17 mins
             `/:-:++oooo+:               Packages: 1304 (pacman)
            `/++++/+++++++:              Shell: fish 3.6.1
           `/++++++++++++++:             Resolution: 1920x1080
          `/+++ooooooooooooo/`           WM: sway
         ./ooosssso++osssssso+`          Theme: Adwaita [GTK3]
        .oossssso-````/ossssss+`         Icons: Adwaita [GTK3]
       -osssssso.      :ssssssso.        Terminal: tmux
      :osssssss/        osssso+++.       CPU: Intel i7-10510U (8) @ 4.900GHz
     /ossssssss/        +ssssooo/-       GPU: Intel CometLake-U GT2 [UHD Graphics]
   `/ossssso+/:-        -:/+osssso+-     Memory: 7652MiB / 15711MiB
  `+sso+:-`                 `.-/+oso:
 `++:.                           `-/+/
 .`                                 `/

Installed packages
micromamba list
List of packages in environment: "/home/sjoerd/micromamba/envs/test-quarto"

  Name           Version  Build        Channel
────────────────────────────────────────────────────
  _libgcc_mutex  0.1      conda_forge  conda-forge
  _openmp_mutex  4.5      2_gnu        conda-forge
  dart-sass      1.58.3   ha770c72_1   conda-forge
  deno           1.28.2   h2f28480_0   conda-forge
  deno-dom       0.1.35   hd9586b0_1   conda-forge
  esbuild        0.19.2   ha770c72_0   conda-forge
  libgcc-ng      13.2.0   h807b86a_3   conda-forge
  libgomp        13.2.0   h807b86a_3   conda-forge
  libzlib        1.2.13   hd590300_5   conda-forge
  pandoc         3.1.1    h32600fe_0   conda-forge
  quarto         1.3.450  ha770c72_0   conda-forge

Environment info
micromamba info

       libmamba version : 1.5.3
     micromamba version : 1.5.3
           curl version : libcurl/8.4.0 OpenSSL/3.1.4 zlib/1.2.13 zstd/1.5.5 libssh2/1.11.0 nghttp2/1.58.0
     libarchive version : libarchive 3.7.2 zlib/1.2.13 bz2lib/1.0.8 libzstd/1.5.5
       envs directories : /home/sjoerd/micromamba/envs
          package cache : /home/sjoerd/micromamba/pkgs
                          /home/sjoerd/.mamba/pkgs
            environment : test-quarto (active)
           env location : /home/sjoerd/micromamba/envs/test-quarto
      user config files : /home/sjoerd/.mambarc
 populated config files :
       virtual packages : __unix=0=0
                          __linux=6.6.2=0
                          __glibc=2.38=0
                          __archspec=1=x86_64-v3
               channels :
       base environment : /home/sjoerd/micromamba
               platform : linux-64

Thanks for your report! We've been getting a lot of these reports, so we have a catch-all issue. I'm going to close this one, but please feel free to continue discussion over there. Link below.
The problem is that we don't support the Fish shell (and others)... yet. You can use a Bourne-compatible shell (must support export VAR=value) as a workaround.
I've been asking around about the best way to handle this, and haven't gotten a concrete answer... yet :) There seems to be a viable solution, but it's undocumented currently. You should be able to find all those discussions from this one: https://github.com/conda-forge/quarto-feedstock/issues/30

@mfisher87 I get this same error on a bash shell.  quarto -h looks for deno in:
$ quarto -h
/opt/conda/bin/quarto: line 191: /opt/conda/bin/tools/x86_64/deno: No such file or directory

but
$ which deno
/opt/conda/bin/deno

would it be better to open a new issue for this?

👋 Hey Carl, what version do you have installed?

Should be the most recent, I only just did conda install.  ironically quarto --version doesn't work either.  from conda install log it looks like it is:
quarto             conda-forge/linux-64::quarto-1.5.57-ha770c72_1

Thanks! Any chance you're working in VSCode? Also, what's env | grep -i quarto look like? Perhaps let's jump on a call to look more closely when you have time!


User-specific delete permission error in Saltcorn 0.9.6

Describe the bug
When attempting to delete a record in table1, an error occurs stating that the user does not have permission to delete the record, despite the owner being set to the user's email and the minimum roles for read and write being set to Admin.
To Reproduce
Steps to reproduce the behavior:

Create a user with the email<EMAIL_ADDRESS>and assign the role User.

Create a table named table1 with one string field.

Create three views for table1: List, Edit for adding, and Edit for editing.

Set the owner of table1 to the email<EMAIL_ADDRESS>and the minimum roles for read and write to Admin.

Add buttons for adding, editing, and deleting records in the view for table1.

Attempt to add a record as the user<EMAIL_ADDRESS>

Observe that the record is added successfully.

Attempt to edit a record as the user<EMAIL_ADDRESS>

Observe that the record is edited successfully.

Attempt to delete a record as the user<EMAIL_ADDRESS>

Observe the error stating that the user does not have permission to delete the record.

Change the write role for table1 to User.

Attempt to delete a record again as the user<EMAIL_ADDRESS>

Observe that the deletion now works.

Expected behavior
The user<EMAIL_ADDRESS>should be able to delete records in table1 without needing the write role set to User, as the owner permissions should override the minimum role settings.
Additional context

Saltcorn version: 0.9.6
Node.js version: v18.19.0
Database type: SQLite 3.44.2
Docker command used: docker pull saltcorn/saltcorn:0.9.6

fixed in #2756


AppBuilder/Designer Problems

cc: @kekekeks @jazzay
This is following on from a conversation we had in gitter: the recent changes to the way Application is initialized has broken the designer, as the designer relied on App setting up the environment. We spoke about using an AppBuilder class, for which I've committed an initial implementation on the appbuilder branch but I'm still unclear as to how this will fix the designer.
I think the problem is that we need it to be possible to define the App class in a portable assembly, so by definition it cannot setup the environment as the environment isn't known at that point.
In addition, we need to be able to edit XAML files in PCL libraries and currently the designer requires an executable if I understand correctly?
My main questions are what are the plans here; how will AppBuilder help is solve these problems?

AppBuilder should completely decouple initialization from App's logic, so we can safely assume what steps are needed to set up things in designer process.

Designer needs to have Perspex.Win32 and Perspex.Direct2D in project output directory, it won't be able to initialize rendering otherwise. We need some logic in VS addin to scan for actual package version and add platform assemblies to designer's process lookup list.

I'll take a look at designer helper this weekend. BTW, scaling in designer will still be broken because of your DPI scaling approach.

So you mean that the designer won't rely on App to set up the environment? If so that sounds like a good idea to me. We could maybe even have settings in the designer for D2D/Skia etc later on.
I'm fine with leaving designer scaling as a TODO for the moment - it's not a hugely important feature.
If you could take a look at the appbuilder branch and let me know if it's how you imagined. It will need to be ported to use the Avalonia name too: I can do that.

@kekekeks the AppBuilder has been ported from Perspex to Avalonia in appbuilder-avalonia


How to use Mica

Hello, awesome library. I am new to flutter and was trying to use fluent_ui with Mica but I can't seem to make it work. Is this library emulating actual Mica transparency or making a sort of effect that looks like Mica but not transparent?
Do I need to use something like flutter_acrylic with this project to get mica working ? Does it need to be compiled first to be seen?
Sorry for wasting your time and thank you.

Our Mica widget just emulates the mica effect when there is no transparency enabled in the system. The fluent_ui library does not have access to the Window, so it can not apply transparency effects. You need to use flutter_acrylic and make the background of the app transparent to achieve that effect.
You can sse it working in our example app:
https://github.com/bdlukaa/fluent_ui/blob/23f32e8f61bf43ed4356ecb80e0bbaf14ddd0fe9/example/lib/main.dart#L108-L119
https://github.com/bdlukaa/fluent_ui/blob/23f32e8f61bf43ed4356ecb80e0bbaf14ddd0fe9/example/lib/theme.dart#L38-L56


Homework 3

Approach:

Q1: Created the necessary class and implemented inheritance using Staff and User classes.

Q2: Developed multiple classes for HealthInsurancePlan and subclasses representing various insurance plans (platinum, gold, silver, and bronze) to demonstrate polymorphism for insurance coverage. Additionally, established a billing system to determine patient and company payments.

Q3: Utilized abstract classes and methods to implement monthly premiums for staff members based on their salary concerning their insurance plans. The HealthInsurancePlan abstract class and its underlying subclasses computed premiums according to their respective behaviors.

Q4: Introduced the InsuranceBrand interface, to be implemented by different companies such as BlueCrossBlueShield. Implemented the getOfferedBy function to abstractly define the computeMonthlyPremium method, incorporating age and smoking behavior. This method internally utilizes the aforementioned computeMonthlyPremium function, leading to a complex yet comprehensive implementation.

Added Logging System:
Integrated a logging system, leveraging the Logger architecture from a previous homework assignment, for consistent logging across the project.
Screenshots

Drift Video
Link : https://video.drift.com/v/ab49YjfGkOtlAyewjOW8IgyZUrOq7Unh9GmvNoirk/

Metric
Value

alert_status
b:white_check_mark: OK/b

bugs
0

code_smells
16

reliability_rating
A (0 Bugs)br/Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)br/Note: A being best, E being worst

vulnerabilities
0

Metric
Value

alert_status
b:x: ERROR/b

bugs
0

code_smells
1

reliability_rating
A (0 Bugs)br/Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)br/Note: A being best, E being worst

vulnerabilities
0

Metric
Value

alert_status
b:x: ERROR/b

bugs
0

code_smells
1

reliability_rating
A (0 Bugs)br/Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)br/Note: A being best, E being worst

vulnerabilities
0


ImmutableArray causes virtual method pointer lookup failure in NativeAOT

Not sure if the issue is with serde-dn or NativeAOT, but I ran into an issue with deserializing ImmutableArray in dnvm after I had switched workload it to a reference type. I found making it a struct again fixed the issue so far, and I thought I'd let you know in case you hit something similar.
Process terminated. Generic virtual method pointer lookup failure.

Declaring type handle: MethodTable:0x00007FF6470BFF80
Target type handle: MethodTable:0x00007FF64711D7E8
Method name: Serde.IDeserializeVisitor<System.Collections.Immutable.ImmutableArray<T>>.VisitEnumerable
Instantiation:
  Argument 00000000: MethodTable:0x00007FF647113320

Seems very likely that this is a NativeAOT issue. Serde is just regular C#, so there should be no way this is possible. I'd file a bug on runtime.

This is https://github.com/dotnet/runtime/issues/77070. I've implemented some workarounds, but it's likely still possible to hit this.


Slow query.

After
https://github.com/vesoft-inc/nebula-common/pull/565
https://github.com/vesoft-inc/nebula-storage/pull/495
We had design doc here: https://confluence.nebula-graph.io/pages/viewpage.action?pageId=10719400

vesoft-inc/nebula-storage#403


Add support for operations

This PR adds a plugin that generates factories for operations. For example the following operation:
mutation CreateUser($username: String!) {
  createUser(username: $username) {
    id
    username
  }
}

Should be converted to this factory:
// CreateUserMutation is a type generated by the TypeScript's operations plugin
function createCreateUserMutationMock(props: Partial<CreateUserMutation>): CreateUserMutation {
  return {
    createUser: {
      __typename: "User",
      id: "",
      username: "",
    },
    ...props,
  };
}

It should work with aliases, multiple fields per operations, fragments, and anonymous operations.
Closes #17

I am almost there but I still have to:

[ ] Fix the factories' formatting
[ ] Test with a more complex schema (aliases, interfaces, unions, fragments)
[ ] Test with split files (e.g through the near-operation-file-preset plugin)

Fix the factories' formatting

Do you really need to do that? I imagine people either ignore formatting of autogenerated files or run prettier on them anyway.

Do you really need to do that? I imagine people either ignore formatting of autogenerated files or run prettier on them anyway.

Actually I was more worried about syntax issues, for example it was missing a comma that is now fixed. I was hoping to offer a decent formatting in the process but you are right, that is probably not needed.
The current implementation is complete as far as I can tell, I am now in the process of testing it with a real project.

@zhouzi I can test it on some real projects too. Is there any preview package that I can download from NPM or I should just install the package from github from this branch directly?

@zhouzi I can test it on some real projects too. Is there any preview package that I can download from NPM or I should just install the package from github from this branch directly?

That would be awesome 🙏 I just published<EMAIL_ADDRESS>with this PR's changes and your fix for directives. Feel free to give it a try and open an issue if you find a bug.
Also, I added you to the readme's contributors, I hope that's fine 😉


Enhance morphing visual effect

Use blobbing for gooey effect:

https://css-tricks.com/shape-blobbing-css/
https://css-tricks.com/gooey-effect/
http://tympanus.net/Development/CreativeGooeyEffects/pagination.html

http://greensock.com/morphSVG


compile-time query-level opt

#53  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Angryrou and the rest of your teammates on  Graphite


Refactor url builder

Use URL & URLSearchParams instead of manually concatenating URL parts.
Extract renderer to separate cjs/mjs module.

@NickKaramoff No worries I'll split it into smaller chunks ☺


Dissemination: Handling of DOIs from registration agencies other than Crossref

Describe the bug
Thoth's auto-dissemination workflow currently assumes all DOIs are eligible for submission to / update via Crossref.
As we've learned recently, there are some cases where publishers have existing DOIs that have previously been registered with DataCite (in this case: punctum's older books), and when the auto-dissem workflow now sends these on to Crossref for updating, Crossref throws an error because they don't recognise the DOI prefix.
For now, a pragmatic fix proposed by @rhigman would be to list all books with that specific DOI prefix in a special EXCLUDE rule to tell the Crossref auto-dissem workflow to omit those records.
In the future, we might have more publishers with legacy books registered with DataCite, so it might be pertinent to consider a more pragmatic approach, e.g. to include DOI prefixes in the publisher-level metadata, which would then enable us to tailor the dissemination workflow to a particular set of DOI prefixes.

(also tagging @hannahhillen :) )

To be decided whether this requires fixing/mitigating at the thoth end or the thoth-dissemination end (or both). The thoth-dissemination code could be made more defensive, given that very few checks are made by Crossref at the time of submission (the error is only raised later in a report via email).
For example, there could be an initial check of the DOI prefix against the Crossref Get Prefix Publisher endpoint (https://doi.crossref.org/getPrefixPublisher/?prefix=[prefix]) - although note that the docs mark this as "legacy".

https://api.crossref.org/swagger-ui/index.html#/Prefixes/get_prefixes__prefix_

Side note: this also raises the more fundamental question around exploring DataCite membership (and potential sponsorship structure similar to Crossref's) - but this seems not urgent at this stage


Strange eslint hangs on 4.0.5 release

https://travis-ci.org/nodeca/nodeca/builds/197807971
I use acorn as dependency and got strange eslint behaviour on 4.0.5 release:
./node_modules/.bin/eslint . hangs forever, both on travis & on my local computer. With 4.0.4 everything is fine. No ideas why.

We're also getting this issue with the ESLint build on master (everything is timing out). We're planning to temporarily pin the acorn version on Espree so that it doesn't affect ESLint.

Formally, that's eslint bug (it should never hang). But i think @marijnh should know about. Because 4.0.5 could have bad fs content on npm.

<EMAIL_ADDRESS>has been released, which should fix this issue for ESLint users. You might need to purge node_modules and reinstall to receive the fix (or use npm install espree@latest).

This is a duplicate of #499, which has been fixed in 4.0.6


MQTT error message persists until tablet restart

I have configured Wallpanel to send regular updates via MQTT. Occasionally (about every couple of days or so), the app apparently loses its connection to the MQTT broker, and shows a persistent error message on the screen: "Couldn't subscribe to the MQTT topics, check the MQTT broker settings or your connection."
This message stays on top of the screen. Even when I leave the app, it remains on the screen.
When I "Force Stop" the app, and restart Wallpanel, the error message reappears after a few seconds.
Only when I restart the whole tablet, the message disappears, and Wallpanel successfully reconnects to my broker.
At the time of the error message, the tablet itself is still connected to my Wifi, and my MQTT broker is up and running. I've configured the MQTT broker using its IP address.
Tablet: Fire HD 8
Version: 0.8.4 Build 1 (but I have this problem for a few months already)

Yeah I’m aware of the issue and will issue a fix next week.  Thanks for reporting it.


On Add Library Manage Window Switch input method, VS will restart

Functional impact
When I Add library on Library manage window，if input method is chinese ,I Inputing one Half a word. I switch input method on press key shift， the vs will restart。
Minimal repro steps

open library manage window

sure input method on chinese input method ,use  Microsoft Pinyin input method

input Letter  like  ad, on this time I find input method is chinese ,and i want switch input method to English, so I press key shift

at step 3 ,the vs will restart

Expected result
Actual result
Further technical details

I'm not able to reproduce this on my machine (ENU Windows, CHS Pinyin IME).  It sounds like the issue addressed by #433 but that was an old issue...
Can you confirm which build of VS you're using?  And the version of Microsoft Library Manager listed in the Help -> About dialog?

Today I try again,but its not restart.
VS verstion: 16.4.2


Eliminate unused CANCELED order state

There are currently no plans to allow cancellation of jobs. If we ever implement that, this code would quickly be resurrected or re-implemented. Until then, YAGNI.
Reviewed by

[x] @hixi

:+1:


App Doesn't Deploy

I can't get the app to deploy.

Considering that there has been no update for 9 months and the official project had a large-scale update three months ago, I cannot guarantee that the current code can be deployed directly.
If you want to deploy to Azure Web Applications, please manually diff the main branch of this project and the official main branch, and deploy according to the official template.
If you want to deploy to Azure Functions, please switch to the deploy2azurefunctions branch of this project, clone it, and use the Azure Functions plugin from vscode to deploy it


Add test to docker image

We need to test the docker image generated and run the tests for page_view tutorial to make sure that the image is generated correctly.

related with https://github.com/marcosschroh/cookiecutter-faust/pull/18


SiteMap.html  Enhancement

Fixes #278
In this PR I made some changes in UI and as the major issue was that the arrows were not aligned properly , so I fixed that . Please do consider my PR.
After changes :

@harikesh409 sir , I have already made changes but in my sitemap branch the changes are implemented successfully but not in the master branch even after the merging

Moved to #310


[Transforms] Down-level transformations for Async Functions

This change adds support for transforming a subset of generator function features to a down-level representation to support async functions when targeting ES5 or ES3.

CC: @vladima, @mhegazy, @yuit, @sandersn, @weswigham, @DanielRosenwasser

We need to handle directive prologues ("use strict";) when transforming async functions - I looked at the output of the tests/cases/conformance/await[Binary,Call]Expression_es6 tests on this branch (which conveniently always have a string as their first statement!) and noticed that we move prologues into the generator function we synthesize - this is likely incorrect (even if it's our current behavior) if the consumer is using custom prologues (if they were just using "use strict" they may never notice). In any case, generators, also, need to special case retaining prologues as the first statement in the original outer function declaration (though, maybe not applicable right now since generators only arise as a consequence of async functions).
Also, would it be possible to just see the results of those same conformance tests running vs es5/es3? I know you added a bunch of new tests, but simply replicating the tests/cases/conformance/async/es6 directory for es5 and maybe es3 would be pertinent with this change. (And allow useful comparisons)

I don't think there's any issues, but I couldn't find a test to confirm - I don't see any tests (existing or otherwise) covering constructs such as class extends (await whatever) (which should be valid within an async function). Given we check our emit for await pretty much everywhere else, we should probably add tests in an extends clause - a place we've historically seen emit issues pop up.

@yuit, @weswigham: Please take another look following the recent commits.
@mhegazy, @vladima, @DanielRosenwasser: Any comments?

Does this PR being merged mean we can use async/await now with transpilation to < ES6?

It's merged with the transforms branch, not master. It won't ship until transforms merges into master.

Anything new on this one? When will it be available in typescript@next?

should start showing up in typescript@next next week.

those using tslib and noEmitHelpers must install tslib from github as the npm package is not updated yet (and thus does not contain __generator).

I got excited enough by @mghegazy's comment earlier that I went ahead and installed typescript@next on my project to start refactoring some of my more labyrinthine promise usage into async/await. And did not bother to check whether transforms had actually been merged into master :smile:
And I was like, whoa, this already works when targeting ES5! But then I realized the output is still using ES6 generators, which just happen to work in Chrome and the iOS 10 webview I was testing in :zipper_mouth_face:

And I was like, whoa, this already works when targeting ES5! But then I realized the output is still using ES6 generators, which just happen to work in Chrome and the iOS 10 webview I was testing in

@jkobylec i do not think this is accurate. Emitting async functions for ES3/ES5 is supported in typescript@next.
here is a demonstration.
c:\test>tsc --v
Version 2.1.0-dev.20161014

c:\test>type a.ts
async function test() {
    await bar();
}

c:\test>tsc --target ES5 --lib es5,es2015.promise a.ts
a.ts(2,11): error TS2304: Cannot find name 'bar'.

c:\test>type a.js
var __awaiter =...
var __generator = ...

function test() {
    return __awaiter(this, void 0, void 0, function () {
        return __generator(this, function (_a) {
            switch (_a.label) {
                case 0: return [4 /*yield*/, bar()];
                case 1:
                    _a.sent();
                    return [2 /*return*/];
            }
        });
    });
}

Also i would recommend creating a new issue instead of commenting on a closed PR. thanks.

My assumption was that the incorporation into master was still in progress
which is why I didn't open a new issue, but seems like the behavior I'm
encountering may be an oddity in my build tool chain I'll need to track
down, then. Apologies if I caused any alarm.
On Fri, Oct 14, 2016 at 5:35 PM Mohamed Hegazy<EMAIL_ADDRESS>wrote:

And I was like, whoa, this already works when targeting ES5! But then I
realized the output is still using ES6 generators, which just happen to
work in Chrome and the iOS 10 webview I was testing in
@jkobylec https://github.com/jkobylec i do not think this is accurate.
Emitting async functions for ES3/ES5 is supported in typescript@next.
here is a demonstration.
c:\test>tsc --v
Version 2.1.0-dev.20161014
c:\test>type a.ts
async function test() {
await bar();
}
c:\test>tsc --target ES5 --lib es5,es2015.promise a.ts
a.ts(2,11): error TS2304: Cannot find name 'bar'.
c:\test>type a.js
var __awaiter =...
var __generator = ...
function test() {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /yield/, bar()];
case 1:
_a.sent();
return [2 /return/];
}
});
});
}
Also i would recommend creating a new issue instead of commenting on a
closed PR. thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/TypeScript/pull/9175#issuecomment-253950104,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHtc0jzelV11ieHBGLK28go-4apOf1c1ks5q0B-8gaJpZM4I16H6
.


Fix ABI mismatch involving Sendable-refining protocols and deployment targets

A change to the way we determined whether a protocol conformance is "dependent" for marker protocols caused an ABI break for Sendable-refining protocols built with pre-6.0 Swift compilers. The fix for this issue (https://github.com/swiftlang/swift/pull/75769) gated the change on deployment target.
The deployment target change fixed the original problem, then caused a related issue when a project mixes deployment targets (pre-6.0 and 6.0+) with non-resilient protocols. Rework the logic here to (1) look at the availability of the protocol rather than the deployment target, and (2) always use the more efficient (non-dependent) answer for non-resilient protocols.
Fixes rdar://134953989.

@swift-ci please smoke test

The change here to use availability is not strictly necessary, because it's acceptable for programs to be compiled with the dependent-conformance access pattern even if the protocol itself is non-dependent. It's also less optimal, because it prevents conformances tied to newer Swift runtimes (e.g., shipped in an OS with a 6.0 runtime) from being emitted as non-dependent. Closing this in favor of the narrower and more desirable change at https://github.com/swiftlang/swift/pull/76380


Error with Angular2 / Ionic2

With latest ionic2 (angular2 - beta6), I get this error:
node_modules\ng2-bootstrap\components\carousel.ts:1
import {Slide} from './carousel/slide.component';
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'
Any idea?
Thanks, J5

Issue is for sure with compiler, not with ionic or bootstrap


Loader: Remove always on top flag in tray

Brief description
Library loader used in host without parent widget should be always on top but that is not true for tray.
Description
Remove always on top flag from loader window in tray so it is possible to move it to back and front.
Changes

removed unused attribute avalon_mongo_url from avalon module
library loader in tray does not have always on top flag
delivery loader will show dialog always on top and uses openpype style

Testing notes:

start with this step
follow this step

Task linked: OP-2284 Loader: pop-up windows always behind the Loader window


Vue 3 support

Hello, vue-leaflet for vue3 is missing you. Are you active? What are your plans on vue 3?
You can join discord and chat about that (✿◠‿◠)

@jperelli If you plan on implementing it please ping me! So we can add it to the organisation (of which you are an admin already)

Hi everyone!
any news about vue3?)

Hi everyone! any news about vue3?)

>

Any update on Vue 3 compatible package?

rizypb
https://github.com/veitbjarsch/vue-leaflet-markercluster


Link back OCSF on D3FEND Classes

Should be rdfs:seeAlso
Example rendering should look like this:

closed via:
https://github.com/d3fend/d3fend-ontology/commit/7a8181e3e533318f7a59c29bef8fc896591bae51


Hermetic Core Utilities

This expands it usage in the shell script for other core utilities in more of the shell scripts.
The usage of xargs could be rewritten in pure Bash, maybe.
Hoping to get rules_oci to a point where it require zero tooling from the host 🤞

Related to #385 in terms of hermetic-ness of the project.

Hey, thank you for the PR. I would love to land this, but currently there's a problem with the coreutils toolchain on darwin/arm64 where if rosetta is disabled, it fails horribly.

cross-ref: https://github.com/uutils/coreutils/issues/4104

This is now unblocked, we will accept the PR once we upgrade bazel-lib here.

Along with Bazel 7 release we'll drop Bazel 5 support, that will be our chance to make a 2.0 release here, which in turn lets us make the breaking change of requiring bazel-lib 2.0. Sorry this got tied up in our semver ...

No worries. We use xargs here
if [[ -e "${TAGS_FILE:-}" ]]; then
  cat "${TAGS_FILE}" | xargs -n1 "${CRANE}" tag $(cat "${REFS}")
fi

The docs say:

a .txt file containing tags, one per line.

if [[ -e "${TAGS_FILE:-}" ]]; then
  for IFS= read -r TAG; do
    "${CRANE}" tag $(cat "${REFS}")
  done <"${TAGS_FILE}"
fi

Which would get rid of another external program.
I can put up a separate PR or add it to this one, if that is something we'd be happy to take.

@mattyclarkson do you mind rebasing this PR against 2.x, and we'll land it there?

Okay closing this as it's not landable as is. Feel free to create a new PR rebased on top 2.x.


Possible error in your altitude calcuation

In your code you have
def altitude_from_pressure(self, press):
return 44307.69 * (1 - (press / self._sea_level_pressure) ** 0.190284)
In the Bosch Sensor guide (ex: in bmp180 they show a different formula page 16 of: https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf). Consider this return value instead:
    return 44330.0 * (1.0 - ((self.pressure / self.sea_level_pressure) ** (1.0 / 5.255)))

Notice that (1.0 / 5.255) = 0.1902949572, and not 0.190284, it is closer to 0.190295.

Oh! Thank you for pointing this out—I probably typed it wrong and never looked back!
I took the opportunity to double-check the formulas, and I’ve updated the return value to:
return 44330.77 * (1 - (press / self._sea_level_pressure) ** 0.190263)
This should be the most accurate representation we can store in a float32, based on the constants derived from this Wikipedia article.
Thank you again for bringing this to my attention, and I hope this resolves the issue!

yes feel free to resolve.  Just so you know Bosch uses a different formula.  THANKS!

Thanks!  I then found this at NCAR:  https://ncar.github.io/aircraft_ProcessingAlgorithms/www/PressureAltitude.pdf

Thanks for sharing this document—it's very helpful! The Wikipedia article I linked to is less clear about the actual values of the constants, whereas this document is much more straightforward.


Empty search_current_bookmarks

Currently searching for current stack bookmarks returns an empty list despite there being bookmarks present.
For given bookmarks:

Triggering search_current_bookmarks results in:

I believe this is because the data being sent to telescope is not a proper array with the required values. I.e, these are the values sent for current stack
DEBUGPRINT[15]: telescope.lua:43: data={
  bookmarks = { {
      bufnr = 1,
      col = 2,
      file = "/home/jemag/Projects/gorestprototype/main.go",
      line = 127,
      mark_id = 1,
      meta = {}
    }, {
      bufnr = 1,
      col = 1,
      file = "/home/jemag/Projects/gorestprototype/main.go",
      line = 76,
      mark_id = 2,
      meta = {}
    }, {
      bufnr = 1,
      col = 1,
      file = "/home/jemag/Projects/gorestprototype/main.go",
      line = 54,
      mark_id = 3,
      meta = {}
    } },
  name = "Default"
}

While for the working searching of all marks, these are the values passed
DEBUGPRINT[15]: telescope.lua:43: data={ {
    bufnr = 1,
    col = 2,
    file = "/home/jemag/Projects/gorestprototype/main.go",
    line = 127,
    mark_id = 1,
    meta = {},
    stack = "Default"
  }, {
    bufnr = 1,
    col = 1,
    file = "/home/jemag/Projects/gorestprototype/main.go",
    line = 76,
    mark_id = 2,
    meta = {},
    stack = "Default"
  }, {
    bufnr = 1,
    col = 1,
    file = "/home/jemag/Projects/gorestprototype/main.go",
    line = 54,
    mark_id = 3,
    meta = {},
    stack = "Default"
  } }

Addressed in https://github.com/EvWilson/spelunk.nvim/pull/51!
Thanks so much for your help, and great issue report!


[C# Documentation, Broken] - Global Attributes doesn't exist

From @TCLNA on Friday, April 24, 2020 3:27:43 PM
Describe the bug
Hello there,
In the documentation, the drop-down item Global Attributes from Attributes read by the compiler redirects to microsoft's main page.
I think it's just a relic since when i try to imitate the issue link (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/general/global-attributes) i fall into a 404 page.
To Reproduce
Go to the CSharp Language Reference page and click on the Attributes read by the compiler on the side panel.

Sorry for bothering,
Copied from original issue: MicrosoftDocs/feedback#2696

From @welcome[bot] on Friday, April 24, 2020 3:27:45 PM
Thank you for creating the issue! One of our team members will get back to you shortly with additional information. If this is a product issue, please close this and contact the particular product's support instead (see https://support.microsoft.com/allproducts for the list of support websites).


List Dev Drives from Setup flow and associated changes

Summary of the pull request
References and relevant issues
Detailed description of the pull request / Additional comments
Validation steps performed
PR checklist

[ ] Closes #xxx
[ ] Tests added/passed
[ ] Documentation updated

Moved to https://github.com/microsoft/devhome/pull/2486 along with other changes for the task.


Error: Type checker found wrong number of fields while tokenizing data line.

Hi,
would it be possible to improve bedtools (have v2.29.2 now)  to output a line number of line contents where thsi check fails? I just cannot find. Tabs are in there, no trailing '\t\n`.
... | bedtools merge -i - -o median -c 4 -d 0
Error: Type checker found wrong number of fields while tokenizing data line.
Perhaps you have extra TAB at the end of your line? Check with "cat -t"

Thank you

It also happens with current git master.

Is bedtools merge complaining about a number of columns in the input TAB separated file? I used gtf2bed to convert ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_21/gencode.v21.annotation.gtf.gz to bed.
Here are first few lines from the files acted upon shown in strace -s 1024 -a 300 -v -v -v -f $cmd output:
openat(AT_FDCWD, "/dev/fd/63", O_RDONLY)                                                                                = 3
read(3, "chr1\t0\t10002\t0\nchr1\t10002\t10059\t1\nchr1\t10059\t14945\t0\nchr1\t14945\t15021\t1\nchr1\t15021\t15713\t0\nchr1\t15713\t15812\t1\nchr1\t15812\t16629\t0\nchr1\t16629\t16726\t1\nchr1\t16726\t26717\t0\nchr1\t26717\t26752\t1\nchr1\t26752\t26778\t2\nchr1\t26778\t26793\t3\nchr1\t26793\t26853\t2\nchr1\t26853\t27041\t0\nchr1\t27041\t27109\t1\nchr1\t27109\t31397\t0\nchr1\t31397\t31413\t1\nchr1\t31413\t31426\t2\nchr1\t31426\t31459\t3\nchr1\t31459\t31504\t2\nchr1\t31504\t31518\t1\nchr1\t31518\t31612\t0\nchr1\t31612\t31639\t1\nchr1\t31639\t35328\t0\nchr1\t35328\t35375\t1\nchr1\t35375\t35394\t2\nchr1\t35394\t35404\t3\nchr1\t35404\t35435\t2\nchr1\t35435\t35451\t1\nchr1\t35451\t51548\t0\nchr1\t51548\t51651\t1\nchr1\t51651\t51797\t0\nchr1\t51797\t51842\t1\nchr1\t51842\t51843\t0\nchr1\t51843\t51883\t1\nchr1\t51883\t54490\t0\nchr1\t54490\t54568\t1\nchr1\t54568\t56922\t0\nchr1\t56922\t57065\t1\nchr1\t57065\t69202\t0\nchr1\t69202\t69292\t1\nchr1\t69292\t73621\t0\nchr1\t73621\t73682\t1\nchr1\t73682\t73684\t0\nchr1\t73684\t73693\t1\nchr1\t73693\t76863\t0\nchr1\t76863\t76926\t1\nchr1\t76926\t76943\t2\nchr1\t76943\t87300\t0\nchr1\t87300\t87412\t1\nchr1\t87412\t93718\t0\nchr1\t93718\t93794\t1\nchr1\t93794\t93991\t0\nchr1\t93991\t94009\t1\nch"..., 8191) = 8191
brk(0x56247a367000)                                                                                = 0x56247a367000
stat("ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_21/gencode.v21.annotation.CDS.bed", {st_dev=makedev(0x8, 0x1), st_ino=168821826, st_mode=S_IFREG|0600, st_nlink=1, st_uid=9999, st_gid=9999, st_blksize=4096, st_blocks=2477008, st_size=1268223554, st_atime=1608637615 /* 2020-12-22T12:46:55.414819234+0100 */, st_atime_nsec=414819234, st_mtime=1608637600 /* 2020-12-22T12:46:40.664721002+0100 */, st_mtime_nsec=664721002, st_ctime=1608637600 /* 2020-12-22T12:46:40.664721002+0100 */, st_ctime_nsec=664721002}) = 0

openat(AT_FDCWD, "ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_21/gencode.v21.annotation.CDS.bed", O_RDONLY)                                                                                = 4

read(4, "chr1\t11868\t12227\tENSG00000223972.5\t.\t+\tHAVANA\tCDS\t.\tgene_id\t\"ENSG00000223972.5\";\ttranscript_id\t\"ENST00000456328.2\";\tgene_type\t\"transcribed_unprocessed_pseudogene\";\tgene_status\t\"KNOWN\";\tgene_name\t\"DDX11L1\";\ttranscript_type\t\"processed_transcript\";\ttranscript_status\t\"KNOWN\";\ttranscript_name\t\"DDX11L1-002\";\texon_number\t1;\texon_id\t\"ENSE00002234944.1\";\tlevel\t2;\ttag\t\"basic\";\ttranscript_support_level\t\"1\";\thavana_gene\t\"OTTHUMG00000000961.2\";\thavana_transcript\t\"OTTHUMT00000362751.1\";\nchr1\t11868\t14409\tENSG00000223972.5\t.\t+\tHAVANA\tCDS\t.\tgene_id\t\"ENSG00000223972.5\";\ttranscript_id\t\"ENSG00000223972.5\";\tgene_type\t\"transcribed_unprocessed_pseudogene\";\tgene_status\t\"KNOWN\";\tgene_name\t\"DDX11L1\";\ttranscript_type\t\"transcribed_unprocessed_pseudogene\";\ttranscript_status\t\"KNOWN\";\ttranscript_name\t\"DDX11L1\";\tlevel\t2;\thavana_gene\t\"OTTHUMG00000000961.2\";\nchr1\t11868\t14409\tENSG00000223972.5\t.\t+\tHAVANA\tCDS\t.\tgene_id\t\"ENSG00000223972.5\";\ttranscript_id\t\"ENST00000456328.2\";\tgene_type\t\"transcribed_unprocessed_pseudogene\";\tgene_status\t\"KNOWN\";\tge"..., 8191) = 8191

write(2, "Error: Type checker found wrong number of fields while tokenizing data line.", 76Error: Type checker found wrong number of fields while tokenizing data line.)

write(2, "Perhaps you have extra TAB at the end of your line? Check with \"cat -t\"", 71Perhaps you have extra TAB at the end of your line? Check with "cat -t")

Could you post a file that causes this error?

First few lines. I see now that awk replaced spaces with tabs, so probably this is really about mixed number of TABs on different lines. The original file produced by gtf2bed had only 8 TABs, then a long string with semicolons used as separator while the spaces were present in between the words.
short.bed.gz

Thanks very much.  I agree that we need to report the specific offending line and will try to tackle that.

I also have the same issue,
bedtools intersect -a C5G11--quantModeAligned.out.sam
-b Ig_loci_Ms.bed > C5G11_Ig_loci.sam
Error: Type checker found wrong number of fields while tokenizing data line.
Perhaps you have extra TAB at the end of your line? Check with "cat -t"
I checked with cat
cat -t Ig_loci_Ms.bed | head
chr12^I112775790^I112846044
chr12^I112927742^I113003238
chr14^I105123207^I105179305
chr2^I88186695^I88209546
chr6^I39786764^I39816604
chr16^I12818018^I12860845
chr12^I114192551^I114211726
chr16^I14933707^I14947687
chr6^I40305220^I40314263

I also have the same issue,
bedtools intersect -a C5G11--quantModeAligned.out.sam
-b Ig_loci_Ms.bed > C5G11_Ig_loci.sam
Error: Type checker found wrong number of fields while tokenizing data line.
Perhaps you have extra TAB at the end of your line? Check with "cat -t"

I checked with cat
cat -t Ig_loci_Ms.bed | head
chr12^I112775790^I112846044
chr12^I112927742^I113003238
chr14^I105123207^I105179305
chr2^I88186695^I88209546
chr6^I39786764^I39816604
chr16^I12818018^I12860845
chr12^I114192551^I114211726
chr16^I14933707^I14947687
chr6^I40305220^I40314263


Roll Flutter Engine from 40ea40c0f1cf to cb6a8503e02c (2 revisions)

https://github.com/flutter/engine/compare/40ea40c0f1cf...cb6a8503e02c
2022-08-29<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from Vh3RDMlDGlU9LUgnW... to 5pRBUNt0WvfjDNud4... (flutter/engine#35771)
2022-08-29<EMAIL_ADDRESS>Roll Skia from 97f94c3b9614 to c8d4a1f8c48d (2 revisions) (flutter/engine#35770)
Also rolling transitive DEPS:
fuchsia/sdk/core/mac-amd64 from Vh3RDMlDGlU9 to 5pRBUNt0Wvfj
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Permission Issue: User was able to log into an tenant they weren't a part of

Summary
<EMAIL_ADDRESS>was part of the reshare tenant, not demo. We're requested him to use demo to QA. He logged in and noticed he didn't have permissions or access to importers/exporters. ref slack message
We confirmed he was not a user of this tenant so he shouldn't have been able to log in at all. Is this a hyku bug or a knapsack bug?
We've since added him to the account's administrators to resolve his issue, however this feels like a major bug.
Acceptance Criteria

[ ] Users should not be able to log into tenants they are not apart of

Screenshots or Video
Testing Instructions
Notes

Confirmed by Rob that this is the expected behavior. He should be able to log in but not be able to do any actions within the tenant, which is what Clinton described.

todo: make a new users in prod. What happens when they log into a tenant they aren't part of?
does knapsack staging behave the same? if so, close this ticket.

Confirmed, this same behavior happens in production so valkyrie/knapsack affect it.
<EMAIL_ADDRESS>is part of the demo tenant, not palci-demo tenant. I can sign into into the palci-demo tenant but I'm met with the inability to do anything.
palci-demo

demo


(PUP-3768) Address Win32::TaskScheduler idempotency issues

Supercedes #5012 and #5028, retargets at stable.

CLA signed by all contributors.


dynamic window title setting non functional when TERM=alacritty

This is on Linux X11.
In xterm, urxvt, and kitty, the title while bash is running is username@hostname:bash-cwd (so commonly: me@my_machine:~ and similar).
Alacritty only shows Alacritty as the window title. Window title does change (as expected) when vim or another cmdline application is started that sets it, but in bash: no change from Alacritty.

Actually, looks like no title setting works, and it's related to a configuration change I made:
When env.TERM is left unset (and thus is set to alacritty), none of the window titles are set.
infocmp alacritty returns some terminfo (so it appears the terminfo is installed).

Does everything works correctly when setting TERM: xterm-256color?
If it works with the xterm terminfo, it's probably either a missing capability in our terminfo file (which seems unlikely since we copied xterm-256color), or bash is checking for the terminal emulator before setting the title.
Also, please make sure that dynamic_title is set to true in the configuration file.
Note that I manually checked the source code of bash and wasn't able to find any mention of kitty or rxvt, so I'm not sure what exactly is going on. Are you using the --title option to override Alacritty's window title?

Yes, everything appears to work (wrt dynamic titles) when TERM: xterm-256color is used.
No, I am not using alacritty's --title argument.

@dnkl any idea off the top of your head?

Well, echo -e "\033]0;hello\007" obviously works, and infocmp alacritty xterm-256color shows no related differences. So, most likely someone somewhere has a list of terminfo names. And alacritty isn't on it.
@jmesmon: there isn't much context in your description; my guess is your window title is supposed to be set by PS1? It's usually that, or PROMPT_COMMAND.
Next step is to figure out how and where it is set. If you're not sure about all this, start with posting the values of both of them:
echo $PS1
echo $PROMPT_COMMAND

(for the record, I use a custom window title setter in zsh which works just fine with alacritty).

Found a random (unknown which version) "default" Ubuntu bashrc, where they do this:
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

@jmesmon: I'm guessing you have something like this in your (or the system's) bashrc.

Yep, that's the problem. This is on archlinux. Here's it's /etc/bash.bashrc:
$ cat /etc/bash.bashrc
#
# /etc/bash.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

[[ $DISPLAY ]] && shopt -s checkwinsize

PS1='[\u@\h \W]\$ '

case ${TERM} in
  xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
    PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'

    ;;
  screen*)
    PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
    ;;
esac

[ -r /usr/share/bash-completion/bash_completion   ] && . /usr/share/bash-completion/bash_completion

That said, vim doesn't update the title. Probably a similar thing.
I did investigate why kitty gets functional dynamic titles: it uses TERM=xterm-kitty.

vim appears to have a similar thing, but hard coded in it's source: src/os_unix.c:
    int
vim_is_xterm(char_u *name)
{
    if (name == NULL)
	return FALSE;
    return (STRNICMP(name, "xterm", 5) == 0
		|| STRNICMP(name, "nxterm", 6) == 0
		|| STRNICMP(name, "kterm", 5) == 0
		|| STRNICMP(name, "mlterm", 6) == 0
		|| STRNICMP(name, "rxvt", 4) == 0
		|| STRNICMP(name, "screen.xterm", 12) == 0
		|| STRCMP(name, "builtin_xterm") == 0);
}

If it works with the xterm terminfo, it's probably either a missing capability in our terminfo file (which seems unlikely since we copied xterm-256color)

Before alacritty had it's own terminfo I made a simple one, in the process I learned that xterm-256color's terminfo doesn't list statusline capabilities despite xterm-256color having them, which led to people hard-coding statusline codes for xterm-256color instead of getting them from terminfo.
In short, alacritty.info is missing hs (bool), dsl=\E]2;\007, fsl=^G, and tsl=\E]2;.

@RunningDroid: thanks, and nice catch!
For the record, a terminal emulator could choose to implement the statusline with a different mechanism than the window title (for example, the standard talks about fsl/tsl moving the cursor, so it could be a part of the actual console).
But, since most emulators seems to use the window title, I guess that makes the most sense for Alacritty too.
I've verified that adding hs, dsl=\E]2;\007, fsl=^G, tsl=\E]2;, to alacritty.info fixes the window title / statusline in vim.
@RunningDroid: feel free to submit a pull request, if you're interested. Otherwise @chrisduerr or I can do it.


Quiz question was marked as invalid in the summary

Describe the bug
A quiz question had a red label in the summary, that said "This question is invalid and will be assess as complete correct".
Generally, it is a good thing, that participants of an exercise are informed, if the exercise is considered invalid. However, it is unlikely, that this decision is being made immediately after the exam, so this message is shown in the summary.
Maybe, the exercise has been flagged as invalid in another course, then exported and then imported for this test exam. In this case, it would be great, if importing an exercise had a warning about invalid exercises and the functionality to remove the flag.
The error message with improved grammar is: "This question is invalid and will be assessed as completely correct". However, this is still not entirely correct, since the assessment is not about the question, but the submission. A proposal to correct this: "This question is invalid and your submission will be considered being completely correct".
Screenshots

Environment
Firefox on MacOS

Not a high priority, because we should double check this in case we import quiz questions into the exam.
I agree that the import should warn the instructor in case there are invalid questions or answer options
I guess we can also add an error message in the validation of quizzes at the bottom, in case a quiz has invalid questions or answer options during edit, so that instructors cannot save. Before an instructor "re-evaluates" a quiz, there should be no invalid questions or answer options!
I like the improved phrasing "This question is invalid and your submission will be considered being completely correct".


Browser back button on the search page does not correctly reset history state

First example

Search for something eg “education”
See results for “education”
Search for something else eg “environment”
See results for “environment”
Hit browser back button
I now see results for “education”, but the search box says “environment” (when I would expect it to say “education”)

Second example

Search for something that returns results eg “education”
Type something into the search box that won’t return results eg “foobar” BUT DO NOT SUBMIT THE FORM
Filter by organisation
I see no results
Click browser back button
I do not go back, but I would expect to return to my previous results
Click browser back button again
I’m not out of search altogether

Setup details
Mac OS X Sierra 10.12.4
Chrome 57.0.2987.133

Transferred from alphagov/frontend as search now lives here

this has since been resolved


doc: Rate price

Add rate price column
Extract scripts
Select "Compute Instance"

Thanks for pulling out those scripts! That additional filter is helpful as well.
For the rate price column. I worry that it might be confusing to people to put up at the top before seeing the full explanation. That first table is meant to be a decision-at-a-glance reference and putting $  956.25 on the same line as t4g.micro might give folks pause. I think it might be better to make a second copy of the table at the bottom with additional columns. Ideally someone who reads to the end is going to have the context to understand. What do you think?

I can't think of a more straightforward way to provide the numbers behind your summary assessment that some are "simply not economical options". (In fact, some are astonishingly far from it!) The column is (price per time) per (data per time) which dimensions simplify to (p/t)/(d/t) or (pt)/(dt) or p/d which captures the economical-ness comparison but isn't as clear about how you got there. You're right, maybe some additional prose is necessary.


Documentation

The readme is becoming bloated as the number of utility functions grows. It's time to use a program to produce a proper documentation page to make functions easier to identify and document.
Any tool with the following properties is acceptable for use:

Code generation: the ability to regenerate documentation upon each update
Filters: the ability to search and filter via utilities
Groups: the ability to group the specific functions together
Customizable tools are preferred

#36


[SPARK-37800][SQL][FOLLOW-UP] Remove duplicated LogicalPlan inheritance

What changes were proposed in this pull request?
This PR is a followup of https://github.com/apache/spark/pull/35084 that removes duplicated LogicalPlan inheritance because LeafNode always inherits LogicalPlan.
Why are the changes needed?
To make the codes easier to read and less error-prone. e.g., if we switch LeafNode to an abstract class like LogicalPlan the complication fails.
To clarify, this is the only LeafNode instance in the current codebase that duplicately inherits LogicalPlan.
Does this PR introduce any user-facing change?
No, virtually no-op for now.
How was this patch tested?
Existing test cases should cover.

cc @cloud-fan FYI

Thanks! Merged to master and branch-3.2.


installing with bower and running gulp fails

I am trying to install np2-bootstrap as bower module and build with gulp, but npm install fails with below error. Any help?
299008 error Windows_NT 10.0.10586
299009 error argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install"
299010 error node v4.4.5
299011 error npm  v2.15.5
299012 error code ELIFECYCLE
299013 error<EMAIL_ADDRESS>prepublish: npm run flow.clean && npm run flow.compile
299013 error Exit status 1
299014 error Failed at the<EMAIL_ADDRESS>prepublish script 'npm run flow.clean && npm run flow.compile'.
299014 error This is most likely a problem with the ng2-bootstrap package,
299014 error not with npm itself.
299014 error Tell the author that this fails on your system:
299014 error     npm run flow.clean && npm run flow.compile
299014 error You can get information on how to open an issue for this project with:
299014 error     npm bugs ng2-bootstrap
299014 error Or if that isn't available, you can get their info via:
299014 error
299014 error     npm owner ls ng2-bootstrap
299014 error There is likely additional logging output above.

Is this all the error logging that you get ? I assume it might be a bit more than this...

closing as inactive


[Addition] Thrustmaster MFDs

Hi nice software!!!
It would be cool if the Thrustmaster MFD's also were supported.

Thanks!
I finally got my hands on a pair of MFDs, so I'll try to work on it.
It seems that we can enable / disable the 2 top LEDs and the intensity of all the LEDs from the T.A.R.G.E.T GUI.


fetch hook is called on deactivated page with keep-alive on nuxt-child

I use the async fetch() hook to fetch the data from the backend.
To reduce the backend calls, i activated the keep-alive in the default layout.
So the cache works fine, but in some cases, the fetch is executed on a page, which is not active anymore.
Versions

nuxt: v2.15.4

Reproduction
Link to a minimal test case based on one of:
https://codesandbox.io/s/nuxt-keep-alive-fetch-from-wrong-subpage-jiqokm
Steps to reproduce

Open the Page and show the Debug tools for the console log
Press on Nested
Press on Child 1
Press on Child 2
Press on Index to return to index page

What is Expected?

Press on Child 1 -> console: Fetch on child1.vue from /parent/child1
Press on Child 2 -> console: Fetch on child2.vue from /parent/child2
Press on Index to return to index page

What is actually happening?

Press on Child 1 -> console: Fetch on child1.vue from /parent/child1
Press on Child 2 -> console: Fetch on child2.vue from /parent/child2
Press on Index to return to index page -> console: Fetch on child2.vue from /

Actually i use this.$route to extract a child parameter, which leads to unexpected behavior, when the fetch method is called with a wrong route value.

hi @mme-htkw  have you try use Store  instead ?. so you want the data fetch only once at the time  you can use Nuxt Server Init to call action to fetch data and save the data in the state then you can use the data to all your component.

Hi @silvesterwali
Actually i have to setup a Dashboard, where on all pages, different data is fetched from the backend. So i tried to implement it with the fetch() hook, which have some really nice features. Like fetch status to show a Loading text or an error message, when the fetch fails.
With the keep-alive it would automatically cache the pages, and not fetch it again while navigate through different pages.
Actually i already used the Store and tried to switch over to fetch instead and found this issue. So if there isn't a solution i will stay on the store.

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. This is advance warning that I'm going to close this issue then, as it's currently marked as a Nuxt 2 related bug.
If it's a critical or security issue, please do comment and let me know, in case it is possible to address it before the EOL date.
If it's a an issue you think is relevant for Nuxt 3, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏
Thank you for your understanding and for your contribution to Nuxt. ❤

It's the day, at last. Nuxt 2 is now marked end-of-life.
My apologies we never got round to resolving this bug in the 2.x branch, but we do have to draw a line somewhere. Again, if you think this is still relevant for Nuxt going forward, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏


sqlparser "Bad state: No element" when named variables appear more than once in query

For example in the flutter_example project:
queries: {
    'search': 'SELECT * FROM todos WHERE CASE WHEN -1 = :id THEN 1 ELSE id = :id END',
  }

fails with the error:
[SEVERE] moor_generator on lib/database/database.dart:
Error running MoorGenerator
Bad state: No element

Thanks for the report - it's fixed on develop.


Payment metod

Only PPLNS only support?

Yes.

Other methods to implement possible?

Yes the architecture is modular: https://github.com/coinfoundry/miningcore/blob/master/src/MiningCore/Payments/Abstractions.cs#L40

@oliverw Can i get some guide how i can change payment metod? or mb u have ready project?


Refresh token needs client secret for authorization

Hey @domagoj-gusic-sb,
I noticed you created a separate package on PyPI: https://pypi.org/project/apache-airflow-microsoft-fabric-plugin-custom/. Could you please remove both the Power BI and Fabric plugins? They are misleading as I am actively managing these packages on behalf of Microsoft.
I would really appreciate it if you could raise a PR for any issues in the main repository. I’d be happy to review and merge your commits.
Thank you!

Originally posted by @ambika-garg in https://github.com/ambika-garg/apache-airflow-microsoft-fabric-plugin/issues/1#issuecomment-2273786248
Hey @ambika-garg, thank you for work on this package. The issue we had is that we cant use in our organization the authorization method without a client secret, in the package of @domagoj-gusic-sb  is it possible to use a client secret. And the authorization works like a charm. Any chance that is possible to add this to your package?

Hi,
I'm more than happy to delete both packages as I'm not really a fan of working like this, but at this time, this is the only way how we can fully utilize both plugins, and we need to utilize them "yesterday". Simply, we don't have the time to wait for few weeks/months for a fix. :(
In our company, we have very strict security policy and all user created apps require a client secret.
Moreover, there are two more issues, one with each plugin. First issue is with this plugin, for some reason, location_id of the URL of the job is not visible immediately and therefore, Airflow task will fail. Implementing 3 sleeps solved this temporarily. Next, there is unbounded local reference to a variable in PowerBI plugin which needed to be solved.
Hopefully you understand and thank you for the work on both of these plugins!

Hi @domagoj-gusic-sb,
Thank you for your patience! We’ve now added support for the client secret in the plugin. With this update, you should be able to use this package independently, which should eliminate the need for any additional custom packages and simplify maintenance.
If you have any further questions or require additional adjustments, please don’t hesitate to reach out.
Kind regards,
Ambika


Edit the Fontelo

Hi
I have created one font icon using fontelo 10 days back , and now I want to add three more icon in to that same file , is it possible . Please let me know if any solution is there.
Thanks

https://github.com/fontello/fontello/wiki/How-to-save-and-load-projects


Async transition hooks?

I'm sorry if I'm duplicating some existing issue about this.
I found some issues like #50 and related, but they all seems to be about something non-existent in current version of history.
At least, currently neither docs nor code says that async check is possible to do things like this:
history.block((location, action, cb) => asyncValidate(myInput.value).then(cb))

Only getUserConfirmation accepts a callback – but it works only with confirmation text, so if I need both asynchronicity and current location, I have to access history.location through closure. Is this a supposed way to do what I want? And do you have plans to add such feature in future?

history.block is a synchronous API. We had an async API in past versions, but it was too buggy so we removed it.

Hmm... but it looks so easy to implement:
if (prompt != null) {
  const promptCallback = result => {
    if (typeof result === 'string') {
      ...all current logic
  }

  typeof prompt === 'function' ? prompt(location, action, promptCallback) : promptCallback(prompt)

Is it wrong?
Could you please give some short example about what kind of bugs asynchronicity can bring in this API?
Even if it will never be added, I would like to know what I should be afraid trying to do this.

What's your use case?

If my data are inside some container, like RxJS Observable, how do I access them synchronously in prompt?

Good question. I don't know, to be honest. But, isn't it true also for callback used in getUserConfirmation?

Actually, this is what confuses me a lot. confirmTransitionTo API is already async – as it accepts a callback. But prompt function is not. Where is the difference?

No I mean what does the user need to do that is async? Getting a confirmation from a user is necessarily async because they need some time to click on the button. But we should be able to block the transition synchronously. The fact that your code won't let you do that just means you need to change your code.

No I mean what does the user need to do that is async?

User does not need to do anything to decide whether there are block conditions. The code does need to do this. And code can be either sync or async. User only decides whether to agree with that conditions. Talking about prompt function we're talking only about code, not about interaction with user, do we?

The fact that your code won't let you do that just means you need to change your code.

Well, it's a strong argument =)
I agree. But please, explain what do you mean under "block the transition synchronously"?
I really don't understand this point. Looking at code, I see that the transition handling process consists of:

calling history.push – it's sync, ok
calling transitionManager.confirmTransitionTo – still sync
executing code in callback, passed to confirmTransitionTo – and in case of custom getUserConfirmation function this operation can be async. So entire process of blocking transition is potentially async. And so, I'll repeat myself, yet another callback on the way does not make any difference.

Any updates?

No. This issue is closed, meaning I don't intend to do anything. If you'd like to make a change, I'd be happy to consider a PR. But I'm fine with the current API.

@mjackson I mean what about my question above?
It would be glad to make a PR, but you insist that making prompt function async will break ability to "block the transition synchronously" – whatever this means.
So, until I understand this, there is no sense to submit something that is definitely wrong for you.


Need help with plotting

Is there a way the solution could be plotted on a map (or even as simple nodes) showing the direction of different vehicles? It would be great if you could point me to a good resource to figure this out.

Tableau can be used for routing. I am planning to work on a Python library for visualization in the future.

Tableau can be used for routing. I am planning to work on a Python library for visualization in the future.


Error after removing SuppressForeignKeyEnforcement() after EF Core 3.0 upgrade

I am working on a Xamarin Forms App and I upgraded to Xamarin iOS 13.8 .  After I upgraded I noticed my dbcontext.savechanges was no longer working so I upgraded my EF Core and EF Core Sqlite to 3.0.
After doing this I got an error stating
optionsBuilder.UseSqlite($"Filename={DBPath}", x => x.SuppressForeignKeyEnforcement());
no longer worked as x.SuppressForeignKeyEnforcement was no longer available.  I saw another person report this issue here:
https://github.com/aspnet/EntityFrameworkCore/issues/17344
and their solution was to simply remove the SuppressForeignKeyEnforcement() part, but that isn't working for me.
When I tried that my dbcontext.savechanges calls are still not saving and I am getting the following error:
"Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> Microsoft.Data.Sqlite.SqliteException: SQLite Error 19: 'FOREIGN KEY constraint failed'."
Any solutions?
Further technical details
EF Core version: 3.0.0
Database provider: Microsoft.EntityFrameworkCore.Sqlite
Target framework: (e.g. .NET Core 3.0)
Operating system: iOS
IDE: Visual Studio Mac 8.3.7

@bricelam The breaking change documentation says:

Foreign keys are enabled by default in SQLitePCLRaw.bundle_e_sqlite3, which is used by default for EF Core. For other cases, foreign keys can be enabled by specifying Foreign Keys=True in your connection string.

Does that mean that Foreign Keys=False will disable FK enforcement? (I remember we had discussion around this, but I don't remember the outcome.)

Confirmed with @bricelam that this should work.


match invite members button space with other lhs spacing

Summary
Fix whitespace of left hand side invite members button to match other left hand side items.
Ticket Link
https://mattermost.atlassian.net/browse/MM-38466
Related Pull Requests
none
Screenshots
before:

after:

Release Note
Fix whitespace of left hand side invite members button to match other left hand side items.

Cherry pick is scheduled.


Parse error on functions using the IN keyword

I'm getting a ParseException when parsing:
"SELECT position("-" IN row_key) FROM hbase".
After trying out some more queries, i've deduced that JSqlParser isn't handling expressions (SimpleExpressions) containing the "IN" token. The grammar, JSqlParserCC.jjt, doesn't accept IN as a lookahead for a SimpleExpression, but only accepts '&' and '|'. This may explain why the query doesn't work.

Maybe PrimaryExpression would be a better place. But I am not sure if this would result in the right usage of "x in y". One could write an SQL like
select x in y from my table
Would that be correct? Does this deliver a boolean? On the other hand for position it is a simple type of specifying the parameters, when you will some kind of syntactic sugar.

"select x in y from mytable" is valid SQL according to SQL2003 (see http://savage.net.au/SQL/sql-2003-2.bnf.html), though, I don't know of if any vendor implements it. The Position syntax is typically used as a sugar for functions like CHARINDEX (for MSSQL) or LOCATE (for MYSQL). However, the vendor i'm using, Apache Drill, doesn't provide alternatives, which means position(substr IN str) is my only option.
As far as I can tell from the SQL2003 bnf, the position syntax is indeed valid.

Sorry for the late answer. It was new to me that "select x in y from mytable" is valid. Then PrimaryExpression would be the right place to start. I think it would cause a lot of lookahead troubles because of InExpression:
select * from mytable where a in b in (select true from mytable2)

Yes you're right, PrimaryExpression is better.
The lookahead will be a bit tricky as there are a bunch of conflicts with the other choices. If you're worried about the performance of a naive choice like "LOOKAHEAD(InExpression()) {...}", you could add it as the final choice, so that it's only used as a last resort.

already solved


Compilation error on iOS for release

Hi, great library thank you!
In PaletteSwatch.m you have conditional is either always false or doesn’t execute anything.
This causes a compiler error when building for release.
if (max == rf){
If you could remove it, that would be great!

I opened a PR that fixes this issue (by re-enabling the lines commented out).
Not exactly sure what those lines do though...


Add the interface for initializing the mixin

riot.mixin('my-mixin', {
    init: function() {
      this.on('updated', function() { console.log('Updated!') })
    },
    message: 'Hello world!'
})

<my-tag>
    <p>{ message }</p>
    this.mixin('my-mixin')
    this.init() // I want to remove this line...
</my-tag>

I've realized that (almost) all mixins need some code to init it: adding event listeners or something. Is it better to wait for next 2.0.17 release?

Coverage decreased (-0.13%) to 91.5% when pulling 751fbae6beae22257691a1946a6c76a7aaf32406 on cognitom:mixin-initializer into e3e0f1481a0dc4d537931906d9c809df6d2a9957 on muut:dev.

I was going to suggest this as a feature. What if there is more than one mixin, potentialy from various sources, how do you get them all to initialize?

Never mind. I see it now.

thanks @cognitom

@cognitom what are your thoughts on providing initial values to a mixin?
this.mixin(mixinObject, opts.initialValues)

Also, I have an issue with using init.
not using init I get one log in my console for each input change, just enter a value and tab and watch the console
using init I get multiple, any ideas?  Looks like init is called multiple times, 3 in this case.

@rsbondi the idea of initial values makes sense for me, too :)
About the issue, I'd like to check it. Do you have more simpler example?
It seems that I'm suffering the same issue on this project. In my case, init is called twice.
http://cognitom.github.io/ikki/

It seems it is called with init and once for each function.  Here I started with just init, it was called once, I added funone, it was called twice, added funtwo, called 3 times, etc.

this needs to be outside the loop

Gotcha! Thanks a lot. I'll send fix ASAP.

Done. Sorry, that was my mistake...
@GianlucaGuarini pls merge this before the next release. Thanks!

So @cognitom you can do initial values already
var amixin = function(initialValues) {
  return {
    init: function() {
      this.doSomething(initialValues)
    },
...
})

and
this.mixin(new amixin(opts.initialValues))


Some issues with references

Incorrect formatting in reference list (check the bibtex {}):

[ ] "Indo-european phylogenetics with r: "
[ ] "indo-european"

Other issues

[ ] Herce and Cathcart is now published, update reference details

I have now addressed all of these issues on the branch assigned to this issue.

lovely, thanks