Strange additional characters in Oracle error messages.

Environment

Python: 3.4.3 64bit
pyodbc: 4.0.18+
OS: Windows 10 64bit
DB: Oracle Database 12c Enterprise Edition Release <IP_ADDRESS>.0 - 64bit Production
driver: Oracle <IP_ADDRESS>

Issue
When I recently upgraded from pyodbc 4.0.17 to 4.0.24 I noticed that I received additional characters in Oracle error messages.
For example the query SELECT FROM dual; (note the missing *) will return ('HY000', '[HY000] [Oracle][ODBC][Ora]ORA-00936: missing expression\n (936) (SQLExecDirectW)') in pyodbc 4.0.17.
(When I say "return" in this context, I mean it is throwing an exception with this message)
In pyodbc 4.0.18 (and also the latest 4.0.24) the same query returns ('HY000', '[HY000] [Oracle][ODBC][Ora]ORA-00936: missing expression\n\x00\x00\x00\x00\x00\x00\x00ᾨգ\x00\x00\x00\x00\x00\x00\uec28昝\x00\x00鋈թ\x00\x00ຂ昘\x00\x00㙐\x00\x00\x00\ueed0¾\x00\x00\ueed4¾\x00\x00\x00\x00\x00\x00㙐\x00 (936) (SQLExecDirectW)')
In the 4.0.18 release notes I have found:

Fix Unicode error messages that were sometimes garbled in the past.

But it seems from this version on, the error messages now contain additional garbage data, at least in Oracle.
I have also tried various combinations of setencoding and setdecoding, but this strange "extra data" was never successfully unscrambled.
AFAICT, everything else (INSERT / UPDATE / DELETE / ...) is working fine.
Edit:
I am not sure if this related to issue https://github.com/mkleehammer/pyodbc/issues/369 because, as you can see, the first part of the error is perfectly readable, and that's basically all there is to the error.
This issue is about extra data that is contained in the exception, that does not seem to be part of the actual error message.

Please post an ODBC trace for more information.

pyodbc 4.0.17:
test_pyodbc3    4734-3d24	ENTER SQLExecDirectW
		HSTMT               0x00000000053F26C0
		WCHAR *             0x0000000004F401B8 [      16] "select from dual"
		SDWORD                    16

test_pyodbc3    4734-3d24	EXIT  SQLExecDirectW  with return code -1 (SQL_ERROR)
		HSTMT               0x00000000053F26C0
		WCHAR *             0x0000000004F401B8 [      16] "select from dual"
		SDWORD                    16

		DIAG [HY000] [Oracle][ODBC][Ora]ORA-00936: Ausdruck fehlt
 (936)

test_pyodbc3    4734-3d24	ENTER SQLGetDiagRecW
		SQLSMALLINT                  3 <SQL_HANDLE_STMT>
		SQLHANDLE           0x00000000053F26C0
		SQLSMALLINT                  1
		SQLWCHAR *          0x0000000000FEF290
		SQLINTEGER *        0x0000000000FEF7A8
		SQLWCHAR *          0x00000000053F2D10
		SQLSMALLINT               1023
		SQLSMALLINT *       0x0000000000FEF7A0

test_pyodbc3    4734-3d24	EXIT  SQLGetDiagRecW  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  3 <SQL_HANDLE_STMT>
		SQLHANDLE           0x00000000053F26C0
		SQLSMALLINT                  1
		SQLWCHAR *          0x0000000000FEF290 [       5] "HY000"
		SQLINTEGER *        0x0000000000FEF7A8 (936)
		SQLWCHAR *          0x00000000053F2D10 [      90] "[Oracle][ODBC][Ora]ORA-00936: Ausdruck fehlt\ a\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0"
		SQLSMALLINT               1023
		SQLSMALLINT *       0x0000000000FEF7A0 (90)

test_pyodbc3    4734-3d24	ENTER SQLGetDiagRecW
		SQLSMALLINT                  3 <SQL_HANDLE_STMT>
		SQLHANDLE           0x00000000053F26C0
		SQLSMALLINT                  2
		SQLWCHAR *          0x0000000000FEF290
		SQLINTEGER *        0x0000000000FEF7A8
		SQLWCHAR *          0x00000000053F2D10
		SQLSMALLINT               1023
		SQLSMALLINT *       0x0000000000FEF7A0

test_pyodbc3    4734-3d24	EXIT  SQLGetDiagRecW  with return code 100 (SQL_NO_DATA_FOUND)

pyodbc 4.0.24:
test_pyodbc3    3468-2fb0	ENTER SQLExecDirectW
		HSTMT               0x00000000053926C0
		WCHAR *             0x0000000004EC0D88 [      16] "select from dual"
		SDWORD                    16

test_pyodbc3    3468-2fb0	EXIT  SQLExecDirectW  with return code -1 (SQL_ERROR)
		HSTMT               0x00000000053926C0
		WCHAR *             0x0000000004EC0D88 [      16] "select from dual"
		SDWORD                    16

		DIAG [HY000] [Oracle][ODBC][Ora]ORA-00936: Ausdruck fehlt
 (936)

test_pyodbc3    3468-2fb0	ENTER SQLGetDiagRecW
		SQLSMALLINT                  3 <SQL_HANDLE_STMT>
		SQLHANDLE           0x00000000053926C0
		SQLSMALLINT                  1
		SQLWCHAR *          0x0000000000FEEA50
		SQLINTEGER *        0x0000000000FEEA48
		SQLWCHAR *          0x0000000000FEEA60
		SQLSMALLINT               1023
		SQLSMALLINT *       0x0000000000FEF2B8

test_pyodbc3    3468-2fb0	EXIT  SQLGetDiagRecW  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  3 <SQL_HANDLE_STMT>
		SQLHANDLE           0x00000000053926C0
		SQLSMALLINT                  1
		SQLWCHAR *          0x0000000000FEEA50 [       5] "HY000"
		SQLINTEGER *        0x0000000000FEEA48 (936)
		SQLWCHAR *          0x0000000000FEEA60 [      90] "[Oracle][ODBC][Ora]ORA-00936: Ausdruck fehlt\ a\ 0\ 0\ 0\ 0\ 0\ 0\ 0??\ 0\ 0\ 0\ 0\ 0\ 0??\ 0\ 0??\ 0\ 0??\ 0\ 0?\ 0\ 0\ 0?\ff\ 0\ 0?\ff\ 0\ 0\ 0\ 0\ 0\ 0?\ 0"
		SQLSMALLINT               1023
		SQLSMALLINT *       0x0000000000FEF2B8 (90)

test_pyodbc3    3468-2fb0	ENTER SQLGetDiagRecW
		SQLSMALLINT                  3 <SQL_HANDLE_STMT>
		SQLHANDLE           0x00000000053926C0
		SQLSMALLINT                  2
		SQLWCHAR *          0x0000000000FEEA50
		SQLINTEGER *        0x0000000000FEEA48
		SQLWCHAR *          0x0000000000FEEA60
		SQLSMALLINT               1023
		SQLSMALLINT *       0x0000000000FEF2B8

test_pyodbc3    3468-2fb0	EXIT  SQLGetDiagRecW  with return code 100 (SQL_NO_DATA_FOUND)

Please let me know if you need any other information from the ODBC trace.

This appear to be a bug in the ODBC driver, not pyODBC. The error message is 45 characters long, or 90 bytes. The driver is returning 90 in SQLGetDiagRecW, which is specified to be in number of characters and not bytes: https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetdiagrec-function Thus pyODBC correctly takes 90 characters, resulting in the extra characters at the end.

But I use the exact same setup in both cases, the only thing different is the pyodbc version.
As you can see, in 4.0.17 the error message is "[Oracle][ODBC][Ora]ORA-00936: Ausdruck fehlt\ a\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 0"
and in 4.0.24 the error message is "[Oracle][ODBC][Ora]ORA-00936: Ausdruck fehlt\ a\ 0\ 0\ 0\ 0\ 0\ 0\ 0??\ 0\ 0\ 0\ 0\ 0\ 0??\ 0\ 0??\ 0\ 0??\ 0\ 0?\ 0\ 0\ 0?\ff\ 0\ 0?\ff\ 0\ 0\ 0\ 0\ 0\ 0?\ 0"
Why would the same driver return different values for different pyodbc versions?

It may be undefined, but it is always reproducible.
No problems with pyodbc 4.0.17 and lower, and always these extra characters with pyodbc 4.0.18 and higher.
So something must have changed from 4.0.18 onwards, right?

The ODBC trace shows that the driver is returning an incorrect length for the message, which is twice of what it should be. The fact that previous versions of pyODBC produced a correct result should be considered nothing more than coincidence, as any small change in your configuration could cause the results to change.

IMHO this is pyodbc mishandling the error string after 4.0.18 as I have the same issue as described above.

To repeat again, this is a bug in the ODBC driver which is returning an incorrect length.

The difference is that in 4.0.17 we used SQLGetDiagRec but for Unicode error message support, which is a critical item, we switched to SQLGetDiagRecW (notice the 'W' on the end for "wide").
I have to agree with v-chojas here and say that the Oracle driver seems to have a bug.  The SQLGetDiagRec docs are pretty clear that the length should be in characters, not bytes.
@pannetron Can you open an issue with Oracle and ask about this?

Michael,
A HUGE thank you for the details of the changes made after 4.0.17!
At CU Boulder's Laboratory for Atmospheric and Space Physics, we operate
several spacecraft for NASA, some quite old.  It's a BIG deal for us to
change our foundation software platforms because we must avoid upsetting
things that work.  For this reason we seldom upgrade to recent packages and
we're on some admittedly pretty dated Oracle driver software.  We must also
support multiple platforms including Solaris, multiple flavors of Linux,
and several programming languages in addition to python.  For those reasons
we've elected to avoid updating Oracle drivers to our Oracle databases.
I will take an action item to investigate how the error strings are
returned from the driver and if the Oracle bug still exists in their
current driver versions.  Do you think that the thin shell of unixODBC
might also be suspect?  The version of Oracle drivers we use requires the
use of an older, compatible version of unixODBC.  We realize that the
"correct" solution is to update everything and that's on our strategic
plan, it's just going require years in our environment!
If we revert to pyodbc 4.0.17, will we miss out on significant bug fixes or
just new features that our older drivers probably don't support anyway?
I'll look into change logs in the pyodbc project to try to answer my own
question.
Again, thank you for the detail in your first sentence!
Cheers,
Russ Panneton
<EMAIL_ADDRESS>Operations Software
Laboratory for Atmospheric and Space Physics
University of Colorado Boulder
+1-303-492-7618
On Thu, Dec 13, 2018 at 8:32 PM Michael Kleehammer<EMAIL_ADDRESS>wrote:

The difference is that in 4.0.17 we used SQLGetDiagRec but for Unicode
error message support, which is a critical item, we switched to
SQLGetDiagRecW (notice the 'W' on the end for "wide").
I have to agree with v-chojas here and say that the Oracle driver seems to
have a bug. The SQLGetDiagRec
https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetdiagrec-function?view=sql-server-2017
docs are pretty clear that the length should be in characters, not
bytes.
@pannetron https://github.com/pannetron Can you open an issue with
Oracle and ask about this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mkleehammer/pyodbc/issues/489#issuecomment-447201936,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARvMk7veCFzamISZEUefJea7l_nMn-ffks5u4xu7gaJpZM4YvVQ-
.

Driver bugs, or sometimes purposefully ignoring the spec, have been a constant over pyodbc's lifetime and I've tried to work around them where possible.  For example, the text-encoding settings are all to work around the fact that the ODBC specification tells us the encodings that should be used, but for performance many drivers use UTF-8.
Sometimes the products even have flags - note this one from IBM
Some types of behavior, like the one here, are very easy to work around with a flag.  I'd be happy to do so but want to quickly see if anyone has any suggestions on a reasonable interface for these types of flags.  Should we use just a flags bitfield or should we plan on more complicated settings?  If so, should each flag be a property so we can change the types?
# default
cnxn.compat_diagrec = None

# length is in bytes, but Unicode
cnxn.compat_diagrec = 'byte-length'

# ASCII, so we know length is in bytes
cnxn.compat_diagrec = 'ascii'

I like the idea of having a common prefix to emphasize these are deviations from normal behavior.  Is there a better prefix?
cnxn.compat_diagrec = 'byte-length'
cnxn.workaround_diagrec = 'byte-length'
cnxn.fix_diagrec = 'byte-length'
cnxn.driverbug_diagrec = 'byte-length'

@gordthompson @v-chojas What do you guys think?  Even when we can get driver issues fixed, there are environments where a quick workaround is handy.

@pannetron if 4.0.17 is working fine for you and you are in legacy environment unwilling to upgrade everything else, then there is no reason to change it. Do note that unixODBC 2.3.0 is very, very buggy (see the changelog at http://www.unixodbc.org/ --- search for SQLGetDiagFieldW) and I would not be surprised if it is the cause here. Unfortunately if your driver is using 2.3.0 it can't use any later version because unixODBC changed its ABI between 2.3.0 (which shares the same ABI as the 2.2.x) and 2.3.1+.
@mkleehammer unless there is a strong need for someone with an old buggy driver+DM to use a new pyODBC, I would hold off on introducing yet more complexity in those codepaths. If anything, introducing an option to switch diag recs between ANSI/Unicode might be better in this case and in general. With combinations of bugs in the DM and driver you may get anywhere from 1/8 to 8x the expected length value, and it might even depend on which characters are present in the string.

In case other folks can benefit from this, I'm reporting that we installed pyodbc 4.0.17 in our python 3.7.1 environment and now we're good to go.  For us, this is an effective and acceptable near-term workaround.

Hi. Have same problem with python3.7.3, pyodbc 4.0.24 and unixODBC 2.3.7
How i can fix it?

As discussed above, the bug is in the ODBC driver --- owned by Oracle, not pyODBC.

Right. But how about compat_diagrec flag realization? it's will be nice.

Yes please! I would love a compat flag or the like. ATM, there isn't much of a workaround as trying to catch and better parse the issue only works sometimes. Since pyodbc tries to decode the message and it sometimes has non-encodable characters. So sometimes I catch pyodbc.Error and sometimes UnicodeDecoeError which doesn't seem to have the original message.

At the least if I could get back a raw message in some way I can easily enough reduce the length by two. Unfortunately on occasion the UnicodeDecodeError is thrown and I no longer have access to the original message. : /

Can confirm that removing the *2 that is *sizeof(ODBCCHAR) from the below errors.cpp snippet works around this as I just removed it and installed from source. So, how can we get this info into errors.cpp? I'm not great with cpp and know even less about cpython, but I'd love to help and submit a pull request.
        // Note that this will not work if the DM is using a different wide encoding (e.g. UTF-32).
        const char *unicode_enc = conn ? conn->metadata_enc.name : ENCSTR_UTF16NE;
        Object msgStr(PyUnicode_Decode((char*)szMsg, cchMsg * sizeof(ODBCCHAR), unicode_enc, "strict"));

        if (cchMsg != 0 && msgStr.Get())

@mkleehammer  Regarding how the flags should be done. I would say something like a sub-object.
so not just
cnxn.compat_diagrec = 'byte-length'
cnxn.workaround_diagrec = 'byte-length'
cnxn.fix_diagrec = 'byte-length'
cnxn.driverbug_diagrec = 'byte-length'

but
cnxn.compat.diagrec = 'byte-length'
cnxn.workaround.diagrec = 'byte-length'
cnxn.fix.diagrec = 'byte-length'
cnxn.driverbug.diagrec = 'byte-length'

That way whatever name is decided on to indicate this is a fix for what someone outside of pyodbc broke, that name can be a single attribute that is carried around instead of a bunch of one off attributes.
Otherwise, we could also...
1). Use env vars. (not my favorite, but simple and easy to remove if the drivers ever get fixed.
2). Check the current driver version and apply a fix automagically. (I like, but I could see this being too automagical.)
Either way, let's do this! : )

@reedjosh What DM are you using? If unixODBC, you should try to upgrade that first.

@v-chojas ... I have upgraded to the latest. Compiled unixODBC from source. This bug is still present. Simply rebuilding pyodbc with the *sizeof(ODBCCHAR) removed from:
https://github.com/mkleehammer/pyodbc/blob/master/src/errors.cpp#L295
solves this, but I'd prefer a workaround option instead of modifying source. : /
Further, config options would be useful for issues like
https://github.com/mkleehammer/pyodbc/blob/master/src/errors.cpp#L268

As a quick fix, wouldn't it be good to change the error handling and replace "strict" in

// For now, default to UTF-16 if this is not in the context of a connection.
// Note that this will not work if the DM is using a different wide encoding (e.g. UTF-32).
const char *unicode_enc = conn ? conn->metadata_enc.name : ENCSTR_UTF16NE;
Object msgStr(PyUnicode_Decode((char*)szMsg, cchMsg * sizeof(ODBCCHAR), unicode_enc, "strict"));

with e.g. "replace"? Or at least create an option to do so? It is quite unpleasant that decoding errors in error message raise a SystemError.


Dirichlet distribution

Description of changes:

Implemented Dirichlet distribution
Added missing distributions to docs

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

Codecov Report

Merging #71 into develop will increase coverage by 0.17%.
The diff coverage is 88.46%.

@@             Coverage Diff             @@
##           develop      #71      +/-   ##
===========================================
+ Coverage    82.88%   83.05%   +0.17%
===========================================
  Files           69       70       +1
  Lines         3628     3706      +78
  Branches       667      679      +12
===========================================
+ Hits          3007     3078      +71
- Misses         413      414       +1
- Partials       208      214       +6

Impacted Files
Coverage Δ

mxfusion/components/distributions/__init__.py
100% <100%> (ø)
:arrow_up:

mxfusion/components/distributions/dirichlet.py
88.31% <88.31%> (ø)

mxfusion/util/testutils.py
67.9% <0%> (+2.46%)
:arrow_up:

Continue to review full report at Codecov.

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


[API] support a version of lint fix which has no side effects

Feature request
Is your feature request that we implement a new rule?
No
Is your feature request related to a problem? Please describe.
see https://github.com/azz/prettier-tslint/blob/2edde01bca93787ca287c1c7669a5bc18e2637b4/src/run-tslint.js#L15-L19
Describe the solution you'd like
I want to an API that tslint could  return code string after fix and linter result.
const ret = linter.lintFix(inputCode,...otherArgs)

console.log(ret.code) //  the code string after fix
console.log(ret.lintResult) // the lint result before fix
console.log(ret.lintFixedResult) // the lint result after fix

// The API name proposed by me should be polished, maybe.

Describe alternatives you've considered
None
Additional context
see https://github.com/azz/prettier-tslint/blob/2edde01bca93787ca287c1c7669a5bc18e2637b4/src/run-prettier.js#L14

💀 It's time! 💀
TSLint is being deprecated and no longer accepting pull requests for major new changes or features. See #4534. 😱
If you'd like to see this change implemented, you have two choices:

Recommended: Check if this is available in ESLint + typescript-eslint ✅
Not Recommended: Fork TSLint locally 🤷♂

👋 It was a pleasure open sourcing with you!
If you believe this message was posted here in error, please comment so we can re-open the issue!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


Start-Process should support redirecting to variable names or stream objects

Because there are many executables (mostly of linux origin) which use stderr to write status messages (in addition to errors), and rely purely on exit code to indicate whether there actually is an error or not ....
As a PowerShell scripter, I need to be able to run an executable and both stream the output for sake of status updates and capture the (stderr) output so I can report on it properly if there is an actual error.
Start-Process doesn't support this -- it only captures to file, and if it does, it doesn't output. Additionally, since output stream redirection is limited to redirecting to stdout or file, I cannot redirect error to verbose on CLI apps that consistently behave this way...
My current company has contrived more than one complicated wrapper around ProcessStartInfo and Diagnostics.Process to handle the output events and so on. In fact, it seems that every company I work with above a certain level of PowerShell maturity has their own custom Invoke-Process or other replacement for Start-Process to try and handle this.
Start-Process should allow capturing and also outputting
Start-Process should allow capturing (and reading input from) variables instead of just files

Personally, I think we should not enhance start-process and instead provide ways to solve interacting with processes natively.  It seems that if we make the Variable: provider work like a file, this should solve some of your problems?
somecommand 2> variable:stderr 1> variable:stdout

Tee-Object doesn't work with redirection, so need to think how to redirect while still outputting...
We should also allow redirecting one stream to another stream beyond stdout like:
somecommand 2>&3

@SteveL-MSFT   For long running commands, this would make it look like powershell has hung.
I think we need a layered approach where the lowest level converts output and errors to a tagged union of output * string and error * string. On top of that it is quite easy to layer redirection to different streams, or to capture in variables.
It also opens a path to handling more complex commands where there is mixed progress and verbose output in the different streams, and makes it quite easy to make a parser that interprets the output and direct it do the appropriate powershell stream.

public class ProcessOutput {
   private string _value;
   public ProcessOutputKind Kind {get;}
   public string Error => Kind == ProcessOutputKind.Error ? _value : throw new InvalidOperationException();
   public string Output => Kind == ProcessOutputKind.Output ? _value : throw new InvalidOperationException();
}

class ProcessEx {
   public IEnumerable<ProcessOutput> Run(..., CancelationToken cancel){
         ...
         foreach(processOutput item in someConcurrentQueueWithOutputAndErrors.Enumerate(cancel)) {
              yield return processOutput;
         }
   }

   private void OnError(...){
         someConcurrentQueueWithOutputAndErrors.Add(new ProcessOutput(ProcessOutputKind.Error, theErrorString);
   }
   private void OnOutput(...){
         someConcurrentQueueWithOutputAndErrors.Add(new ProcessOutput(ProcessOutputKind.Output, theErrorString);
   }
}

Something similar would make it easy to use from the PowerShell side.

Start-Process is of limited usefulness particularly on Unix, so I think @SteveL-MSFT's suggestion of using direct invocation with enhanced redirections is the more promising idea to pursue, especially if you're interested in showing ongoing output as well as capturing, which only makes sense with synchronous execution (at least on Unix, where running in a new terminal window is not an option).
If we had the ability to capture in a variable while optionally also passing output through, then I think no lower-level approach is needed.
I had previously suggested syntax >&targetVarName, but I like the idea of using namespace notation (> variable:targetVarName)
However, additional syntax is needed for:

optional pass-through-as-well behavior, as suggested by @SteveL-MSFT (>|?)

optional append-to-preexisting-variable-contents behavior (a + prefix might do, as with -OutVariable for instance).

These two behaviors would bring the redirection operators on par with the -OutVariable and -ErrorVariable common parameters.

P.S:  Asking for the ability to capture stderr lines in a variable is the subject of #4332

It's too bad this relatively simple request got set aside for a more elegant but unachievable better idea ...
Given it's been 6 years, do you think we could just do the original request?

I've queued this up for WG to discuss

@PowerShell/wg-powershell-cmdlets discussed this, since stderr gets wrapped as an ErrorRecord, we propose a small change in Tee-Object to have a new -ErrorRecordVariable that stores streamed input that is of type [System.Management.Automation.ErrorRecord] and store it to that variable.  Existing behavior to write to the host would continue.  So an example usage would look like:
ls *foo* README.txt 2>&1 | Tee-Object -Variable stdout_variable -ErrorRecordVariable stderr_variable -ErrorVariable teeObjectErrors

We would enhance Tee-Object docs to show how to use this.


[BUG]: Update chart in Log Events tab of Application Analytics does not update the query properly and does not show correct chart

What is the bug?
Update chart in Log Events tab of Application Analytics does not update the query properly and does not show correct chart
How can one reproduce the bug?
Steps to reproduce the behavior:
1: Create a new application in application analytics.
2: Fill the form with application name and source of the logs and create a new application.
3. Add configuration and click on Update chart.
Uploading Untitled (3).mp4…
What is the expected behavior?
The proper query should get populated into the PPL query panel and corresponding chart should be represented.

Hi @mengweieric, @eugenesk24,
We found an observation. We have attached a video replicating our observation. Kindly let us know if this behaviour is expected.
https://user-images.githubusercontent.com/61182817/196752712-5c36b738-74a9-4dca-848a-6521cc5d0254.mp4
cc: @ruchika-narang

Hi @mengweieric, @eugenesk24,
We found an observation. We have attached a video replicating our observation. Kindly let us know if this behaviour is expected.
Untitled.4.mp4
cc: @ruchika-narang

This is expected. Availability can only be set on visualizations that are an aggregation over time. I am working on drafting a document that captures all of Application Analytics' expected behavior.


UI Modify of All Modal according to new UI

Need to modify Colour Codes, Fonts & Icon According to Below XD link
https://xd.adobe.com/view/81a8ea3a-75a9-4eb8-9da7-b5a41d617d7a-d4fb/specs/
Need to follow Best practices for UI

the old design of hexa is not required


How to load epub file into webview

I could not find anyway to load epub file. Can I load load epub file into webview?
If yes then how?
Please share sample code if possible.

I'm not sure if this would be of any help for now. But you might be able to integrate one of these into SWV for starters.
https://github.com/topics/epub-reader?l=java

Epub.js allows you to render epub docs in a browser. It may solve your issues


Pipenv is slow releasing new version in a long time, last release is Nov 2018, are there any reasons?

$ pipenv --support | slow_release
WHY

Redirect to #3742


Connect the round summary page to the backend

closed https://github.com/sopra-fs24-group-12/PeekSeek-client/commit/9c9390a6060fd216333f41a9a3dc47d88a7b7322


Store configuration in environment

See #68
I'm implementing these changes based on my personal website project, so it hasn't gone through rigurous testing, but that was referencing another project so that should be fine.

I like the way you have restructured the configuration, however I suggest a small difference:

Use env to define environment (hostnames, debug, domain) which notmally would be the same even if we lauch the process in different machines. The user, normally do not need to configure this and variables can be shared between services without risk.
Use a secret instead of a configuration file or env for sensitive information such user, email or passwords. The secrets are loaded as env variables but only in the defined services and users (for example flask:root or nginx:nginx).

What would you think?

I've looked into secret; I've changed the .env configuration files to store the path to the file instead of the secrets themselves (by default: /run/secrets/cookie_secret and /run/secrets/oidc_client_secret).
For the sake of security I've configured the secret to uid of uwsgi and permissions 400, however: normal docker-compose does not support setting uid, gid or mode. You will get the warning Service "flask" uses secret "oidc_secret" with uid, gid, or mode. These fields are not supported by this implementation of the Compose file; since it seems uid, gid and mode only work in swarm configurations. Outside of swarm setups, docker-compose seems to set uid to 0 and permissions to 777.
We can either keep these settings, comment it out for later testing in swarm config, or remove them entirely.

RE: the topic of configuration file locations
We can make the paths fixed so they don't need to be configured (for example the application will just look for upload_license.txt in data/ from the folder it's run from, so ./data/upload_license.txt), but it would probaby still need a config-flag so it knows it's in docker and it uses /run/secrets instead of ./config for the secrets.


CSC : error CS1617: Invalid option '9' for /langversion. Use '/langversion:?' to list supported values.

Hi,
I'm trying to build the DeepLMTProvider but I got this issue.
I'm using Visual Studio 2017 and my target framework is .NET Framework 4.8.
Thanks for your help.
Matthieu

Hi,
you have to use Visual Studio 2019 for using C#9 syntax.
See also: https://github.com/dotnet/roslyn/issues/21783#issuecomment-327395016
Or you re-code the incompatible parts so that they are compatible with your Visual Studio 2017 C#7 version.
Regards
Rainer

Thanks RainerLeukel, it worked!
I also had to change the langversion manually in the .csproj file


Dictionary encoding for second matrix dimensions

Should help further improve storage sizes

@bkmartinjr will do, probably next week -- thanks!

@johnkerl - I given the int64 indexing, this seems obsolete.


Support passing SIGINT to scripts that are running via devbox run

What problem are you trying to solve?
Scripts run via devbox run cannot be cancelled with SIGINT.
What solution would you like?
Handle the SIGINT signal and pass it to the script being execute by devbox run.
Alternatives you've considered
Not running scripts via devbox.  That is not desirable as the scripts defined in devbox.json provide a great way to catalog functionality.

I does seem to be working.  Must be that certain scripts I have been testing just aren't setup to actually terminate.

This seems similar to the issues that this PR fixed in dagger: https://github.com/dagger/dagger/pull/5712
Their change is essentially doing the following to nix/run.go:
cmd := exec.CommandContext(ctx, shPath, "-c", cmdWithArgs)
	cmd.Env = envPairs
	cmd.Dir = projectDir
	cmd.Stdin = os.Stdin
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	cmd.Cancel = func() error {
		return syscall.Kill(cmd.Process.Pid, syscall.SIGTERM)
	}

With my limited testing, this seems to fix the issue.

Thanks for the submitting a PR with your fix. I'd still like to understand a bit more why this is happening. Could you provide a few more details?

What's the exact script that's not responding to SIGINT?
What shell are you using (for running devbox and the script)?
Are you sending SIGINT by pressing ctrl-c in the shell? Or are you signaling the devbox process directly?
Is this happening on macOS or Linux?

When I try to repro using this config:
{
  "shell": {
    "scripts": {
      "zzz": "/bin/sleep 5"
    }
  }
}

and run dx run zzz followed by ctrl-c, the sleep process exits. This is why I'd expect because the shell should be signaling the entire process group.

@gcurtis Here is some more info:

I'm trying to identify the actual cause.  It is intermittent...
zsh
SIGINT is sent by pressing CTRL-C in the shell that is executing via devbox run...
MacOS


Remove version: BlenderFoundation.Blender.LTS version 2.83.1

No longer part of LTS
Microsoft Reviewers: Open in CodeFlow

URL: https://download.blender.org/release/Blender2.83/blender-2.83.1-windows64.msi
OK
(Automated message - build 887)


Player: See sum of all QR Codes scanned

As a player, I want to see the sum of every QR code I have scanned into my account so that I can keep track of how many points I've accumulated.

Marco finished it


DemoTouchView -> DemoTouchManager

DemoTouchView no longer exists, if it ever existed in the first place. The name of the salient class in the renamed source file is DemoTouchManager:
class DemoTouchManager {
    ...
}

@stevebaranski Thank you!


3 - Add support for CommonJs

Please see #690 for details.

Sorry to resurrect an old issue, but I think this needs to be looked at again. This is currently impossible to import if using Type Script, since there are no exports, and the compiler eliminates any import statements for which exported items aren't used. So, even if I require the file, that require statement is removed from the generated code.
It's the same sorta problem as this:
http://stackoverflow.com/questions/16455211/typescript-import-module-with-only-statements
I'm not sure about Babel or Traceur, they may or may not have this behavior when transpiling.

@Ixonal I can't guarantee support for TypeScript as I don't use (or ever plan to use) TS. However, I am aware of the need to make integration w/ AMD/CommonJS/ES6 Modules a bit easier. At the moment, I'm the only one available to tackle these sorts of things, so if you think this can be solved in a quick PR without breaking anything else, I would be willing to take a look and consider it for a near-future release.

https://github.com/FineUploader/fine-uploader/compare/feature/umd (specifically https://github.com/FineUploader/fine-uploader/commit/697e6e95967ad590f73c4a3804efd4b7347f108d) has the initial work required the make this happen.
Seems like some tests were failing, and then this got de-prioritized, but should be a good launch point for anyone wanting to make this happen.

All that should be required is some form of export, be it amd, umd, commonjs, or ecma 6 module syntax. Use feature detection to determine which module system is being used, and you should be able to just export the qq object. For example, if the "System" object exists in the global namespace, and "System.import" is a function, then you can assume ecma 6. If "require" exists in the global namespace, and "require.amd" is an object, then you can use amd. Etc...
I can't imagine it'd take too horribly long to implement.

There are a couple other namespaces to maintain, other than qq. Currently, ExifRestorer and CryptoJS. I'm guessing we don't want these to remain global objects, so that will need to be accounted for as well.

simplest solution would probably be to just wrap them all in a parent object and export that.

Yes, I think perhaps the way to handle this may be to wrap the entire concatenated JS file in an IIFE, and then, as you suggested, export the qq object based on the type of module system available. Am I missing something?

Sounds about right. Knockout has a pretty good example of doing that, if you want to take a look at it.

It sounds fairly straightforward, but nothing is ever as simple as it seems. I'm a bit apprehensive to commit any changes and call this "done" though, as I'm not making use of any module loaders in any of my code. I could give it a whirl as part of 5.4.0, but we'd need some confirmation from users who rely on these systems, such as yourself.

I can try it out and see, yeah. It shouldn't be much effort to set up some tests for this. At least, so far as browser-based loaders. CommonJs would require a node instance.

The quickest solution here is going to involve properly exporting qq object. Seems like this is the most important goal, and shouldn't be too difficult.
Everything else (build enhancements, etc) is secondary and not something I have time to complete at the moment.

For proper module support, I imagine we will need to do a bit of refactoring. To make this less confusing to use and document, since we will still want to support users who do not want to use a module system to import Fine Uploader, there will probably need to be some breaking changes. I think this is a prudent time to remove the qq namespace, and instead make everything available via a FineUploader object.
For CommonJS support, I imagine all of the individual source files that make up Fine Uploader already will be exported as modules. The root of the distributed directory will contain several JavaScript files, such as "s3.js", "azure.js", "ui.js", etc. Each of these will pull in other required dependencies from the library.
So, if a user wants to pull in Fine Uploader core for traditional endpoints:
var FineUploader = require('fine-uploader')
var uploader = new FineUploader({
   // define config option values
})

The above module will be represented by a "fine-uploader.js" entry point file in the root of the fine-uploader distribution directory.
If a user wants to pull in Fine Uploader UI for traditional endpoints:
var FineUploader = require('fine-uploader/ui')
var uploader = new FineUploader({
   // define config option values
})

The above module will be represented by a "ui.js" entry point file in the root of the fine-uploader distribution directory.
If a user wants to use Fine Uploader S3 w/out the UI modules, their code will look something like this:
var FineUploaderS3 = require('fine-uploader/s3')
var uploader = new FineUploaderS3({
   // define config option values
})

The above module will be represented by a "s3.js" entry point file in the root of the fine-uploader distribution directory.
If a user wants to pull in Fine Uploader UI for S3 endpoints:
var FineUploader = require('fine-uploader/s3-ui')
var uploader = new FineUploader({
   // define config option values
})

The above module will be represented by a "s3-ui.js" entry point file in the root of the fine-uploader distribution directory.
...etc. At least, this is how I would expect it to be structured at the moment.

This is something we would very much like to see too :) FYI.
$ npm install fine-uploader --save-dev and var qq = require('fine-uploader') would be so nice to be able to do.

This is a priority for 6.0, but I see a lot of work ahead in order to do this properly.

In light of the efforts associated with Modern Uploader, I'm going for a quick and dirty (but effective) solution - simply provide access to the qq object via CommonJS, AMD, or the window. I will begin working on this at once. Once complete, I hope to release this as 5.8.0.

I expect to release 5.8.0 next week with AMD/CommonJS support unless I hear form anyone with requests for implementation changes. Once 5.8.0 is released and AMD/CommonJS support is in place, it will not be changed in any breaking fashion in subsequent releases. So, please let me know if anything is missing.

Closing - please follow #1562 for updates regarding support of CommonJS in Fine Uploader 5.8.0.


[HOTFIX][DOC] Optimize quick-start-guide.md and dml-of-carbondata.md

add note for using Spark + Hive 1.1.X in 'quick-start-guide.md' file
separate 'load data' and 'insert into' sql to avoid ambiguity

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10984/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2724/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2953/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2725/

@ravipesala @jackylk @qiuchenjian Please review , thanks.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2726/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10986/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2955/

@ravipesala @jackylk @qiuchenjian Please help to review , thanks.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2793/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/11053/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/3025/

retest this please.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2796/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/11056/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/3028/

@ravipesala please help to review, thanks.

LGTM


Callback function when pressing Enter and disable embed option

Hi,
I don't use oEmbed, may you show me how to have a callback function after pressing the Enter button.
I want to generate an image tag when pasting a url into the placeholder.
Is there any way to disable the embed button? (not showing it)

There is no callback function after pressing enter. You can use default JavaScript or jQuery events for that.
Disabling embeds:

$('.editable').mediumInsert({
    editor: editor,
    addons: {
        embeds: false
    }
});


Updating to 4.1.0 SDK and Kotlin tweaks

Reviewed Android code, all look in a good state.
PR for just a few minor Kotlin tweaks/typos and updating to the 4.1.0 Vonage SDK.

I would recommend splitting the sendMessage changes into a new PR since backend, ios and web will need to be updated

Good good plan, shall split this out, thank you


Json to conents

Hello it's possible use json file (with data) to generate contents, and how?
thanks for great app

Hello @Lowell130, you can't generate pages directly from a JSON file, but you can load data from a JSON, YAML, XML or CSV file in a template.
For example data from data/file.json could be printed with:
{% for data in site.data.file %}
  {{ data.example }}
{% endfor %}

Docs:

https://cecil.app/documentation/content/#file-system-tree
https://cecil.app/documentation/templates/#site


local fh = io.open(line) Unable to read non-latin path and filenames

local fh = io.open(line) Unable to read non-latin path and filenames
https://github.com/pandoc/lua-filters/blame/2aa98bfda556c7d4dfb8e30c20b318b6fd1f5091/include-files/include-files.lua#L86

Please be more specific: give a short example that reproduces the problem with full instructions.

I don't think this is totally true, @wenbopeng. The cyrillics path reads successfully with lua51 test.lua in Windows:
local fh = io.open('R:/Проверка/Тестовая директория/мой файл.txt')
print(
  fh:read()
)

It still may be true for chinese or any other complicated script glyphs.

Yes, my statement may be wrong, to be precise, it does not support Chinese file names and paths. utf-8 is not allowed, io.open only supports ANSI. A method that might work is UTF-8 -> UTF-16, UTF-16 -> ANSI

@wenbopeng This is clearly OS-dependent stuff. I can successfully read a file with chinese glyphs in path:
local fh = io.open('R:/测试/测试.txt')
print(
  fh:read()
)

Copypasted glyphs, made a directory, created a file with same name & .txt… Lua5.1

I use include-files.lua, using the following code block
```{.include}
D:/测试.md
```

pandoc will report an error: Pandoc warnings:Cannot open file D:/测试.md | Skipping includes
However, if I use the following block of code
```{.include}
D:/test.md
```

The result is exactly right

@wenbopeng This is clearly OS-dependent stuff. I can successfully read a file with chinese glyphs in path:
local fh = io.open('R:/测试/测试.txt')
print(
  fh:read()
)

Copypasted glyphs, made a directory, created a file with same name & .txt… Lua5.1

I dunno what to say. I use ConEmu on Winx64 with UTF8 enabled.
user@DESKTOP-ILKGP6O 16:39:01 R:\ $ pandoc lua
Lua 5.4.4  Copyright (C) 1994-2022 Lua.org, PUC-Rio
Embedded in pandoc 3.1.2
> fh = io.open('R:/测试.txt')
> print(fh)
file (00007ffded19fa90)
> print(fh:read())
dfsdfsdf
>

I'm going to close this, pending more useful information, because it looks like there is a way to do this; the issue is something in OP's setup.

Expecting non-ASCII file names to work in Lua is to expect a bit much. Lua basically brags about being bytes-only, Pandoc expects UTF-8 input and the OS encoding may be anything. The only reliable fix is to rename the file to ce4shi4.txt, or since that means "test" to romanize/Anglicize the name of the actual file as appropriate. I use a more-than-ASCII language but I don't expect non-ASCII file/directory names to work when dealing with commandline programs. It means some strictures, and sometimes you have to temporarily copy things to ASCII names.

You said you copy and pasted the file name, but were the copy and paste operations done from the asme app? If you copied form Explorer and pasted into a terminal or copied from a terminal and pasted into an editor or some other miss-match combination it is quite likely that the encoding for the characters is different. Just because two apps visually show the same file name doesn't mean they are doing so using the same encoding, and potentially neither actually are 1-for-1 with how the file system has encoded the same.
You might try using Lua itself to list the files in the directory and opening them. That will almost certainly get you a byte string representation that you can turn around and re-use in your include.

Use io.open with pandoc.text.toencoding to make it work with
non-UTF-8 filesystems.
https://pandoc.org/lua-filters#pandoc.text.toencoding


Update readme with package's latest version

Using the version 0.20 throws the following error during ring v0.4.3 compilation:
error[E0277]: the trait bound `&&std::vec::Vec<std::string::String>: std::iter::Iterator` is not satisfied
   --> /home/vagrant/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.4.3/build.rs:206:14
    |
206 |             .args(&args)
    |              ^^^^ the trait `std::iter::Iterator` is not implemented for `&&std::vec::Vec<std::string::String>`
    |
    = note: `&&std::vec::Vec<std::string::String>` is not an iterator; maybe try calling `.iter()` or a similar method
    = note: required because of the requirements on the impl of `std::iter::IntoIterator` for `&&std::vec::Vec<std::string::String>`

Thanks for the PR!


🆕 Add magnificationFilter setting

Codecov Report

Merging #11 into master will decrease coverage by 6.31%.
The diff coverage is 35%.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
- Coverage   58.69%   52.38%   -6.32%
==========================================
  Files           2        2
  Lines          46       63      +17
==========================================
+ Hits           27       33       +6
- Misses         19       30      +11

Impacted Files
Coverage Δ

RxScreenProtectKitExample/ViewController.swift
53.57% <35%> (-7.97%)
:arrow_down:

Continue to review full report at Codecov.

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


Added tutorial on angular_tpcf

This PR introduces a usage tutorial on angular_tpcf.

This PR resolves #435 and #262.


Bug Report: Unused Parameter in flash_attn Function

Description
I have found an issue in the flash_attn function in the alphafold3-pytorch repository. It appears that the mask parameter, which is passed to the function, is not being used within the function. The specific location of the code is in alphafold3_pytorch/attention.py at line 315.
def flash_attn(
        self,
        q: Float['b h i d'],
        k: Float['b h j d'],
        v: Float['b h j d'],
        mask: Bool['b j'] | None = None
    ) -> Float['b h i d']:

        _, heads, seq_len, _ = q.shape

        attn_mask = None

        if exists(mask):
            mask = repeat(mask, 'b j -> b h i j', h = heads, i = seq_len)

        with torch.backends.cuda.sdp_kernel(**self.attn_config._asdict()):
            out = F.scaled_dot_product_attention(
                q, k, v,
                attn_mask = attn_mask,
                scale = self.scale,
                dropout_p = self.dropout if self.training else 0.
            )

        return out

Problem
The mask parameter seems to be modified but not actually used in the scaled_dot_product_attention function call. The attn_mask variable is always set to None, and the modified mask is never assigned to attn_mask.
Questions

Is this an oversight, or is the mask parameter intentionally unused?
Should the mask parameter be assigned to attn_mask in the scaled_dot_product_attention function call?

@1120172175 hey Loren, initially i thought flash attention could be applicable somewhere, but now seeing that all attention is biased (and perhaps that is necessary for the results they achieve), i don't think flash attention can be used at all.
let me remove it to save some complexity


fastjson,jackson version update

fastjson,jackson Security vulnerabilities

Thanks very much for contributing to Apache DolphinScheduler.
Please review https://dolphinscheduler.apache.org/en-us/community/index.html before opening a pull request.

What is the purpose of the pull request
This pull request update fastjson,jackson version .
Brief change log
(for example:)

Updatefastjson,jackson version to root pom.xml

Verify this pull request
This pull request is code cleanup without any test coverage.

fastjson has been removed ,so this ticket can be closed


Unable to install canny controlnet for SDXL [bug]:

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
No response
What version did you experience this issue on?
3.1.0
What happened?
I fail to download the canny controlnet for SDXL. I suppose I should look here: models.invoke.ai. The canny model offers either this link "(https://huggingface.co/diffusers/diffuserscontrolnet-canny-sdxl-1.0)" or when you press the button "diffusers/diffuserscontrolnet-canny-sdxl-1.0". The first crashes the shell with a pipe error, the second aborts (I added a screenshot of the aborted install). I was able to install the zoe depth model without any issues.
Screenshots

Additional context
No response
Contact Details
No response

Thanks for flagging, that link is wrong - try this: diffusers/controlnet-canny-sdxl-1.0


refactor(backend) better log message

Codecov Report

Merging #370 (e91952e) into main (e57ad17) will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #370      +/-   ##
==========================================
+ Coverage   81.74%   81.76%   +0.02%
==========================================
  Files          58       58
  Lines        3949     3949
==========================================
+ Hits         3228     3229       +1
+ Misses        721      720       -1

Impacted Files
Coverage Δ

label_sleuth/models/core/tools.py
46.60% <0.00%> (ø)

label_sleuth/models/core/model_api.py
97.07% <0.00%> (+0.58%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[Needs Review] B07902117 陳漱宇

A Pull Request (PR) should explain why we need this PR and how you implement it, so others could understand it quickly.
Since this is just a homework, you do not need to explain why and how.
Do NOT change the status to NeedsReview if you do not want to be graded yet.
Please fill in the following questions as feedback. It is totally optional and would not be graded.
What is the most challenging part in this homework?
Is this homework helpful for you?
Is there any suggestion?

PR readiness check list

[  ] Did it pass the Flake8 check?
[  ] Did you test this PR?
[  ] Did you change the title of this PR to the correct format ([status] student_ID)?

-5 for duplicated PRs

It would be better to revise your commit message

@morrischen890717  You had deleted the original repo. I reopen the other one.

@amjltc295 Excuse me,I can't catch your point. So what should I do next?  I closed this one as you could not make new changes. Please fix #151

@amjltc295 okay, I've got it. Thanks you.


Adds patches for Macbook M1

SUMMARY

MacOS users need to install GNU utilities as described in the Gist linked in the README.md
Added arm64 as valid output from uname -m on Apple M1 computers.
codesign prints output to STDERR, so needed to catch that.

ISSUE TYPE

Bugfix Pull Request

ADDITIONAL INFORMATION

LGTM


json output with detection for video inference

Hi, first of all thanks for your great work!
I realised that the output.json does not contain detection when running inference on a video. Is that correct? Is there another way to get the detections for each frame?

Yes, use the API:  https://www.ccoderun.ca/darkhelp/api/classDarkHelp_1_1NN.html#details


Arch Linux i686/x86/32bit sunsetted

https://github.com/antonym/netboot.xyz/blob/0857dd317bc7dc69b5213d231b1743ada4eadfda/src/archlinux.ipxe#L22
This fails on a test laptop as they removed the i686 architecture folder and it's 64bit only these days.
see
2017-01: https://www.archlinux.org/news/phasing-out-i686-support
and
2017-11: https://www.archlinux.org/news/the-end-of-i686-support
Yet, over @ https://mirror.archlinux32.org/archisos they have 32bit and 'Dualboot' ISOs. Not sure if they boot using memdisk.

Yeah, if they aren't there anymore, we can probably remove that line.

Resolved with https://github.com/antonym/netboot.xyz/commit/a1eaf86b41446e785175bcf69590bb2e891a898a


feat:Spanner pg samples

First draft of Spanner PostgreSQL dialect samples for feedback. The samples depend on v3.14.0 of C# Spanner client library which were created locally for sample creation and testing.

@Rishabh-V  I think we might need to increase the overall timeout for Spanner samples. You can do that in the runTests.ps1 file. Do include that change as part of this PR.

I'm marking this PR as do not merge just because we need production changes released first.

Is my assumption right that we still need to release some library changes or has everything been released already.

Thanks Rishabh! These look good. LGTM
I'm marking this PR as do not merge just because we need production changes released first.

Thanks Amanda!

@Rishabh-V I think we might need to increase the overall timeout for Spanner samples. You can do that in the runTests.ps1 file. Do include that change as part of this PR.

Sure Amanda. Timeout is currently set to 7200 seconds.  Should I increase it to 9000 seconds?

I'm marking this PR as do not merge just because we need production changes released first.

Is my assumption right that we still need to release some library changes or has everything been released already.

Right Amanda. I believe PgNumeric is not released yet.


Strange behaviour after WrappingStack out of screen

See attached video.
https://user-images.githubusercontent.com/2090084/127798187-fb63ef7f-f967-47ff-8a00-394df584235e.mp4
By the way, I'm using the latest version on iOS 14 (Xcode 12.5)

Thanks for sharing this issue. I'll check what happens here in the next couple of days

any potential update？ Thanks


Websockets API repeats

In the wiki, Websockets API page, there's a large section that is repeated. It begins with section labelled "Connectivity" and ends in the paragraphs following "Query".

Weird - not sure how I managed that! :)
All fixed now.
Thanks!


fmc_basic_peripheral: implementation of basic peripheral board

Implementation of basic peripheral board

3D rendering view:

Real PCB board:

This FMC has undergone several bug fixes and PCB proofing, and the basic functions have been verified on vcu118.


Android Basics: Load and display images from the Internet

name: Android Basics Unit 4 issue
about: Report problems with the Android Basics Unit 4 codelabs
title: 'Android Basics Unit 4 issue:'
labels: ''
assignees: ''

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-internet-images#3
In which task and step of the codelab can this issue be found?
ListAdapter (Refresher)
Describe the problem
In the sentence: "1. In the overview package, create a Kotlin class called PhotoGridAdapter.kt." it seems that the correct name of the class is PhotoGridAdapter, without .kt.
Steps to reproduce?
As stated above.
Versions
Not applicable.
Additional information
Nil.

@KKH-tw
Thank you for reaching out to us. The issue is fixed and will be published soon.


Use icon in front matter option ignored until file edit if emoji icon removed from file

To Reproduce
Steps to reproduce the behavior:

Enable Use icon in front matter
icon: 🙂
Remove icon from the file: 🙂 disappears in Files tab.
Restart Obsidian, 🙂 still missing despite still defined for icon:.

Expected behavior
Not sure. But having to go through each file and trigger an edit of each file to make the emoji reappear doesn't seem right. They should load on Obsidian reload (at minimum) if Use icon in front matter is enabled and an icon: has a value.

So probably like a solution when you remove the icon from the file itself, it will also remove the icon from the frontmatter property, will work? Or am I wrong here with this approach to fix this issue?

So probably like a solution when you remove the icon from the file itself, it will also remove the icon from the frontmatter property, will work? Or am I wrong here with this approach to fix this issue?

That sounds like a reasonable approach if only considering Iconize. If however icon: is being used by another plugin, this may not be desired. It may be better to read and apply icon: on both file edit (which currently happens) and file open/change. This would mean that icon: would need to be manually removed to prevent it from being reapplied, or the feature would need to be disabled. If it were an option to "also remove icon from front matter" then it couldn't be a problem.

I had a similar issue with the frontmatter properties:
When adding an icon, the icon is somehow stored somewhere else instead of the frontmatter. So when i define the icon in the frontmatter, i need to make sure to also remove the icon by right click, remove icon and then the icon from the frontmatter is used.
The problem i have is, that when i try to add 5⃣ (since i use emojis) i get an error, that the icon is not found. I can still add it using the right click menu, but the icon property is not set by the addon.
So for some reason, the addon keeps track of all file<>icon relationships in a table or DB somewhere, instead of using the frontmatter at all times.
So adding the icon to the frontmatter by the context menu as well as removing it from the frontmatter, given the option is enabled, would be appreciated.
This way, i have direct control and emojis are support on all major platforms, which means if it is stored in & read from the frontmatter, the data is mostly independent from the plugin and could be easily restored by enabling the frontmatter option.


Get traces in batches

Erigon is really slow and times out, so traces must be fetch in batches
Make it configurable via ETH_INTERNAL_TRACE_TXS_BATCH_SIZE

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

14 of 16 (87.5%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.005%) to 88.047%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

safe_transaction_service/history/indexers/internal_tx_indexer.py
14
16
87.5%

Totals

Change from base Build<PHONE_NUMBER>:
-0.005%

Covered Lines:
5672

Relevant Lines:
6442

💛  - Coveralls


i updated the sentences for the enabling of PUA

as per the user request   #5970  @BR77BE   i updated  content by removing and added sentences

Well done, @RAJU2529 and @denisebmsft. I did not get time to check this before it was ready to merge, but it looks all well now.


Shebang syntax highlighting breaks on empty newline

It seems like blank lines in shebang recipes cause subsequent lines to stop being syntax highlighted as that shell. To be fair, it looks like the Github Markdown highlighting also has this issue.
# Works
recipe1:
  #!/usr/bin/env bash
  echo "Hello, World!"
  var=1

# Works
recipe2:
  #!/usr/bin/env bash
  echo "Hello, World!"

  # Note two spaces in above line
  var=2
  echo $var

# Doesn't work
recipe3:
  #!/usr/bin/env bash
  echo "Hello, World!"

  var=2
  echo $var

Yeah I think this is a limitation of textmate grammars. We can apply a simple rule to treat all indented text after the recipe definition as the recipe body, but can't parse the document in a more complex way to track the body after no indentation.
We could try and be clever to check if after no indentation are lines are empty then the next indentation could be treated as body again. I'll play around with this basic case but likely won't be able to expand beyond that.
On the github preview, that is because this repo is used for github syntax highlighting.


Update: Mozilla.Firefox.DeveloperEdition version 86.0b5

Removing old versions to reduce clutter
Microsoft Reviewers: Open in CodeFlow

/azp run


Create A Design System

We need to create a design system based on the current design of the project. This will be an important contribution to our project. I hope you will be interested in contributing to us.

I could help with that and creating in on Figma :)
How many pages would you need and do you have already the entire flow lay down ?

Hi. First of all, what we need is to have a design system that all contributors adhere to. What we need in this design system; Major pages such as color palette, shadows, font types, button types, input types, nft detail page, nft purchase page, wallet login page, nft creation page, nft discover and search page. This list meets our needs as a start. However, if you want to do a more detailed study, you can take a look at opensea. We believe that you will make a design that will impress everyone for our project. It is exciting for us that you want to contribute to our project :tada:  .  @trendland

If you successfully complete this task, you will be one of the top contributors to this project. We will be happy to see you on our list of contributors. @trendland

You can create a new design inspired by the current design of the project, or you can create a design system for us by adding or subtracting from the existing design. Our expectation about the design is that it is modern, impressive and has the texture of an artist. While designing, please don't be stuck with today's standard design patterns, this is an open source/indipendent project and be indipendent while designing. @trendland

Ok, that sounds good, I can do all that and help with amazing design for sure! I have a lot done already :)
Also best would be to pass conversation on email (then telegram or whatsapp...)

I don't use telegram or whatsapp. Below is my email address:
<EMAIL_ADDRESS>

I'd be happy to assist @trendland. I can't say I have a lot of experience but I would love to help out and learn from you.

He did not accept this job. But if you want to do this job, we will be happy.

Yeah, sure. I'd love to.

How can I communicate with you for questions and to share my progress?

Hiii.
Can i contribute to your project?

Yes, of course you can.
Sanyam Panchal @.***>, 25 Nis 2024 Per, 23:24 tarihinde
şunu yazdı:

Hiii.
Can i contribute to your project?
—
Reply to this email directly, view it on GitHub
https://github.com/yessGlory17/nft-marketplace/issues/21#issuecomment-2078111326,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNTB77RFINABDWAYMLFZF3Y7FQ6DAVCNFSM5LKWF6Y2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBXHAYTCMJTGI3A
.
You are receiving this because you were assigned.Message ID:
@.***>


Many to Many relationships

On the Documentation it says one of the limits is that Many to many relationships is not supported.
Right now my strategy for implement this with EF is modeling in a class this relationship and creating the right mappings for the class as the next example:
    public class CategoryListing: IModel
    {
        public int Id { get; set; }
        public bool Active { get; set; }
        public DateTime AddedDate { get; set; }

        public virtual Listing Listing { get; set; }
        public int ListingId { get; set; }
        public virtual Category Category { get; set; }
        public int CategoryId { get; set; }

    }

And the mappings..
        public CategoryListingMap()
        {

            HasRequired(c => c.Listing)
                .WithMany(c => c.Categories)
                .HasForeignKey(c => c.ListingId);

            HasRequired(c => c.Category)
                .WithMany(c => c.Categories)
                .HasForeignKey(c => c.CategoryId);

            Property(x => x.ListingId)
                .HasColumnName("ListingId")
                .HasUniqueIndexAnnotation("UQ_Listing_Category", 0);

            Property(x => x.CategoryId)
                .HasColumnName("CategoryId")
                .HasUniqueIndexAnnotation("UQ_Listing_Category", 1);
        }

Since we have that information declared, how complicated or why is the decision of not support this feature?
Is this part of a PRO library or is very complicated to supported? (We have the 2 Id's of the relationship in that object so I think is maybe possible to access them and then bring the data);
Right now this example is working with the normal Include() of EF6, but since I'm using IncludeFilter and IncludeOptimized, I can not use it if I want to achieve it in one linq query.
For a real use case is if we are using a generic repository (as me) we can not use Include and IncludeFilter in the same code to support Many-to-Many
        public virtual IQueryable<T> GetQuery(Expression<Func<T, bool>> filter = null,
        Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null,
        params Expression<Func<T, object>>[] includeProperties)
        {

            IQueryable<T> query = this.dbSet;
            if (filter != null)
                query = query.Where(filter);
            foreach (var includeProperty in includeProperties)
                query = query.IncludeFilter(includeProperty);
            if (orderBy != null)
                return orderBy(query);
            return query;
        }

Thanks for the help (:

This is bringing only the object with  x => x.Relationships but when I do this  x => x.Relationships.Select(d => d.SecondClient) to get the other object inside the model is not getting it

Try with
QueryIncludeOptimizedManager.AllowIncludeSubPath = true;

I will give you a better answer when I will be back.

When I do it this way  x => x.Relationships it is getting the results with out the sub child loaded, when I put x => x.Relationships.Select(d => d.SecondClient) is not getting the relationships so the list is 0
        public virtual IQueryable<T> GetQuery(Expression<Func<T, bool>> filter = null,
        Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null,
        params Expression<Func<T, object>>[] includeProperties)
        {
            QueryIncludeOptimizedManager.AllowIncludeSubPath = true;
            IQueryable<T> query = this.dbSet;
            if (filter != null)
                query = query.Where(filter);
            foreach (var includeProperty in includeProperties)
                query = query.IncludeFilter(includeProperty);
            if (orderBy != null)
                return orderBy(query);
            return query;
        }

@JonathanMagnan I think I found the solution
x => x.Relationships.Where(d => d.Active), // Include first the parent
x => x.Relationships.Where(d => d.Active).Select(d => d.SecondClient), // Then include the parent and select the child entity

My confusion was that entity allow to you do it inside the Include(x => x.entity1.select(d => d.subchild))
Here I need to do it in two lines which I don't mind but is this the only way to do it? I prefer this way than go back to projections of course because here I can apply  .Where() but just wondering
For more reference to future issues look here
Stackoverflow Link

how complicated or why is the decision of not support this feature?
The decision why not supporting this feature is simply a time/money decision.
I don't know the complexity yet to support it, but unfortunately, I cannot afford to put to much time of my own in this library anymore.
While it's currently free for people using it, this library is not free to me to support it.
Last year, I invested more than twice more time in this library alone than all other libraries combined.
Even this year, this library require around 3x more time to only answer request from Issue Tracker/Mail than all other libraries combined.
I tried, but offering "FREE" solution simply cannot work.
In the end, there is always someone who pay for a library:

The company using it
The company developing it (currently ZZZ Projects)

Is this part of a PRO library or is very complicated to supported
It's not part of the PRO library, and I don't know the complexity yet.
As you probably understood in the answer from the previous question, we will need in the future to find a way to monetize this library if we want to continue to support current features and add new features.
I have a list of more than 20 new features waiting to be developed. Nothing has been started because  I cannot spend more time on a "FREE" library.
QueryIncludeOptimizedManager.AllowIncludeSubPath
I read too fast your question before leaving. This feature is obviously for QueryIncludeOptimized and not QueryIncludeFilter
The same option must be implemented for QueryIncludeFilter in the future.
Implementing this solution is quite easy (it almost the same solution as QueryIncludeOptimized), but I will repeat a lot myself, time is currently missing for this "free" library.
It seems you already found how to make it work with your last post.
Here I need to do it in two lines which I don't mind but is this the only way to do it
Currently, it's the only way.
Once the QueryIncludeFilterManager.AllowIncludeSubPath options will be added and probably enabled by default, you will not longer have to do it, but currently, it's the only way.
Hope I answered all your questions ;)
Best Regards,
Jonathan

Thank you very much for the answer!
Maybe this library can get support from microsoft!
Like Identity Server


exception when trying to assign IP address to VLAN

Describe the bug
Trying to assign a static IP address to a VLAN interface on a worker node in OpenShift fails.
Nmstate version

1.3.3

NetworkManager version

Version [e.g. 1.24.2]

Platform

OpenShift 4.12

How reproducible

100%

Steps to Reproduce
cat <<__EOF| oc apply -f
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: ens192-101-nncp-worker1
spec:
nodeSelector:
kubernetes.io/hostname: worker1
desiredState:
interfaces:
- name: ens192.101
description: Configuring ens192.101 on worker1
type: ethernet
state: up
ipv4:
address:
- ip: <IP_ADDRESS>
prefix-length: 24
enabled: true
dhcp: false
__EOF
Nmstate output

Expected output:

Current output:
The output below from the "messageEncoded" section here:

apiVersion: nmstate.io/v1beta1
kind: NodeNetworkConfigurationEnactment
metadata:
  creationTimestamp: "2023-05-12T04:22:51Z"
  generation: 1
  labels:
    nmstate.io/node: worker1
    nmstate.io/policy: ens192-101-policy-worker1
  name: worker1.ens192-101-policy-worker1
  ownerReferences:
  - apiVersion: v1
    kind: Node
    name: worker1
    uid: e682696d-74b9-4c0f-87cb-8d430338ad52
  resourceVersion: "19748579"
  uid: 84dba6eb-c010-4ea8-a2cb-ff953a518f41
status:
  conditions:
  - lastHeartbeatTime: "2023-05-12T04:22:58Z"
    lastTransitionTime: "2023-05-12T04:22:58Z"
    reason: FailedToConfigure
    status: "False"
    type: Progressing
  - lastHeartbeatTime: "2023-05-12T04:22:58Z"
    lastTransitionTime: "2023-05-12T04:22:58Z"
    message: |
      error reconciling NodeNetworkConfigurationPolicy at desired state apply: ,
      failed to execute nmstatectl set --no-commit --timeout 480: 'exit status 1'
      AttributeError
        'VlanIface' object has no attribute 'sriov_total_vfs'
    messageEncoded: ...
    reason: FailedToConfigure
    status: "True"
    type: Failing

Decoded message is:
error reconciling NodeNetworkConfigurationPolicy at desired state apply: ,
 failed to execute nmstatectl set --no-commit --timeout 480: 'exit status 1' '' '/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py:337: UserWarning: Using 'set' is deprecated, use 'apply' instead.
  warnings.warn("Using 'set' is deprecated, use 'apply' instead.")
2023-05-12 04:17:06,490 root         DEBUG    Nmstate version: 1.3.3
2023-05-12 04:17:06,491 root         DEBUG    Applying desire state: {'interfaces': [{'description': 'Configuring ens192.101 on worker1', 'ipv4': {'address': [{'ip': '<IP_ADDRESS>', 'prefix-length': 28}], 'dhcp': False, 'enabled': True}, 'name': 'ens192.101', 'state': 'up', 'type': 'ethernet'}]}
2023-05-12 04:17:06,491 root         WARNING  Failed to load plugin nmstate_plugin_ovsdb: No module named 'ovs'
2023-05-12 04:17:06,747 root         DEBUG    NetworkManager version 1.36.0
2023-05-12 04:17:06,796 root         DEBUG    Async action: Retrieve applied config: ethernet ens192 started
2023-05-12 04:17:06,797 root         DEBUG    Async action: Retrieve applied config: bridge br1 started
2023-05-12 04:17:06,797 root         DEBUG    Async action: Retrieve applied config: vlan ens192.100 started
2023-05-12 04:17:06,797 root         DEBUG    Async action: Retrieve applied config: bridge br101 started
2023-05-12 04:17:06,797 root         DEBUG    Async action: Retrieve applied config: vlan ens192.101 started
2023-05-12 04:17:06,797 root         DEBUG    Async action: Retrieve applied config: bridge br100 started
2023-05-12 04:17:06,798 root         DEBUG    Async action: Retrieve applied config: ethernet ens192 finished
2023-05-12 04:17:06,799 root         DEBUG    Async action: Retrieve applied config: bridge br1 finished
2023-05-12 04:17:06,800 root         DEBUG    Async action: Retrieve applied config: vlan ens192.100 finished
2023-05-12 04:17:06,800 root         DEBUG    Async action: Retrieve applied config: bridge br101 finished
2023-05-12 04:17:06,800 root         DEBUG    Async action: Retrieve applied config: vlan ens192.101 finished
2023-05-12 04:17:06,800 root         DEBUG    Async action: Retrieve applied config: bridge br100 finished
2023-05-12 04:17:06,803 root         DEBUG    Interface linux-bridge.br1 found. Merging the interface information.
2023-05-12 04:17:06,803 root         DEBUG    Interface linux-bridge.br100 found. Merging the interface information.
2023-05-12 04:17:06,803 root         DEBUG    Interface linux-bridge.br101 found. Merging the interface information.
2023-05-12 04:17:06,803 root         DEBUG    Interface ethernet.ens192 found. Merging the interface information.
2023-05-12 04:17:06,803 root         DEBUG    Interface vlan.ens192.100 found. Merging the interface information.
2023-05-12 04:17:06,803 root         DEBUG    Interface vlan.ens192.101 found. Merging the interface information.
Traceback (most recent call last):
  File "/usr/bin/nmstatectl", line 11, in <module>
    load_entry_point('nmstate==1.3.3', 'console_scripts', 'nmstatectl')()
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 74, in main
    return args.func(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 338, in set
    return apply(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 366, in apply
    args.save_to_disk,
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 419, in apply_state
    save_to_disk=save_to_disk,
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 86, in apply
    desired_state, ignored_ifnames, current_state, save_to_disk
  File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 51, in __init__
    gen_conf_mode,
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 154, in __init__
    self._mark_vf_interface_as_absent_when_sriov_vf_decrease()
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 256, in _mark_vf_interface_as_absent_when_sriov_vf_decrease
    cur_iface.sriov_total_vfs != 0
AttributeError: 'VlanIface' object has no attribute 'sriov_total_vfs'

Additional context
Add any other context about the problem here.

@yellowpattern This is known issue and has been fixed in nmstate 1.4 branch. The 1.3 branch is unmaintained, please upgrade to 1.4 branch and try again.


fix: Prevent JS error message printing in browser console

Fixes #17747

/perf-test ref=rhito/feat-create-run-meta-before-test-starts-compare-lt-st-for-prev-runs

/perf-test ref=rhito/feat-upload-run-artificats-to-s3

@Rhitottam Can you please take a look at this PR & merge it in if all looks good?


Conditions and rewards aren't listed in wiki, nor is the folder that arc conditions go into

Wikis will move to the new daqem.com website which I'm still working on. In the mean time, if you have any questions, feel free to contact me on Discord.


HHH-10181: Little facelift for my previous PR

Check for obsolete cache file during runtime of doBind(..) instead of
CacheableFileXmlSource instantiation only. Subsequent calls of doBind on
a given CacheableFileXmlSource instance should detect that cache file is
fresh and make use of it.
But due to the fact that doBind is actually called only once per instance in current Hibernate implementation, this PR won't have any effect other than a code cleanup.

Applied.  Thanks


Branches deleted from github still appear in dockstore UI

Bug Report
I deleted a branch from my repository (https://github.com/ICGC-TCGA-PanCancer/OxoG-Dockstore-Tools) but the branch still appears valid in dockstore.
Expected behaviour
When a branch is deleted from github, should be able to click the "Refresh" button and then after the refresh process completes, the branch that was deleted should no longer be shown in dockstore.
Actual behaviour
The branch is still visible, as if it were still there in github.
Steps to reproduce the behaviour

Create a workflow.
Create some branches with changes - verify that after you Refresh in dockstore, the changes are in dockstore.
Delete some of the branches in github
Refresh the workflow in dockstore.
Check to see if the branches still appear in dockstore.

Environment (Browser or OS and Dockstore version)
Ubuntu 16.04 using Vivaldi browser.

Working in staging.dockstore.org for workflows at least


PmenuSbar and PmenuThumb highlights are not customisable!

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Announcement

[X] I have checked Breaking change announcement.

Minimal reproducible full config
  135     window = {
  136     completion = {
  137       winhighlight = "Normal:Pmenu,PmenuSbar:expera,PmenuThumb:experb,FloatBorder:Pmenu,Search:None",
  138       col_offset = -3,
  139       side_padding = 0,
  140     },
  141     documentation = {
  142       winhighlight = "Normal:Pmenu,PmenuSbar:experc,PmenuThumb:experd,FloatBorder:Pmenu,Search:None",
  143       col_offset = -3,
  144       side_padding = 0,
  145     },
  146   },

and colours are:
  172 vim.cmd([[
  173   highlight! expera guibg=red guifg=#00ff00"
  174   highlight! experb guibg=red guifg=#00ff00"
  175   highlight! experc guibg=red guifg=#00ff00"
  176   highlight! experd guibg=red guifg=#00ff00"
  177   ]])

Description
The highlights are not taking effect for popup window scroll bar. Did several experiments with configurations and colours but couldn't achieve the same!
Steps to reproduce
Configure the scrollbar highlights as per the snippet shared.
Expected behavior
Colours should change.
Actual behavior
Colours are not changing.
Additional context
No response

Hm...
The highlight does not support.
https://github.com/hrsh7th/nvim-cmp/blob/main/doc/cmp.txt#L381

I have read the source code.
cmp-config.window.completion.winhighlight only works for main completion window.
The scrollbar is another window.  So your config does not work.
Please see the code.
local window = {}

window.bordered = function(opts)
  opts = opts or {}
  return {
    border = opts.border or 'rounded',
    winhighlight = opts.winhighlight or 'Normal:Normal,FloatBorder:FloatBorder,CursorLine:Visual,Search:None',
    zindex = opts.zindex or 1001,
    scrolloff = opts.scrolloff or 0,
    col_offset = opts.col_offset or 0,
    side_padding = opts.side_padding or 1,
    scrollbar = opts.scrollbar == nil and true or opts.scrollbar,
  }
end

return window

    -- Draw the scrollbar thumb
    local thumb_height = math.floor(info.inner_height * (info.inner_height / self:get_content_height()) + 0.5)
    local thumb_offset = math.floor(info.inner_height * (vim.fn.getwininfo(self.win)[1].topline / self:get_content_height()))

    local style = {
      relative = 'editor',
      style = 'minimal',
      width = 1,
      height = math.max(1, thumb_height),
      row = info.row + thumb_offset + (info.border_info.visible and info.border_info.top or 0),
      col = info.col + info.width - 1, -- info.col was already added scrollbar offset.
      zindex = (self.style.zindex and (self.style.zindex + 2) or 2),
    }
    if self.thumb_win and vim.api.nvim_win_is_valid(self.thumb_win) then
      vim.api.nvim_win_set_config(self.thumb_win, style)
    else
      style.noautocmd = true
      self.thumb_win = vim.api.nvim_open_win(buffer.ensure(self.name .. 'thumb_buf'), false, style)
      opt.win_set_option(self.thumb_win, 'winhighlight', 'EndOfBuffer:PmenuThumb,NormalFloat:PmenuThumb')
    end

I have read the source code.
cmp-config.window.completion.winhighlight only works for main completion window. The scrollbar is another window. So your config does not work.
Please see the code.
local window = {}

window.bordered = function(opts)
  opts = opts or {}
  return {
    border = opts.border or 'rounded',
    winhighlight = opts.winhighlight or 'Normal:Normal,FloatBorder:FloatBorder,CursorLine:Visual,Search:None',
    zindex = opts.zindex or 1001,
    scrolloff = opts.scrolloff or 0,
    col_offset = opts.col_offset or 0,
    side_padding = opts.side_padding or 1,
    scrollbar = opts.scrollbar == nil and true or opts.scrollbar,
  }
end

return window

   -- Draw the scrollbar thumb
   local thumb_height = math.floor(info.inner_height * (info.inner_height / self:get_content_height()) + 0.5)
   local thumb_offset = math.floor(info.inner_height * (vim.fn.getwininfo(self.win)[1].topline / self:get_content_height()))

   local style = {
     relative = 'editor',
     style = 'minimal',
     width = 1,
     height = math.max(1, thumb_height),
     row = info.row + thumb_offset + (info.border_info.visible and info.border_info.top or 0),
     col = info.col + info.width - 1, -- info.col was already added scrollbar offset.
     zindex = (self.style.zindex and (self.style.zindex + 2) or 2),
   }
   if self.thumb_win and vim.api.nvim_win_is_valid(self.thumb_win) then
     vim.api.nvim_win_set_config(self.thumb_win, style)
   else
     style.noautocmd = true
     self.thumb_win = vim.api.nvim_open_win(buffer.ensure(self.name .. 'thumb_buf'), false, style)
     opt.win_set_option(self.thumb_win, 'winhighlight', 'EndOfBuffer:PmenuThumb,NormalFloat:PmenuThumb')
   end

cmp-config.window.scrollbar.winhighlight is needed for the feature.

Thanks for the response. I tried with the scrollbar config you shared cmp-config.window.scrollbar, in below fashion. It still didn't work. Interestingly other components such as border colour are taking effect.
      window = {
        documentation = cmp.config.window.bordered({
          winhighlight = "Normal:None,FloatBorder:CmpDocFloatBorder,Search:None",
        }),
        completion = cmp.config.window.bordered({
          winhighlight = "Normal:None,"..
                         "FloatBorder:CmpComFloatBorder,"..
                         "CursorLine:PmenuSel,"..
                         "Search:None",
        }),
        scrollbar = {
          winhighlight = "PmenuSbar:CmpSbPmenuSbar,"..
                         "Scrollbar:CmpSbScrollbar,"..
                         "PmenuThumb:CmpSbPmenuThumb,",
        },
      },

      -- LSP settings (for overriding per client)
      experimental = {
        ghost_text = false,
        native_menu = false,
      },
    }

    -- Customise pop-up window colours
    vim.cmd([[
    highlight! CmpDocFloatBorder guibg=None guifg=#00ff00"
    highlight! CmpComFloatBorder guibg=None guifg=#00ff00"
    highlight! CmpSbPmenuSbar guibg=blue guifg=red"
    highlight! CmpSbScrollbar guibg=blue guifg=#00ff00"
    highlight! CmpSbPmenuThumb guibg=yellow guifg=#00ff00"]])

also I had this doubt, I found below from the :h cmp-config.window.completion.scrollbar
*cmp-config.window.completion.scrollbar*
  window.completion.scrollbar~
    `boolean`
    Whether the scrollbar should be enabled if there are more items that fit

but didn't find any scrollbar highlight related thing here.
Can you please share the config snippet if you meant something different (or if I didn't get it correctly)?
Thanks @Shougo

Thanks for the response. I tried with the scrollbar config you shared cmp-config.window.scrollbar, in below fashion. It still didn't work. Interestingly other components such as border colour are taking effect.

Sorry.  cmp-config.window.scrollbar.winhighlight i is not implemented.  So it does not work unfortunately.
You can implement the feature.  Because it is open source.

Thanks for the response. I tried with the scrollbar config you shared cmp-config.window.scrollbar, in below fashion. It still didn't work. Interestingly other components such as border colour are taking effect.

Sorry. cmp-config.window.scrollbar.winhighlight i is not implemented. So it does not work unfortunately. You can implement the feature. Because it is open source.

Hi @Shougo,
Thanks for your response.
Sure, I'll find time and raise a pull request adding this feature.
Amazing plugin, I must admit, thanks to all the contributors and the author.

note: related PR #1741 (not exactly the solution that was mentioned though)


Error when trying to build

When executing sh build.sh:
sh build.sh
mkdir: cannot create directory ‘bin’: File exists
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Spice: Build version is set to 'dev'
-- Spice: Built by is set to ''
-- Spice: LTO for Spice is disabled.
-- Spice: Dev build for Spice is disabled.
-- Spice: Static linking for Spice is disabled.
-- Spice: Coverage reports disabled.
-- Spice: Address sanitizer disabled.
-- Found ANTLR: /home/mingo/dev/c/A_programming-languages/spice/src/thirdparty/antlr-4.12.0-complete.jar (found version "4.1")
-- Spice: Found ANTLR 4.1
CMake Error at CMakeLists.txt:23 (add_subdirectory):
  add_subdirectory given source "lib/googletest" which is not an existing
  directory.

-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /usr/lib/x86_64-linux-gnu/libtinfo.so
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found zstd: /usr/lib/x86_64-linux-gnu/libzstd.so
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.4")
-- Spice: Found LLVM 15.0.3
-- Spice: Using LLVMConfig.cmake from /home/mingo/local/clang-15/lib/cmake/llvm
-- Configuring incomplete, errors occurred!
See also "/home/mingo/dev/c/A_programming-languages/spice/bin/CMakeFiles/CMakeOutput.log".
ninja: error: loading 'build.ninja': No such file or directory
mv: cannot stat './src/spice': No such file or directory

You've lost me !
I'm not the owner of https://bottlecaps.de/rr/ui and https://www.bottlecaps.de/convert/ , I'm only a happy user that saw a great utility on it.
Bye !

The error occurred because setup-libs.sh was not executed to download the library dependencies.


check-meta.nix doesn't work with insecure packages

Describe the bug
check-meta.nix would raise an unrelated error when trying to use an insecure package:
error: attribute 'name' missing, at /nix/store/***/nixos/pkgs/stdenv/generic/check-meta.nix:70:52

To Reproduce
Steps to reproduce the behavior:

put any package marked with knownVulnerabilities in system.packages (e.g. evilvte);
run nixos-rebuild switch

Expected behavior
An error stating the package is insecure, or allows the package to be used if it is in nixpkgs.config.permittedInsecurePackages.
Metadata

system: "x86_64-linux"
host os: Linux 4.19.59, NixOS, 19.03.173147.77295b0bd26 (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixos-19.09.1282.e6d584f6dd2"
channels(cheng): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

I stumbled upon this too while upgrading from 19.03 today. For me it was due to the polipo package.
Diabling the nixpkgs.config.permittedInsecurePackages resolved the issue for now.
Metadata

system: x86_64-linux
host os: Linux 5.2.1, NixOS, 19.03.173624.b6cfdceb7f9
multi-user?: yes
sandbox: yes
version: nix (Nix) 2.2.2
channels(root): nixos-19.09.1320.4ad6f1404a8
channels(cheng): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Packages used to have to specify a name =  attribute to stdenv.mkDerivation, more recently mkDerivation seems to have developed the ability to assemble one from the pname and version attributes, so many packages now don't specify name directly.
It appears that allowInsecureDefaultPredicate in check-meta.nix hasn't yet grown the ability to handle these packages and instead operates on a copy of this attr from before its name has been generated.

@dtzWill Should this be closed? Your commit message seems like it, but doesn't use one of Githubs key words.

I can confirm this issue has been resolved


Using setfit with the Hugging Face API

Hi, thank you so much for this amazing library!
I have trained my model and pushed it to the Hugging Face hub.
Since the output is a text-classification task, and the model card uploaded is for the sentence transformers, how should I use the model to run the classification model through the Hugging Face API?
Thank you!

Hi @kwen1510 thanks the kind words 🤗 !
We have a PR to fix the model card in #252 which will clean up some of the confusion about sentence-transformers vs setfit.
Would you mind clarifying a bit what you mean by "Hugging Face API"? Are you referring to the Inference API / widget one sees on the model page?

To add on to Lewis' comment: If you are looking for a tutorial on how a SetFit text classificatrion model can be deployed on Hugging Face Inference Endpoints API, then I would like to point you to a great workshop that covers exactly that (among other things). See the timestamped livestream here: https://youtu.be/FKsARHV3ZTI?t=3313.

Tom Aarsen

@lewtun thanks for the reply! I am referring to both the Inference API and the widget that we see on the model page.
@tomaarsen thank you for the link! I will check it out!
Happy new year to both of you!


Fix RMS calculation in mictest.js

Calculate the Root Mean Square, as opposed to Root Absolute Mean. Also, getting to know the GitHub workflow.

Also you need to sign the CLA or use your google email for your git checkout (needs to be added to your github account), do git config -user.email<EMAIL_ADDRESS>in the root of the testrtc checkout.

LGTM Thank for your fixes!


Don't do openapi validations on VMs

kubevirt already does openapi validation. Please only do your additional validations on top of that.
This https://github.com/fromanirh/kubevirt-template-validator/blob/896dbce0ae70f6a518d99293473f39258c8814be/pkg/webhooks/utils.go#L36 should not be used.

ack, let's remove this.

https://github.com/fromanirh/kubevirt-template-validator/pull/14


Jira features without sprints default to KANBAN

PR #606 added kanban support to the feature collector widget. For jira it looks like stories are defaulting to be kanban if they do not have a sprint associated to them. As a result stories that are on the backlog for teams that exclusively use scums are showing up as being part of a kanban sprint.
Not sure how to properly address the issue.

@MarkRx Noticed that too. The assumption may not be correct for everyone. Let me do some digging in.

Adding @amp5208
I don't know if there is a way to programmatically determine the sprint type. In our system we have teams that use kanban by using really long single springs. There are other kanban teams that don't have any sprints period.
Not having a sprint cannot default to being kanban since in the context of a scrum team it means the story is on the backlog.
Perhaps the UI could be configurable.

Kanban - all features for active sprints and stories without a sprint. Only show Total + WIP
Scrum - all features for active sprints. Show total + WIP + Done
Both - not sure this is a real use case. If it was there is overlap in the data above so not sure how it would work.

@MarkRx :  I have reviewed this issue and the open issued tied to it for context.  I used the logic of sprint length to determine if a team was kanban or scrum, based on the assumption you mentioned above.  I am aware that this is not perfect logic; however, Jira does not provide a programatic way or built-in field that I can with 100% certainty confirm if a Jira board is, in fact, kanban or scrum.  Their API does not support this, based on my research.
As for your suggestion, the "both" use case is already covered.  If a Jira project has both Kanban and Scrum stories, the UI will switch between all available Scrum and Kanban boards within the Jira project.  Let me know if you need additional clarification.

Working on this now.

@amp5208 do you have teams that have both active scrum and active kanban sprints? Is the 'both' option needed?
I'm looking at changing the sprint type to be a configuration item that is set. As such it doesn't make sense to me for the 'both' case to remove sprint types if no iterations of the type are found. If one type doesn't exist but the user explicitly set it to 'both' then I would expect to see both regardless of if there is data or not.
Also in the collector I have to remove the fake KANBAN sprint data that is being attached to stories if no sprints are found. This is because not having a sprint does not imply KANBAN - it could simply be a backlog item. Instead of trying to deduce scrum/kanban it would be configured in the UI.

Which makes the most sense? @amp5208 @tabladrum

Kanban: all features for active sprints and stories without a sprint
Scrum: all features for active sprints
Both:

Kanban: all features for stories without a sprint
Scrum: all features for stories in active sprints

This results in inconsistencies.

Kanban: all features without a sprint
Scrum: all features for active sprints
Both:

Kanban: all features for stories without a sprint
Scrum: all features for stories in active sprints

This results in consistency but teams that do kanban with a single super long sprint are not handled.

Kanban: all features without a sprint plus those in sprints that don't have an end date (or end far in the future)
Scrum: all features for active sprints that have an end date
Both:

Kanban: all features for stories without a sprint plus those in sprints that don't have an end date (or end far in the future)
Scrum: all features for active sprints that have an end date

This allows for us to handle the kanban case that uses a single non-ending sprint.

Instead of configuring by kanban vs scrum, have a checkbox to include stories without active sprints.
When it is checked -> kanban (stories in active sprints + stories without a sprint)
When it is not checked -> scrum (stories in active sprints only)

This isn't as flexible.

WIP @ https://github.com/paychex/Hygieia/tree/feature/TAXSDLC-956

@amp5208 are you still working on Hygieia related stuff?

PR #903

Fixed in PR.


Categories - Search and Sort Products

Description

Implemented search bar for Categories page.

Users can now search for specific products via inputted keywords.
These keywords are referenced against the product's name and description.

[Incomplete]

Ground-work set for back-end sorting products on the Categories page.

Checklist

[x] My code follows the style of the project.
[x] My code has been self reviewed before to ensure that it is working, or will not cause issues with existing code.
[x] My code has appropriate comments for documentation.

@Ersana09 If you can't make your changes to the main branch, try to make them to this Pull Request instead.

Also, for the ground-work, I defined 6 types of sorting: Alphabetical, Reverse Alphabetical, Price (Lowest -> Highest), Price (Highest -> Lowest), Newest Product, Oldest Product (which is the default, as this is how the list is sorted already, based on the ID)
Let me know if you had any different one's in mind.

#25 should be merged before this, and then patches added to this PR for implementing the categories sorting system.


Some policies are not shown in the tooltip

Despite the fact I have this policy and work item linked to the PR:

Is it still happening?

Yes.


Plugin for drupal.org gets the wrong title

Operation system: any
Extension version: 1.7.0

Expected behavior
On drupal.org (e.g. https://www.drupal.org/node/2920800) the toggl title is determined in the wrong way and always gets View(active tab) Edit View history Clone issue instead of the real title of the node.
Actual behavior
The text content from h1 should be used as the toggle item instead.
Steps to reproduce the behavior
Go to the link above and you will see the result. This screen also demonstrates the problem from the source:

What can I do that this issue gets some attention?


Change rendering of help texts

Help text has been added in the UI Kit v5 in the Forms artboard. It corresponds to our .form-text when used under a form control (generally an input or a text area). You can see an example at https://boosted.orange.com/docs/forms/overview/#overview where "We'll never share your [...]" is an Help text.
This issue is meant to be an update of the rendering of those help texts in all the documentation and the code.
Help text is no more a basic text but has the following characteristics (please double-check with the UI Kit v5):

color: #666
font size: 14px
line height: 16px
letter spacing: -0.1px
font weight: bold
margin between the component and the input: 6px

Created PR #1948 to fix the margin problem