Compile arrow with optional capabilities

The arrow package comes with optional capabilities that are not enabled in the cran2copr binary:
arrow::arrow_info()
#> Arrow package version: <IP_ADDRESS>
#>
#> Capabilities:
#>
#> dataset    TRUE
#> substrait FALSE
#> parquet    TRUE
#> json       TRUE
#> s3        FALSE
#> gcs       FALSE
#> utf8proc   TRUE
#> re2        TRUE
#> snappy     TRUE
#> gzip       TRUE
#> brotli     TRUE
#> zstd       TRUE
#> lz4        TRUE
#> lz4_frame  TRUE
#> lzo       FALSE
#> bz2        TRUE
#> jemalloc  FALSE
#> mimalloc  FALSE
#>
#> To reinstall with more optional capabilities enabled, see
#>    https://arrow.apache.org/docs/r/articles/install.html
#>
#> Memory:
#>
#> Allocator  system
#> Current   0 bytes
#> Max       0 bytes
#>
#> Runtime:
#>
#> SIMD Level          avx2
#> Detected SIMD Level avx2
#>
#> Build:
#>
#> C++ Library Version  11.0.0
#> C++ Compiler            GNU
#> C++ Compiler Version 13.1.1

According to the documentation, enabling s3 and gcs support merely requires libcurl-devel and openssl-devel and to set an environment variable LIBARROW_MINIMAL=false. Is it possible to build and supply  arrow with these extended capabilities?

I build this against the libarrow package included in the official Fedora repos. I have to check, but probably those are not enabled there.

Confirmed: the capabilities are the ones built into the base library. If they are enabled at some point in the Fedora package, then we'll got them here "for free".


Mmath nif is causing frontend to crash

Process is killed with message in syslog
 [584632.374034] traps: 7_scheduler[10954] trap divide error ip:7f3c0770816e sp:7f3c309fcbf8 error:0 in aggr_nif.so[7f3c07705000+5000]

@szarsti nice find - would this only pertain to floating point numbers?
This could be unrelated, but, would it adversely affect the widgets on a dashboard?
For example, some widgets sourced from riak have a fractional component to their datapoints:

But the corresponding widgets from dalmatiner do not:

Please disregard my previous comment, it appears to be as a result of interpolation as this does not occur on a lower resolution.

Fixed in most recent mmath library.


cmd/go: Duplicate symbols with more than one main package in -coverpkg

What version of Go are you using (go version)?

$ go version
go version go1.13 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/rtoledo/Library/Caches/go-build"
GOENV="/Users/rtoledo/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/rtoledo/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.13/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.13/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/5f/_qpgtfqn50v9076584zs6p6cns_ysz/T/go-build619092751=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

go test ./... -coverpkg=./...
What did you expect to see?
Tests running OK.
What did you see instead?
2019/09/05 11:57:31 duplicate symbol main.main (types 1 and 1) in main and /Users/rtoledo/Library/Caches/go-build/ee/ee28c25020a2b94486bc9068230305877cfb8f0f08d992d0c5a33faa6bdea84c-d(go.o)
This might be a regression for #32150. Sorry I cannot provide a working example, the bug is kinda esoteric to me and I cannot create a shareable project where this happens.

Also, it works without problem in 1.12.9

I am seeing this same issue with go 1.13 in darwin

I also see the same problem with go version go1.13 linux/amd64

We're also seeing this on go1.13 linux/amd64, though I can't get it to reproduce outside our build machine.
Deleting .cache/go-build had no effect, other than to change the error output to this -- I haven't been able to find who sets $WORK, but there are no pkg.a or go.o files on disk:
2019/09/10 10:00:49 duplicate symbol main.main (types 1 and 1) in main and $WORK/b318/pkg.a(go.o)
go env Output (from failing machine)
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/usr/share/tomcat8/.cache/go-build"
GOENV="/usr/share/tomcat8/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/usr/share/tomcat8/.jenkins/workspace/code-coverage"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/share/tomcat8/.jenkins/workspace/code-coverage/.build_env/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/share/tomcat8/.jenkins/workspace/code-coverage/.build_env/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -gno-record-gcc-switches"

Don't know if it can help, but this problem appeared systematically in one repo with vendor/ directory and so built with -mod vendor. Converting it to go.mod fixed the problem.

I'm seeing the same problem here (no problem with Go <= 1.12.x).
After the comment from @maxatome I made some tests on our private project.
Running go test ./... -coverprofile=coverage.out -coverpkg=./... -count=1 the results are:

Using dep as dependency management, having a vendor folder with dependencies. Tests fail with "duplicate symbol" error.
Using go mod as dependency management, without vendor folder. Tests pass successfully.
Using go mod with vendor folder (executing go mod vendor). Tests pass successfully.
Using go mod with vendor folder. But setting GO111MODULE=off. Tests fail with "duplicate symbol" error.

Didn't try replicating this behavior on an example repo, might try doing so in the following days if time permits.

I've managed to create a very small repo that reproduces the issue: https://github.com/emiguens/go-cover-fail.
After cloning the repo just run go test ./... -coverprofile=coverage.out -coverpkg=./... -count=1 and you'll see the following output:
$ go test ./... -coverprofile=coverage.out -coverpkg=./... -count=1
?   	github.com/emiguens/go-cover-fail	[no test files]
# github.com/emiguens/go-cover-fail/pkg1.test
2019/09/10 19:27:09 duplicate symbol main.main (types 1 and 1) in main and /Users/emiguens/Library/Caches/go-build/24/24691ab861edac4f0767346c8d02eb886ed269874dacb9e5f27dc53368bb053c-d(_go_.o)
FAIL	github.com/emiguens/go-cover-fail/pkg1 [build failed]
# github.com/emiguens/go-cover-fail/pkg2.test
2019/09/10 19:27:09 duplicate symbol main.main (types 1 and 1) in main and /Users/emiguens/Library/Caches/go-build/24/24691ab861edac4f0767346c8d02eb886ed269874dacb9e5f27dc53368bb053c-d(_go_.o)
FAIL	github.com/emiguens/go-cover-fail/pkg2 [build failed]
FAIL

If I remove the main.go file and re-run the command, it executed correctly.
Another scenarios:

Removing /vendor and Gopkg.* files, making the tests use dependencies from $GOPATH results in the same error.
Migrating the dependencies to Go modules, makes the tests pass.
As my previous comment, using go modules, running go vendor and executing the command with GO111MODULE=offresults in tests failing.

All in all it seems to be something related with using a vendor folder with dependencies.
Hope this helps =D

@gopherbot please open a backport issue for Go 1.13, this looks like a possible regression without a workaround.
/cc @bcmills @jayconrod

I've further reduced the test case, now it fails without having any external dependencies (only using the standard library). Just a main package with a subpackage with one function, so no vendor directory either.
After running go mod init (creates a go.mod file with no dependencies) tests run fine.
Just in case, you can see the commit history in the linked project to see how the test case evolved.

See previously #30374 and #32150.

This has the same root cause as #30907, but it affects packages built in GOPATH mode. Previously, I believed this bug only affected build info for modules, so the fix was pretty narrow. I'll send a CL that broadens the fix to cover this case.


Production-ready

Hi, I'd like to use it but want to be sure it is production-ready. I see no commits for 2 years. Does it work?

same question ....

Sorry for the late response. This is production-ready and actually I have been using this for over a year on my company website.

This is uploaded on PyPI, you can try pip install InPynamoDB


[JENKINS-34360] Adding Parameter Filters for Copy Artifact

Hey Eric, thanks for adding this support. Do you know when this pull request will be checked in and released?

@rongronglai, I'm not sure as I'm not the project maintainer. This is probably a question @daspilker can help you with, but I'm hoping next release! :)

@Eriten, Thanks! Hope this change will be available soon.


GPUParticles demo looking wrong on iOS Metal

Only the first particle is positioned correctly, all the others are simply 'falling down' (looks like there's no initial velocity?)

it's not a shader precision problem, no difference between -ffast-math and -fno-fast-math
it's not a scissor-rect problem
it looks like the velocities from the particle initialization render pass is lost, but it's not a render-pass StoreAction problem

Meh ok, found the problem: the whole thing only works when the content of a render target that is not touched by fragment shader is preserved between frames. On Metal, this is only the case with MTLLoadActionLoad, but we're currently using MTLLoadActionDontCare. Using this load-action fixes the problem (apart from a single stray particle that has a wrong starting position, don't know yet what's up with this).
Potential solutions:

add an explicit LoadActionLoad-like ClearAction to the ClearState
or: rewrite the GPUParticles sample


An issue occurred trying to dump the memory to a file

Steps to reproduce:

trying to unpack this: https://play.google.com/store/apps/details?id=com.zhiliaoapp.musicallylite
./data/local/tmp/kisskiss com.zhiliaoapp.musicallylite

Screenshot
Using:
Nox Player (x86)
API Version 19 (4.4.2)

SHA1: 0c4d6be2dc5de92bcb0a87b2bcd4108a7634d0a6

Adding this line of code before return -1:
printf(" [!] error: %s\n", strerror(errno));
prints:

error: Invalid Argument

I have the same problem. "pread" returns -1 everywhere and  errno == 22 (Invalid Argument)
This is the same for any running process in the system.
API Version 22 (5.1.1) x86 Android Emulator
Screen with some log info:

Are you using the same application? Judging by the man page for Invalid argument;
EINVAL
The STREAM or multiplexer referenced by fildes is linked (directly or indirectly) downstream from a multiplexer.

The application is potentially already reading the address or has it locked some way.
Based on your screen shot, it looks like the unpacker is attempting to read protected or non-readable areas. Try unprotecting/enabling reading fish.

I use your native-unpacker (kisskiss), last version (current master brunch), by the way it's very good solution.
I see, that pread not work properly for me.
How can i try unprotecting/enabling reading?
I run the app by root, of couse.

Currently the code doesn't do anything to the memory regions - so it needs to be changed within the code.
Do you have the application hash you're attempting to unpack? Or potentially an uploaded file?

SHA1: 5EA79666EF98D70B2673FE8885181CEBB30AA8EC
But i don't thinks this problem connected with app.
I think the cause of the problem is in the emulator or OS. I'm going to try unpuck it on other version of android.

Cool, let me know if that helps. Since you're running on 5 or higher, selinux might be nerfing ptrace/pread/etc.

Android 7: all the same...
May be the cause of the problem is the emulator. I use the original google AVD.

What makes you believe this application is packed? It does not appear to be, though it does include some obfuscation and protectors.

Two parts of signing and encrypt/decrypt mechanism is packed. But very simple, without encryption.
Getting a model of classes from memory can would be nice. But I found it now, without unpacking.
Thank you. I think, i have solved my task.

I've only skimmed the binary, it appears two dex files are dynamically loaded (they're listed as shared libraries via extensions, but are just jar's)
Other than that didn't see anything "packed". Going to close this for now.


Is it possible to have 2 RCTRootView rendered at the same time?

Version: 0.26.2
OS: MacOS
Target Platform: iOS
Is it possible to render 2 RCTRootView at once from Swift? Is that even supported? Used to work in 0.24.1 but not in 0.26.2.
Second RCTRootView needs to be rendered async-ly via a bridged call from Swift after user clicks on a button in the first RCTRootView. When rendering the second RCTRootView, I see "Loading from localhost" forever and it never completes loading. My suspicion is that it may be due to having 2 bridges open.

Yes, that is supported. We'd recommend using a single bridge and reusing that for both root views.

Thanks @javache. Didn't you know you could create a bridge and share that across with root views. 👍

With this approach, if I had a say a global redux store instantiated, would that instance be shared? Or would each RootView get its own copy?

The Redux store would be shared. One bridge = one JS heap = one copy of Redux (unless you made two stores in JS, of course).

One bridge = one JS heap

Perfecto! Thank you so much, appreciate the help.

But there's another question. If I have two RCTRootView with the same module name, how do I deal with it? For example, I'm using the ReactNative now, but I receive a remote push. Then I click the push , the other RCTRootView will be created and pushed, but with the same module name.


Unable to run Yalu after restart

Hi, I am trying to re jailbreak my iPhone after restart, but Yalu doesn't even start (appear correctly on the screen).
Is it gonna work if I re jailbreak with Cydia impactor again? Any special instructions would be great, ty!

Yep, reinstall jailbreak with cydia works great!


[Android] Implementing Offline Caching In Room For Data Fetched From Firebase Using Kotlin

Topic Suggestion
[Android] Implementing Offline Caching With Room For Data Fetched From Firebase Using Kotlin
Proposed title of article
Implementing Offline Caching With Room For Data Fetched From Firebase Using Kotlin
Proposed article introduction
The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
The most common use case is to cache relevant pieces of data so that when the device cannot access the network, the user can still browse that content while they are offline.
Key takeaways

How to use Room database
How to cache data offline using Room.

Article quality

It is user friendly for beginners  since it is easy to read and understand. The contents are arranged and organized in a way such that the reader will be able to gather crucial information on caching with room with ease.
This article will explain how to cache data fetched from database using Room.

References

Offline Caching In Room

I know there are several articles that have already covered room database. How will this topic be unique?

I know there are several articles that have already covered room database. How will this topic be unique?

This article will address room database, particularly when looking at data fetched from Firebase in order to reduce the time needed to load up data and also to enable curb difficulties resulting from poor network connectivity hence making it unique.

Okay. Let's ensure that we add value to the community. Thanks

Just wanted to follow up on this topic, as we will be clearing up the queue where possible.
Just and FYI I will be closing this topic form just to help clear up the queue where possible - can be REOPENED at anytime when ready. 👍

Am ready,, please reopen the topic


feat: add explain rest api for sql_rule

See https://or28elw3b5.feishu.cn/docx/WZoedzBceoqgNBxoEbUcevrTntf for details

Thanks @xuyukeviki. Please follow the DCO check link to pass it.
Additionally, we prefer linear history, so please rebase your commits. Check https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/CONTRIBUTING.md for detail.

Thanks @xuyukeviki. Please follow the DCO check link to pass it. Additionally, we prefer linear history, so please rebase your commits. Check https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/CONTRIBUTING.md for detail.

done

Thanks @xuyukeviki. Please follow the DCO check link to pass it. Additionally, we prefer linear history, so please rebase your commits. Check https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/CONTRIBUTING.md for detail.

done

DCO is still not passed. Try not to use merge commit, use rebase instead.


chore(updatecli) track terraform providers with native updatecli resource

Since updatecli v0.60.0, there are a new native resource available to track terraform providers from the hashicorp registry to the terraform lock files.
This PR switches to native terraform resources which includes:

Cleanup of the versions.tf definition to explicitly list all providers
One manifest per provider is added
Removed the "all in one" updater and the former script
No need to use a custom hashicorp agent image to execute updatecli as it's native in updatecli now (no docker, no terraform required)

Closes #150
Closes #151

Self merging as I'm working on this repo


For module admin menu implemented active

This should be supported by dmstr/yii2-adminlte-asset in Menu.php since a while.
See https://github.com/dmstr/yii2-adminlte-asset/blob/master/widgets/Menu.php#L140


PDS3 tables and other changes; update to PdsLogger required also

Additions

pdstemplate/pds3table.py contains support tools for PDS3 templates or labels that describe ASCII tables.
pdstemplate/asciitable.py is used by the above; it contains general support tools for ASCII table that would also be suitable for use by a future pds4table.py module.

You can work with the new classes Pds3Table and AsciiTable directly, but it'll be much more common to use the pre-processor and/or the predefined template functions:

ANALYZE_TABLE will construct an AsciiTable object and save it as the global default.
TABLE_VALUE provides access to the information obtained by the most recent call to ANALYZE_TABLE.
ANALYZE_PDS3_LABEL constructs a Pds3Table object and saves it as the global default.
VALIDATE_PDS3_TABLE performs validation of the current label against the current table generates a warning message for each error found. (Alternatively, use ANALYZE_PDS3_LABEL with validate=True.
LABEL_VALUE provides access to correct information to appear in the PDS3 label when it is generated.
OLD_LABEL_VALUE provides access to the possibly incorrect information in the current label or template.

I would imagine that a new template would simply start with
$ONCE(ANALYZE_TABLE (...))
$ONCE(ANAYZE_PDS3_LABEL(...))

and then use LABEL_VALUE extensively to place desired values into the template.
Alternatively, one can use the pds3_table_preprocessor on an existing label to transform it into a template in which all required PDS3 table parameters are replaced by calls to LABEL_VALUE. Then, template.write() with mode="save" or mode="repair" will write a new label containing any corrections. Alternatively, the mode="validate" option will report any errors but not save the file.
Although I have not created it, it would be straightforward to create a stand-alone PDS3 label validator that checks a given label/table pair and reports any errors. Similarly, a standalone label repair tool could take a label/table pair, validate the label, and write a new label if there are any changes.
All validation errors are reported as warning messages sent to the logger.
Changes

The user can include one or more pre-processor functions when constructing a PdsTemplate. There's also a placeholder for the planned include file preprocessor.
Previously, logger was an input to the PdsTemplate constructor and also to write and generate. This was silly; if the user wants to control what they see, it's really a matter of what handlers they attach to the logger. So now, a single logger is global. It can be accessed through functions set_logger, get_logger, set_log_level, and set_log_format. There's an option to specify one or more unique handlers for each call to generate or write, so if a user wants a separate log file for each label generated, they can create them.
Previously, there was line terminator control in generate() and write(). This was silly because when would you need to write the same template using different terminators? Now it's exclusively an input the the PdsTemplate constructor.
There's some new tests for line terminator consistency and a utility _check_terminators that raises exceptions if something is amiss.
All reads and writes have been converted to binary to ensure that line terminators are preserved.
Some of the previous content of __init__.py has been moved to _utils.py and_pdsblock.py.
Previously, the default logger was a NullLogger, which had the nasty habit of failing silently--probably not what we really want. Now it's a basic PdsLogger. BTW a new feature of PdsLogger is that if the user has not assigned it any handlers, it will write messages to the terminal.
Global variables are inevitable in this system, because the pre-defined functions execute inside the template without any context. However, the manner in which the globals are defined is now a lot cleaner. Each time a PdsTemplate, AsciiTable, or Pds3Table object is created or accessed, it automatically defines itself as the global default of that class. The pre-defined functions can then just access whatever objects they need. The current label path and dictionary in use by generate() are also globally available when generation is in progress.
As alluded to above, the mode option on template.write lets the user specify whether to save the file, repair it (save it only if something has changed) or just validate it. There's also an option to save a backup of a pre-existing file.
VERSION_ID() now returns only two digits, and those digits are "0.0" if the version is unspecified.
LOG() sends a message to the logger.
I fixed up the way that the dictionaries are handled inside _LabelState. This cleaned up some code but has no other significance.

Known Problems

Test coverage is no longer 100% but it's decent.
I've attempted to make sphinx-friendly docstrings but have not tested any of them.

Not sure what's going on with the automatic tests failing. Also, it's not clear how the unit tests are intended to be run as none of them call unittest.main(), but I added that temporarily and ran all of the tests successfully.

There are three ways to run the unit tests:
python -m unittest

or
pytest

or
python -m pytest

Also I'm fixing the tests. They require Python 3.10 or later and also there were issues with Windows.

More updates added to address some of Joe's issues and also to implement $INCLUDE (because, once I saw clearly how to do it, I couldn't look away).

Predefined function GETENV is implemented.
I refined the regular expressions for TABLEs and COLUMNs in pds3table.py; they should be more robust.
The user can manage a list of directories to search for include files in two ways. There's the PDSTEMPLATE_INCLUDES environment variable, but the use can also identify directories using the includes input to the PdsTemplate constructor.
BTW, if you ever want to know exactly what the template looks like after pre-processing, look at the content attribute. I think that makes it easier to understand how pre-processors work.

Unit Tests
Coverage is in the mid-90s and most un-tested code is related to edge cases. We can do better, sure, but I think this is adequate for now.
I added a bunch of new test files, including sky_summary_template.txt, which is my take on what a PDS3 ASCII table template should look like. It contains the minimum set of parameters required to define each column. Everything else gets added by the preprocessor. In general, explicit calls to $LABEL_VALUE are rarely needed, because the pre-processor adds them silently (or with a warning if you prefer). I'm hoping Joe can use this as a starting point for his other templates. Also, if he wants to add the explicit FORMAT values to the template (rather than having formats inferred from an existing table), he could potentially turn a template into a driver for his supplemental index generator.
More on $INCLUDE
We all had a long discussion of this in part because users (and we) might have different understandings of what it does. It could be like the C preprocessor, where it is handled before the code is compiled. On the other hand, a user might expect it to behave more like the old Python execfile function, where it inserts new template text at runtime. The former has the advantage that the $INCLUDE directives have been handled before any other pre-processor; the use case here is a user who constructs a table from a set of COLUMN objects defined separately. However, that approach won't work for a user who expects to be able to decide at runtime what snippets of a template to incorporate into the label. My implementation is a decent compromise that supports both options. What happens is that a pre-processor identifies every $INCLUDE that refers to a fixed file name and brings that into the file at the time the PdsTemplate object is constructed (and before any user-specified preprocessor). Any $INCLUDE that requires the evaluation of a file name is left alone by the pre-processor and executes during generate() or write() instead. I think this basically accomplishes what most users would expect, without them even realizing that they expected it.
TBD
I still plan to update the documentation and to make sure the docstrings are sphinx-friendly. Maybe I can get to that starting sometime next week. Meanwhile, I think this is in a decent state for a merge once we have addressed any other outstanding issues.

This fixes my sky_summary template.  INCLUDE and GETENV work for me, and the REGEX issues are resolved.  Only thing I notice is a missing UNIT field in the MINIMUM_RIGHT_ASCENSION column in your sky_summary example template.

For the record, here is a minimal sequence of steps to create create a label from a minimal template, allowing the pre-processor to fill in the missing or incorrect quantities.
from pdstemplate import PdsTemplate
from pdstemplate.pds3table import pds3_table_preprocessor

PATH = '/Users/Shared/GitHub/rms-pdstemplate/test_files/'

template = PdsTemplate(PATH + 'sky_summary_template.txt',
                       crlf=True,
                       preprocess=pds3_table_preprocessor,
                       kwargs={'formats':True, 'numbers':True, 'validate':False})

template.write({}, PATH + 'GO_0023_sky_summary.lbl', mode='repair', backup=True)

Details. For PDS3, always specify crlf=True. The kwargs dictionary indicates to add FORMAT and COLUMN_NUMBER values to every COLUMN object. validate=False prevents error messages for missing quantities from being reported when the template is written. In template.write, mode='repair' means that it will only write a new file if the new file would be different from an existing file of the same name. Also, backup=True is a good idea because it renames the existing file if a new file is written.

I'm thinking the elements of pds3_table_preprocessor that aren't specific to tables should be split into a pds3_preprocessor.  This would allow access to thinks like LABEL_VALUE in the inventory template, which needs TABLE_BASENAME, and does not contain a pds3 table.
At present I am obtaining that information like this:
$ONCE(TABLE_PATH = LABEL_PATH().replace(".lbl",".tab").replace(".LBL",".TAB").split('/')[-1])

Should be my last updates for this pull request (unless somebody finds something).

Error messages now include the exact text that triggered the error.
RAISE needed a new implementation.
QUOTE_IF is a handy function to quote a string if the PDS3 standards require it. So FORMAT = A24 but "F10.3", for example.
upper_e input to PdsTemplate forces the "E" in formatted floats to be upper case.
Clearer distinction between warnings and errors in pds3_table_preprocessor. The former can be corrected during runtime; the latter cannot.
TemplateAbort exception forces a label evaluation to terminate.
generate() options hide_warnings and abort_on_error are used by pds3_table_preprocessor to determine how to validate. These are invisible to the user when calling write().
Turns out there was not a check for duplicated COLUMN names in the validator. There is now.

Thanks, I was wondering about the use of QUOTE_IF on formats.  Assumed that must be the PDS3 standard, but hadn't had a chance to verify.
The only comment I have right now is that I am calling Pds3Table._column_values() directly in the index code, so perhaps that should be renamed if you don't object to it being used externally.  The alternative is the index code would have to independently parse the template to get the values needed to generate the table (FORMAT and null constants).  This cannot be done using pdsparser because a raw template is not a valid pds3 label.

Also, you may want to consider using pathlib.read_text() and write_text().  There are a number of places in the code where you could replace three lines with a single call.

.. though apparently the newline argument is not available in 3.12, so this is not useful until we're all using 3.13.

And since this is a public package, we should support back to 3.9 until it's end-of-lifed.

Rob--we agreed not to support 3.9 because match/case is too hard to get rid of.
Joe--Why use _column_values[index][name] when you can use lookup(name, index)?

If you need to iterate over the columns...
for indx in range(1, label.lookup('COLUMNS') + 1):
    # do what you want with label.lookup(name, indx)

I would generally prefer that you avoid accessing the internals. If there's a use case I didn't anticipate, let me know.

OK, 3.10 then. But we certainly don't want to require 3.13.

More for Joe. If you check out the source code for lookup(), you will see numerous ways in which the value returned by the function is not the same as the value found in _column_values.  _column_values is really just "raw" information pulled out of the label. So you really really should not be accessing _column_values.

I'll take a look at that.  However, for the index generator, the raw values from the template are what I need.

The errors should go away once pdslogger is updated. This has now been tested against holdings/metadata, which revealed a distressing number of errors. There's an open task for me to update the documentation with all the new features. However, aside from the documentation shortcomings, this should be ready for pypi.

I'll take a look at that. However, for the index generator, the raw values from the template are what I need.

It sounds you should be using old_lookup() then. This provides the actual values in the current template. It is different from lookup(), which returns what the values should be in the new label, after the table has been analyzed. I repeat that you should not be accessing _column_values(). If the supported API really doesn't provide something you need, let me know and we'll figure out a good solution.


[Old-School Essentials by Necrotic Gnome] - 1.6.1

Changes / Comments
Fixed

Fix a bug where the roll templates were showing nothing

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.
[X] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

@clevett sorry to pester you, but is there any way to get this in sooner than next Monday/Tuesday? It's causing a major problem with the roll templates.


Empty results from SCIEX 5600 mzML data

Searching SCIEX 5600 DDA data yields empty results (0 peptides/proteins identified) using MetaMorpheus 0.0.282.
Data
A SCIEX TripleTOF 5600 DDA WIFF file was converted to mzML using msconvert (ProteoWizard 3.0.18172.e4a23b1bb) with peakpicking/centroiding enabled. We validated the mzML file by searching with Morpheus (version 272) with (near) default settings and find expected amount of peptides/proteins.
MetaMorpheus settings
Loading the same fasta file and mzML as tested with Morpheus, we create a default MetaMorpheus search task (only changing; precursor & product mass tolerance to similar settings as Morpheus). The report states zero peptides/proteins were identified. I tried searches with and without the MetaMorpheus setting "Use Provided Precursor", to no avail.
Are there any special settings required for mzML generated from SCIEX WIFF? If not, I can privately share mzML files for testing (please send me an email; frank.koopmans at vu.nl ).

What were the ms1 and ms2 resolutions?

The SCIEX 5600 in "high-sensitivity" mode yields a resolution of ~30k at FWHM.
Setting mass tolerances to precursor:25ppm and product:0.025Da in Morpheus works fine (and varying both between 20~50 ppm has only minor impact). I've tried similar settings in MetaMorpheus.

This is likely a problem with how MetaMorpheus reads some mzML files. Specifically, some mzML are formatted unexpectedly and are missing information like the precursor scan number, etc, which can cause 0 PSMs in the results. I'm going to release a new version today that may fix this, but if it doesn't, are you able to share a data file with us so we can fix this? I can set up a Box folder for you to drop it in to.

This is fixed in #1222 and is included in the new version 0.0.283!


Migrating article Choosing timeseries db

What changed, and why it matters
Migrating https://help.aiven.io/en/articles/4957790-choosing-a-time-series-database
Fixes: https://github.com/aiven/devportal/issues/822

I have fixed the errors that make spell reported for these files:

Use time series consistently
Lower case time series database in the title of the main file
Remove the subtitle about M3 from that same tile - the discussion is not just about M3
Change the text at the end to link to the aiven.io page on timeseries databases, not just the M3 page.

@fmanimali That has now fixed the make spell problems that were specific to this PR.
If you run make spell locally you will see that there are still some warnings, but they're nothing to do with your files, and will need fixing separately elsewhere. Since they don't affect this PR, you are OK to ignore them.
I made some changes (as mentioned above) - if you disagree then please comment / alter back.
I just noticed another thing that needs fixing (the With its introduction text) - I'll leave you to fix that, if it's OK, and then when you're happy with the page I'm probably happy to approve/merge.

Hi, where are we with this? Can we close the related comments and move forward?

gotta do some catch up and migrate the article. @Tibs (Tony Ibbs)
@.***> would you lend me 10 minutes of your time today?
On Thu, Jun 30, 2022 at 9:25 AM Francesco Tisiot @.***>
wrote:

Hi, where are we with this? Can we close the related comments and move
forward?
—
Reply to this email directly, view it on GitHub
https://github.com/aiven/devportal/pull/956#issuecomment-1170863242, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHKWOLSATJAOU2CPGWUSYDVRVDVDANCNFSM5Y3FZ5ZQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
[image: Aiven] https://www.aiven.io/
Francesco Animali
Solutions architect, Aiven
@.*** @.***>
aiven.io https://www.aiven.io/   |
https://www.facebook.com/aivencloud
https://www.linkedin.com/company/aiven/ https://twitter.com/aiven_io

@fmanimali definitely ok to chat.

@fmanimali I've removed a bit of text and I think this is now ready to go.
Let me know if you're happy, and I'll accept and merge.
(I did wonder if we should link to other documents in devportal (PG, TimescaleDB, M3), but I'm not 100% sure it's worth it now, and it would need a rebase (again) as the top-level product pages are now handled differently.)


Slight delay in registering a keystroke after 5-6 keystrokes

I'm experiencing a slight delay in registering a keystroke after 5-6 keystrokes. Even if you keep holding it's still the same after like 500ms of holding there's a hiccup in registering the next keystroke.
checked out commit: c72bcd353f1cd462043c87e3db921f1dd0ef51b
firmware: examples/use_rust/nrf52840_ble_split

the delay happens even if you press only one key and hold it?

I cannot repro this issue. If you're holding one key and experiencing lag, that might not be related to RMK since RMK only sends one report when you press the key, and another when you release.

Hiccups happen either way.
When I hold the key and when I press key successively.
Is there a way to send you the debug report?

Could you record your screen? with both RMK keyboard and any other keyboard? I still suspect it's not a RMK issue. Holding a key doesn't send key strokes actually 🤔
You can also try the USB mode to see whether it happens? I have no idea now...

Building a split keyboard also has delays, but those using the ZMK firmware do not experience this issue.

Building a split keyboard also has delays, but those using the ZMK firmware do not experience this issue.

Could provide more information about it? What MCU/rmk version/connection type do you use? And what kind of delay are you experiencing?

Building a split keyboard also has delays, but those using the ZMK firmware do not experience this issue.

Could you provide more information about it? What MCU/rmk version/connection type do you use? And what kind of delay are you experiencing?

hardware & firmware from https://github.com/HaoboGu/rmk/issues/166
https://github.com/user-attachments/assets/3e63f1a6-1de9-478d-af52-e3d7e5475db2

Building a split keyboard also has delays, but those using the ZMK firmware do not experience this issue.

Could you provide more information about it? What MCU/rmk version/connection type do you use? And what kind of delay are you experiencing?

hardware & firmware from #166
1_1733240630.mp4

@HaoboGu help~

@jsenjobs Could you try fix/lag branch?

@jsenjobs Could you try fix/lag branch?

It's a bit difficult to describe; I'll explain it to you in detail later.

@jsenjobs Could you try fix/lag branch?

https://github.com/user-attachments/assets/4c9daa3f-9dfe-4a1a-9161-19dd35a6430c
It seems that another issue keymap not effected #166 has been fixed, but the delay still exists.

Hallo, I think I might have found the cause of this to be use of sd_ble_gap_conn_param_update on the peripheral.
For some reason using it causes the connection between the peripheral and central on my keyboard to drop, however it's barely noticeable outside of a missing keypress as the connection is remade pretty quickly.
Unfortunately I don't know why/ how asking for a connection param change causes the connection drop...

Hallo, I think I might have found the cause of this to be use of sd_ble_gap_conn_param_update on the peripheral.
For some reason using it causes the connection between the peripheral and central on my keyboard to drop, however it's barely noticeable outside of a missing keypress as the connection is remade pretty quickly.
Unfortunately I don't know why/ how asking for a connection param change causes the connection drop...

funny, I haven't think about it! Actually this function is used to reduce the latency. I'll look into it today. Thanks very much for the report!

@jsenjobs @simmsb Could you try fix/peripheral_lag branch to see whether there's any improvement?

#181 fixes slightly delay for me, since it has no side-effect, I'm merging it.


Bluetooth: Improve bt_le_per_adv_sync_create documentation

The bt_le_per_adv_sync_create documentation did not mention anything about the (lack of) timeout when using the function.

I know we allow up to 100 (as opposed to 80) line lengths these days, but I think it would be good to try to stay consistent at least within the same file. It looks a bit strange when most of the documentation in this file uses 80 (even the paragraph right above of what you're adding) whereas the new text uses 100.

I know we allow up to 100 (as opposed to 80) line lengths these days, but I think it would be good to try to stay consistent at least within the same file. It looks a bit strange when most of the documentation in this file uses 80 (even the paragraph right above of what you're adding) whereas the new text uses 100.

That's a fair point. I don't have any strong feelings one way or the other when it comes to line length. If you do request to change it, I will change it (or if someone else does), otherwise I will leave as is.
For this particular change, it doesn't really matter if it is 80 or 100, but there are a lot of code changes where the use of 100 (even though the majority of the file is 80) makes the code more readable, and I think in those cases it would be silly not to use the full 100.
Anyways, please let me know if you request it as a change, or if you would be OK with it as is.


Make successResponses more conservative?

I was bitten by options.successResponses accepting more values than I expected. Just from the name, I expected it to only cache 20x responses, but it also cache things that aren't really "successful" responses like 401s and 404s.
Would it make sense to change the default to be more conservative?

There's some background at https://github.com/GoogleChrome/sw-toolbox/issues/75, which is still open. I'm going to close this issue in favor of that one, and feel free to way in there.


Milestone 2 Tasks

Setup your EC2 instance

[ ] Attach a screen shot.

Setup your JupyterHub

[ ] Attach a screen shot with all the group members in it.

Setup the server

[ ] Add your team members to EC2 instance.
[ ] Setup a common data folder accessible by all users in the JupyterHub.
[ ] Install and configure AWS CLI.
[ ] Make sure you mask the IP address.
[ ] Attach a screen shot.

Get the data

[ ] Get the data we wrangled in the first milestone.

Setup the S3 bucket and move data

[ ] Create a bucket with the name format of mds-s3-xxx.
[ ] Create folder called "output".
[ ] Move the "observed_daily_rainfall_SYD.csv" file from the Milestone1 data folder to your s3 bucket from your local computer.
[ ] Move "combined_model_data_parti.parquet" in step 4 to S3 using the cli.
[ ] Attach a screen shot showing 3 objects.

Wrangle data

[ ] Get "combined_model_data_parti.parquet" and "observed_daily_rainfall_SYD.csv" from S3.
[ ] Query Sydney data and drop latitude and longitude columns. Expected shape (1150049, 2).
[ ] Add "observed_daily_rainfall_SYD.csv" as a column named "Observed".
[ ] Wrangle the data into the given format. Expected shape (46020, 26).
[ ] Save the processed file to S3 as CSV.
[ ] Attach a screen shot.

Here are all screenshots excluding the data-wrangling screenshot.

EC2-setup

jupyter-hub-setup

S3-bucket-setup

server-setup

New EC2-setup img:


Insert into Oracle

Hello,
thank you for your good job.
I try to insert into Oracle table,  I do not know where I do a mistake.
Could you please advise me?
Thanks in advance.
Python 3.4.2
Petl version 1.0.4
cx_Oracle-5.1.3-12c.win-amd64-py3.4
My code:
import cx_Oracle
import petl as etl
connection = 'DEV/DEV@ORCL'
orcl = cx_Oracle.connect(connection)
table = etl.fromdb(orcl, 'SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM dba_objects')
etl.todb(table=table,dbo= orcl,tablename='MYTEST123')
I receive following error:
C:\Apps\Python34\python.exe C:/Python/Workspace/Project1/Test.py
Traceback (most recent call last):
File "C:/Python/Workspace/Project1/Test.py", line 8, in
etl.todb(table=table,dbo= orcl,tablename='MYTEST123')
File "C:\Apps\Python34\lib\site-packages\petl\io\db.py", line 300, in todb
truncate=True)
File "C:\Apps\Python34\lib\site-packages\petl\io\db.py", line 319, in _todb
commit=commit, truncate=truncate)
File "C:\Apps\Python34\lib\site-packages\petl\io\db.py", line 396, in _todb_dbapi_connection
cursor.executemany(insertquery, it)
TypeError: must be list, not generator
Process finished with exit code 1
I have destination table:
CREATE TABLE MYTEST123
(
OWNER        VARCHAR2(128 BYTE),
OBJECT_NAME  VARCHAR2(128 BYTE),
OBJECT_TYPE  VARCHAR2(23 BYTE)
)
VIEW dba_objects
Name                                      Null?    Type

OWNER                                              VARCHAR2(128)
OBJECT_NAME                                  VARCHAR2(128)
OBJECT_TYPE                                   VARCHAR2(23)

Hi, apologies I didn't reply earlier. FWIW I hit a similar problem recently when trying to use the official MySQL connector, for some reason the connector implementation checked for the presence of a list and wouldn't accept an iterator, which seems crazy and pointless to me. Anyway, I switched to a different connector (pymysql) and it worked fine, so if you have the option of trying a different connector, that's the only thing I can suggest (apart from materialising the whole petl table as a list, which is undesirable for large tables).

This is actually not a bug in pet. It is a bug in the cx_Oracle driver, in which their Cursor.executemany is hard coded to accept only a list of parameters to insert, rather than supporting iterables in general.


terragrunt: 0.28.16 -> 0.28.18

Motivation for this change
Bump to 0.28.18
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 117992 run on x86_64-linux 1

1 package built:

terragrunt


fix: Add assertion when trying to set "current" that doesn't exist

Description

Currently when setting current in SpriteAnimationGroupComponent and SpriteGroupComponent we silently fail if the key isn't in the map. This PR adds assertions so that we at least warn about it in debug mode.

Checklist

[x] I have followed the Contributor Guide when preparing my PR.
[x] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[x] I have updated/added relevant examples in examples or docs.

Breaking Change?

[x] No, this PR is not a breaking change.

Related Issues

Maybe we could add some tests for the assertions?


Add Tacotron2 loss function

The main Tacotron2 model is in #1621. Since that PR is already too large, I'll put the Tacotron2 loss and it's tests in the example directory temporary. We should discuss more on where to put this loss function (likely the same file as Tacotron2's model).

Following @vincentqb's suggestion, I've also run  the code through black.

How would you like to treat the test? We can run them as a a part of CI.
Yes, I think it is a good idea to run them as part of CI. Could you direct me on how to do that properly?
Thanks.

Also can you document how to run the test?
Sure, I'll add them.

How would you like to treat the test? We can run them as a a part of CI.

Yes, I think it is a good idea to run them as part of CI. Could you direct me on how to do that properly?
Thanks.
Should I edit the code here by adding
cd ../examples/pipeline_tacotron2/
pytest pytest "${args[@]}" .
cd ../../test

I use the whole directory (pipeline_tacotron2) because there are going to be tests for text utilities too.

Also can you document how to run the test?

Sure, I've added a short description at examples/pipeline_tacotron2/README.md

Ideally, we want to run the test in a separate job, but for a starter, this is good. You do not need "${args[@]}" as that is mostly intended for unit test. I would simply add -v. i.e. pytest -v .

Thanks for the comment.
The tests are add in .circleci/unittest/linux/scripts/run_test.sh and .circleci/unittest/windows/scripts/run_test.sh.


[Doc Improvement][Note added for app package in developer portal]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/teams-developer-portal.md
98
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit c835e42:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/teams-developer-portal.md
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/teams-developer-portal.md
98
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 83bb889:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/teams-developer-portal.md
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/teams-developer-portal.md
98
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit a2407dd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/teams-developer-portal.md
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/teams-developer-portal.md
98
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 2145d7e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/teams-developer-portal.md
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/teams-developer-portal.md
98
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit ffa7a54:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/teams-developer-portal.md
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/teams-developer-portal.md
98
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit e2fc517:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/teams-developer-portal.md
:white_check_mark:Succeeded
View

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


[v15] Blank Channels, Inventory, and only two Websockets

To keep it short and sweet, I have precisely the same issue as this person: https://github.com/DevilXD/TwitchDropsMiner/issues/64

Hello o/
Well, have you tried any of the solutions from #64 as well? They'd apply here too. By "two websockets" I'm assuming you mean the "2/50" count that's displayed next to the single websocket connection that exists - that's expected, as there's two base topics the websocket subscribes to by default, and then any additional topics come from the tracked channels. No channels means only the two base topics remain.
The channel list contents themselves is dependent on the inventory, if the inventory is not there (there's no campaigns to mine), there won't be any channels worth watching either. My inventory is also empty right now, but simply because there's just no campaigns for the games I'm interested in mining.
To see all campaigns the application knows about, wait for it to get to the Idle state, and then please try this setup of filters (and click on Refresh of course):

Also, please show me your entire Settings tab. You can censor out any proxy url if you'd be using one and would like to do that, I'm not interested in that, more about the priority list and other toggle-able settings in there.
Also also, please check out the inventory section on the twitch website, and ensure there are campaigns you can actually mine. Try mining one "the normal one", game of which you have setup on the priority list in the application. If you can progress it on the site, you should be able to progress it in the miner as well.

Hi there,
Of course, even though most of the solutions there had to do with that particular user being on an older "dev" version. The version I'm using is the latest that isn't a dev version—strangely, one version ahead of the one you've shown a screenshot of unless that's just an older screenshot you keep at the ready for these situations.

The channel list contents themselves is dependent on the inventory, if the inventory is not there (there's no campaigns to mine), there won't be any channels worth watching either. My inventory is also empty right now, but simply because there's just no campaigns for the games I'm interested in mining.

I should have Overwatch 2's and SMITE's campaigns here which are currently active—connected—for my Twitch account.

To see all campaigns the application knows about, wait for it to get to the Idle state, and then please try this setup of filters (and click on Refresh of course):

Those are the default filters for a fresh installation—at least they were for me when I opened TDM for the first time. I tried adjusting them as well after each refresh to no avail.

Also, please show me your entire Settings tab.

These are the default settings (haven't changed anything since installation):

Also also, please check out the inventory section on the twitch website, and ensure there are campaigns you can actually mine.

Also, I assume this is irrelevant since you mentioned that campaigns have to be active (I assume not closed or disconnected) to show up for selection, but TDM always loads up to sixty-eight campaigns before it idles.

Hi there,
I think I found the issue I unfortunately glossed over; it had to do with a game not being added to the 'Prority' list in the 'Settings' tab.

I assumed that TDM would just load all of the campaigns, or just the active (connected) ones, without having to add games to the list of priorities which I also assumed only made TDM focus on an ordered list of games a user deems more important than the others.
I didn't know that list actually determines rather a campaign is loaded into TDM or not.

I assumed that TDM would just load all of the campaigns, or just the active (connected) ones, without having to add games to the list of priorities which I also assumed only made TDM focus on an ordered list of games a user deems more important than the others.
I didn't know that list actually determines rather a campaign is loaded into TDM or not.

This is also a functionality, possibly-slightly-cryptically hidden behind the "Priority Only" checkbox. It comes ticked by default, which makes the miner do nothing until you setup the priority list to the game of your choice, after which it'll only try to mine those and that's it - that was the "implied default" behavior in previous versions of the application. However, after the inventory sync functionality was added, the miner could now start any possible campaign on it's own, hence it was necessary to gate it behind an option.
Disabling the "Priority Only" option will disable this gate, allowing the miner to start any possible campaign it can determine as mineable for your account (active, account linked, available channels to watch), with the possibility for it to still trying to follow a priority list if there is one, mining "whatever it can" otherwise.


polor chart and scatter points on it

Hi everyone,
I want to have a polar chart like this:

I need to plot some thing as a background and 3 series of points on it
is it possible to plot this with chart.js?

Not currently supported in either v1 or v2. Probably best done as an extension of the radialLinear scale in v2.

Closing since we will not implement this in the core at this time. I am happy to help someone implement a new chart type in V2 that does this.


macro support namespace

Would like to supply support for macro weirdness in the name of low-level shenanigans. In particular I think marcrolet variants and a riddley port would make sense.

Closing because we haven't needed this, and it does not make sense for Arcadia. Maybe patch a library to support ClojureCLR and bring it in with the package manager?


[new feature] Add a config

As far as I can tell, there is no config for the mod. The mod should have one to control the rates at which specific plants spawn

I'm not sure how useful this will actually be, so I think this might wait until I move over Quilt, so I can use their config API instead of learning both Fabric's and Quilt's.
I'll leave the issue open, but give it low priority.

due to having demand from a few people, this issue is being bumped up in priority!
a configurable version is up on the next branch and should be on modrinth and curseforge by the end of the week

@Sunconure11 you can test the config on the next branch if you'd like to give feedback before it's released


The latitude and longitude never change in Mapiz

Hi,  I tried to use Mapviz to plot the sensor_msgs/NavSatFix.
My system is Ubuntu 18.04 with ROS melodic.
First, I use roslaunch mapviz mapviz.launch to run mapviz.
I didn't change mapviz.launch so it kept default.
<launch>

  <node pkg="mapviz" type="mapviz" name="mapviz"></node>

  <node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin" >
    <param name="local_xy_frame" value="/map"/>
    <param name="local_xy_origin" value="swri"/>
    <rosparam param="local_xy_origins">
      [{ name: swri,
         latitude: 29.45196669,
         longitude: -98.61370577,
         altitude: 233.719,
         heading: 0.0},

       { name: back_40,
         latitude: 29.447507,
         longitude: -98.629367,
         altitude: 200.0,
         heading: 0.0}]
    </rosparam>
  </node>

  <node pkg="tf" type="static_transform_publisher" name="swri_transform" args="0 0 0 0 0 0 /map /origin 100"  />

</launch>

Then, I add navsat and tile_map in Mapviz like this.

When I played the bagfile. The latitude and longitude kept the same in Mapviz. I have read some relative Issues before. But I can't understand the reason. Maybe I missed some key steps?
This is my config.
capture_directory: ~
fixed_frame: map
target_frame: <none>
fix_orientation: false
rotate_90: false
enable_antialiasing: true
show_displays: true
show_status_bar: true
show_capture_tools: true
window_width: 1389
window_height: 759
view_scale: 1
offset_x: -48
offset_y: -10
use_latest_transforms: true
background: "#a0a0a4"
displays:
  - type: mapviz_plugins/navsat
    name: new display
    config:
      visible: true
      collapsed: false
      topic: /navsat/fix
      color: "#00ff00"
      draw_style: lines
      position_tolerance: 20
      buffer_size: 0
  - type: mapviz_plugins/tile_map
    name: new display
    config:
      visible: true
      collapsed: false
      custom_sources:
        []
      bing_api_key: ""
      source: Stamen (terrain)

Here is my bagfile.

GPS_2020-05-13-14-27-39.zip

I see a few issues here.  First, try using this for your launch file:
<launch>
  <node pkg="mapviz" type="mapviz" name="mapviz" required="true"/>

  <node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin" >
    <param name="local_xy_frame" value="/map"/>
    <param name="local_xy_origin" value="auto"/>
    <rosparam param="local_xy_origins">
      [{ name: swri,
         latitude: 29.45196669,
         longitude: -98.61370577,
         altitude: 233.719,
         heading: 0.0},

       { name: back_40,
         latitude: 29.447507,
         longitude: -98.629367,
         altitude: 200.0,
         heading: 0.0}]
    </rosparam>
    <remap from="fix" to="/navsat/fix"/>
  </node>

  <node pkg="tf" type="static_transform_publisher" name="swri_transform" args="0 0 0 0 0 0 /map /origin 100"  />
</launch>

There are two important changes here.  The initialize_origin.py node takes in a GPS coordinate and uses that to connect the WGS84 coordinate system to your ROS TF tree; setting <param name="local_xy_origin" value="auto"/> will make it use the first GPS message it gets instead of using one of the pre-defined origins.  Next, adding <remap from="fix" to="/navsat/fix"/> will make it listen to the topic from your bag file.
Also, mapviz draws its plugins in the order that they are listed in the plugin panel.  In your screenshot, since navsat is listed first, it will draw that first, and then it will draw the tile_map over that, so you would not be able to see any fixes.
Here's a screenshot of what my mapviz looks like with your bag file but with my updated launch file:

That's cool. Thank you for your prompt reply.
I have one last question. If I want to keep the new point in the center of the window, I should set the Target Frame?

That's right.  Your ROS system should publish a tf frame that is fixed to your vehicle; this is usually called base_link.  If you set your Target Frame to that, the window will stay centered on it.

Thank you very much！


Allows people to resist out of crates

About the PR
Allows people to also resist out of welded or locked crates.
fixes: #7294
Screenshots

Changelog

:cl:

fix: You can now resist out of locked/welded crates!

If the ResistLocker is going to be added to any container to allow a player to resist out of it, it really ought to have a more generic name. "ResistLocker" implies something different.

Re

If the ResistLocker is going to be added to any container to allow a player to resist out of it, it really ought to have a more generic name. "ResistLocker" implies something different.

ResistContainer?

ResistStorage. It can be a different PR, if someone wants to do it.


added multiline validation and updated security doc

Ticket

Resolves #37

Changes

Added multiline: true to the format validations
Updated security doc to show that this has been done throughout the app

Context for reviewers

While there isn't much of a difference in how the application handles invalid characters since we're using ruby appropriate regex, this is considered a security best practice, despite being redundant.

Testing
Test like a hacker! in the forgot password form, open the element in the browser and change the email input in the form from an input tag to a textarea tag, and change the input type from email to text. Now you can enter all the malformed, multiline, text/code you want. And confirm the server still rejects the invalid email addresses.

@SammySteiner I was reviewing the Rails security guide, which states:

If you do need to use ^ and $ instead of \A and \z (which is rare), you can set the :multiline option to true, like so:
content should include a line "Meanwhile" anywhere in the string
validates :content, format: { with: /^Meanwhile$/, multiline: true }

I think that means that we are currently interpreting this guidance too broadly. Our code uses this regexp URI::MailTo::EMAIL_REGEXP which looks like this:
https://github.com/ruby/ruby/blob/9c5e9d29f0c9b025577cb72b421b9682bfadcd37/lib/uri/mailto.rb#L55
It correctly uses \A and \z, instead of ^ and $, so we don't need to use multiline: true.
As a result, could you turn this PR into adding more nuance to the security checklist?

@SammySteiner I was reviewing the Rails security guide, which states:

If you do need to use ^ and $ instead of \A and \z (which is rare), you can set the :multiline option to true, like so:
content should include a line "Meanwhile" anywhere in the string
validates :content, format: { with: /^Meanwhile$/, multiline: true }

I think that means that we are currently interpreting this guidance too broadly. Our code uses this regexp URI::MailTo::EMAIL_REGEXP which looks like this:
https://github.com/ruby/ruby/blob/9c5e9d29f0c9b025577cb72b421b9682bfadcd37/lib/uri/mailto.rb#L55
It correctly uses \A and \z, instead of ^ and $, so we don't need to use multiline: true.
As a result, could you turn this PR into adding more nuance to the security checklist?

@rocketnova Sure. If that's how you want to proceed, I'll close this PR and issue #37, and create a new issue to update the security doc.
Fwiw, my thinking based on the security doc and how we're using regex, is that this addition doesn't hurt, and as a convention it helps safeguard regex implementations across the app (or apps using this template) in the future. I've certainly seen applications where the level of regex sophistication was all over the map, and I was trying to consider the engineers who would be using this template in the future.


Make clonemachine work with bitcoin 0.18

Substitutions are done correctly and the resulting code compiles
and passes unit and functional tests.
Signed-off-by: Cornelius Schumacher<EMAIL_ADDRESS>

Hello @cornelius! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file fork.py:

Line 33:80: E501 line too long (80 > 79 characters)
Line 92:80: E501 line too long (81 > 79 characters)
Line 185:80: E501 line too long (83 > 79 characters)
Line 217:80: E501 line too long (128 > 79 characters)
Line 218:80: E501 line too long (128 > 79 characters)
Line 221:80: E501 line too long (84 > 79 characters)
Line 226:80: E501 line too long (134 > 79 characters)

In the file functional-tests/create_reference_data.py:

Line 19:8: E713 test for membership should be 'not in'

In the file functional-tests/runner.py:

Line 82:80: E501 line too long (82 > 79 characters)
Line 84:80: E501 line too long (82 > 79 characters)
Line 86:80: E501 line too long (83 > 79 characters)

In the file functional-tests/test_regressions.py:

Line 28:1: E302 expected 2 blank lines, found 1

In the file processor.py:

Line 115:80: E501 line too long (95 > 79 characters)


Lots of warnings for List

What does this warning indicate?
[W][14:40:12] Changelog ACC-1597: System.Collections.Generic.List`1[Newtonsoft.Json.Linq.JObject].
I get a ton of these when running the jira export.
I am running the latest master branch built locally.

No idea. I had a look in the source code but cannot find any warning statements that resemble the above.
If the migration proceeds smoothly without errors, then it is likely that everything is fine

My mistake @Alexander-Hjelm !
I had added this locally in while debugging a few months back.
Sorry!


MokManager: Remove the usage of APPEND_WRITE

We got the bug report about the usage of APPEND_WRITE that may cause the
failure when writing a variable in Lenovo machines. Although
EFI_VARIABLE_APPEND_WRITE already exists in the UEFI spec for years,
unfortunately, some vendors just ignore it and never implement the
attribute. This commit removes the usage of EFI_VARIABLE_APPEND_WRITE to
make MokManager work on those machines.
https://github.com/rhinstaller/shim/issues/55
Signed-off-by: Gary Lin<EMAIL_ADDRESS>

Tested on Lenovo Thinkpad P50.  Fixes the problem--successfully was able to enroll a new key.

Thanks, pushed.


Need help to query from database.

Damn this is compliacted.
I'm using abstract classes because they are easy to generate.
Trying to query my database:
 TrackR trackR = new TrackR();
        trackR.setDateCreated(Convert.getCurrentDate());
        trackR.setTrack_owner("user1");
        trackR.setIsRunning(true);
        PointR pointR = new PointR();
        pointR.setDateCreated(Convert.getCurrentDate());
        trackR.getPoints().add(pointR);

        DatabaseSource source = new DatabaseSource(this, Models.DEFAULT, 1);
        Configuration configuration = source.getConfiguration();
        EntityDataStore generalDataStore = new EntityDataStore<>(configuration);
        generalDataStore.insert(trackR);

        Result<TrackR> result = generalDataStore.select(TrackR.class).get(); //get returns just Object

@Entity
public abstract class AbstractPointR implements Parcelable, Persistable {

    @Key
    @Generated
    int id;

    String uuid;
    Double lat;
    Double lng;
    Float accuracy;
    Date dateCreated;
    Float speed;
    Float bearing;
    Long track_id;

    @ManyToOne(cascade = {CascadeAction.DELETE, CascadeAction.SAVE})
    AbstractTrackR trackR;
}

@Entity
public abstract class AbstractTrackR implements Parcelable, Persistable {

    @Key
    @Generated
    int id;

    String uuid;
    Boolean isRunning;
    Float distance;
    Date dateCreated;
    Date dateClosed;
    Date dateUpdated;
    String comments;
    Integer type;
    Integer status;
    String track_owner;

    @OneToMany(cascade = {CascadeAction.DELETE, CascadeAction.SAVE})
    List<AbstractPointR> points;
}

Found an example with classes, where you have .first operator.
https://github.com/requery/requery/blob/6313af9d9f4e1e53ae4467c5e62df898d0c27e74/requery-test/src/main/java/io/requery/test/FunctionalTest.java#L116
Also, can you tell me what is "mappedBy" in the
@OneToMany description.
Thank you.

get() returns a 'Result' from the result you can get the first element, iterate over the result or convert to a list, etc. Please check the documentation for the available methods.
mappedBy is the name of the field in the related class that defines the other side of the relationship


Couldn't open website: could not send message to server: net::ERR_NAME_NOT_RESOLVED

System: ubuntu 22.04
shell: zsh
2022/12/05 10:29:58 Couldn't open website: could not send message to server: net::ERR_NAME_NOT_RESOLVED at https://chat.openai.com/
=========================== logs ===========================
navigating to "https://chat.openai.com/", waiting until "load"
============================================================

I double-click the bin file instead of ./chatgpt-telegram. It works.


bug: cody creates unsved files keep showing back after closing

Version
1.90.0
Describe the bug
Version: 1.90.0
Commit: 89de5a8d4d6205e5b11647eb6a74844ca23d2573
Date: 2024-06-04T19:34:48.028Z
Electron: 29.4.0
ElectronBuildId: 9593362
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Darwin arm64 23.5.0
When cody creates files say, test-something.py or any untitled.py, these files if ignored and closed keep showing up after sometime
Expected behavior
Once closed it should be closed, or ignored when user opt-out saving them!
Additional context
No response

I've also been experiencing this, and it's so frustrating that I had to disable the extension. What's most annoying is that the files are empty, with no undo history, yet I can't even close them without getting the dialog about losing unsaved changes.

I am also seeing this since last week or so, I didn't realize it was caused by the Cody extension!

Same issue for the last couple of weeks. I've had to disable the extension because of it.

I am experiencing the same issue with Cody AI. Anytime a file is modified a new untitled file will be created. Apparently, there is a very similar issue with here Github Copilot.

I've also been experiencing this, and through "Extension Bisect" confirmed that it only happens with Cody on.
@deadband Currently, your link goes to this issue itself.

I'm having trouble replicating this - Are any of you aware of a consistent method leading to this behavior?
It appears the only pathway which should create new files is the 'Generate Unit Tests' command - have you been utilizing this command?
If not, do you use any other commands?

@justinmilner1
I've even recorded my screen to watch when the files suddenly get opened.
It's difficult to pinpoint, but it looks related to one or more of the following

Having had a Chat with Cody in the current session, or at least having a Chat open somewhere in the workspace. I think this is a prerequisite for this to happen.
Possibly, having mentioned (@) a workspace file in the Chat, or currently being in the process of doing so.
Saving (or autosaving) of modified code files
Focus switching to another split view (or possibly just to another tab)

FWIW I've never used the "Generate Unit Tests" command, and the video I took shows it does not happen upon the user directly interacting with Cody.

@JeongJuhyeon Got it, thanks for the info. Do you mind sharing the video?

@JeongJuhyeon Got it, thanks for the info. Do you mind sharing the video?

Unfortunately that's not easy because I spend most of my time writing closed source code, and as such I've already deleted it. Happy to assist with other kinds of debugging if possible.

@JeongJuhyeon Ah gotcha.
Two more questions:

Are the unexpected files always untitled and empty for you?
Does this happen often? Or only occasionally?

I believe the issue is likely inadvertant calls of openUntitledDocument, but there are a lot of reasons that could be happening.
Created this pr to maybe get some more info.

@justinmilner1

Are the unexpected files always untitled and empty for you?

Yes, they are always untitled and empty.

Does this happen often? Or only occasionally?

It seems to get worse the more I use chat (or possibly the more chat windows I have open, or the more files I have @ mentioned in chat) in a given session. When I've used chat quite a bit it can be pretty bad, with a good number of new files having opened after an hour of coding. For me it's often enough that the distraction of having to close random files makes me disable Cody, despite finding it a much better product than competitors' offerings.
What I'll try and do is have the Cody extension activated but not use any of its functionality, and see if it still happens. So far it looks like it won't.

For me this happening even If I do not open a chat
Also seems related - I might create an empty file and make some drafts and later - close this file, and after that Cody will create empty files.

For me this happening even If I do not open a chat Also seems related - I might create an empty file and make some drafts and later - close this file, and after that Cody will create empty files.

This could very well be related - I also often open empty files, make drafts and then close them.

I disabled the extension, switched to Release version in the config, restarted VS Code, and re-enabled the extension. I haven't had the issue and it's been a full day of use with many new and existing files. Maybe related to pre-release version?

nope. it's started again for me. i have not used cody chat or any other features except the code completion suggestions.

nope. it's started again for me. i have not used cody chat or any other features except the code completion suggestions.

Do you also have a habit of sometimes creating empty files (e.g. to paste stuff into, or to make a draft) and then closing them, like @worm2fed and me?

I might be misremembering but I also think every time I had this issue, I had made some untitled files to paste some stuff into. I think I close them eventually or restart VS Code or something and start noticing how there would still be "untitled" files popping up.

Maybe Cody trying to be smart and learning on such behavior (create files for smth)?

It's getting worse, now it creates a new file immediately after I close it.
It put's two log messages into output window. First when I'm clicking close on file, and second one when it creates a new file again
█ SimpleChatPanelProvider: postContextStatus [{"displayName":"project","providers":[{"kind":"embeddings","state":"ready","embeddingsAPIProvider":"sourcegraph"},{"kind":"search","type":"local","state":"ready"}]}]
█ SimpleChatPanelProvider: postContextStatus [{"displayName":"project","providers":[{"kind":"embeddings","state":"ready","embeddingsAPIProvider":"sourcegraph"},{"kind":"search","type":"local","state":"ready"}]}]

Maybe Cody trying to be smart and learning on such behavior (create files for smth)?

No, it is creating untitled files at the root location. These files are not like regular new files that we can easily close. When prompted to save, it asks for confirmation. What should someone do by saving these files?

It's getting worse, now it creates a new file immediately after I close it.
It put's two log messages into output window. First when I'm clicking close on file, and second one when it creates a new file again
█ SimpleChatPanelProvider: postContextStatus [{"displayName":"project","providers":[{"kind":"embeddings","state":"ready","embeddingsAPIProvider":"sourcegraph"},{"kind":"search","type":"local","state":"ready"}]}]
█ SimpleChatPanelProvider: postContextStatus [{"displayName":"project","providers":[{"kind":"embeddings","state":"ready","embeddingsAPIProvider":"sourcegraph"},{"kind":"search","type":"local","state":"ready"}]}]

This is indeed becoming worse. I have disabled the extension. It was creating multiple files. Started with creating one, then kept on increasing 5-6 files. And it won't let me close. Opens more as soon as I close one.

@worm2fed @abs-angularminds It seems like not leaving any more unsaved files open has fixed it for me. I now just keep a separate VSCode window open to paste/draft random stuff when I want to.

I'm seeing this as well.  I made a video where I see this with a project that I'm working on.  Before the video, I closed all tabs and then exited so that the next launch would have no files open.  Then I open a file and unwanted tabs are opened next.  Next steps are not in the video, I close the unwanted tabs and answer the prompt "do I want to save?" : "no".  As soon as I finish answering the last modal yes/no prompt, new tabs open up.
https://github.com/user-attachments/assets/be1b0a57-e266-417e-a2ec-e08ea1eec018
In this case then, the only thing I did in the session was select a file in the file browser and then close the unwanted tabs.  The one complication is that I'm connecting to a WSL session.
The version of the VS Code extension I made the video with is:

Though I have been experiencing this prior to updating.

I am also having this issue of untitled tabs being created/sticking around.
Recording

64-second demo of it on a fresh, near-empty repo
no user settings, except pre-authenticating with cody and accepting at least 1 auto-complete suggestion in the past (from previous takes)
vscode window was opened just before starting recording, with all extensions disabled (you do see me disable them at the start of the video, but FYI they were already all disabled when I opened that vscode window)
recorded on VSCode v1.89.1 on Linux

Screencast_20240718_093718.webm
Here's a proper bug report with repro steps etc (note these steps are slightly different from what's visible in my text editor in the video - I couldn't be bothered doing another take):
Repro steps

Disable all installed extensions (does not seem to be strictly necessary for me, but I include this to show it's not an interaction with another third party extension)
Create a new workspace with a main.py in it
Press Ctrl+N to create a new untitled tab
Close the untitled tab, and notice that it stays closed as expected
Enable Cody
Press Ctrl+N to create a new untitled tab
Close the untitled tab, and notice that it stays closed
Type something in the main.py file to trigger an inline autocomplete suggestion (no need to accept it)
Press Ctrl+N to create a new untitled tab
Close the untitled tab

Observed
The untitled tab gets auto-reopened each time it's closed, and attempting to close the re-opened tab prompts to save its contents.
Expected
The untitled tab should stay closed.
Workaround
To remove "stuck open" untitled tabs:

Disable Cody extension
Restarting extensions as prompted by vscode
Close all open untitled (i.e. unsaved new file) tabs
Re-enable Cody extension

Then avoid ever creating any new untitled tabs, otherwise the issue will recur.
Other notes

No need to type anything into the untitled tab
You can end up with lots of unclosable untitled tabs if you open lots manually
I can reproduce this after nuking my personal settings in ~/.config/Code too, so it's unlikely to be a VSCode setting I've changed
Obviously this is unrelated to the "chat" feature - it's triggerable purely via autocomplete, and I'm pretty sure you don't even need to accept the autocomplete.

I'd guess that it's probably caused by the autocomplete's context gathering looking at recent edit locations (or cursor positions?), and somehow that is mutating the undo history of the text buffers, which causes vscode to reopen those tabs? That's total speculation though.

And yes, it is super annoying.


Simplify top hash functions in map

Codecov Report
Base: 96.45% // Head: 95.01% // Decreases project coverage by -1.44% :warning:

Coverage data is based on head (ef5707f) compared to base (084c39d).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #55      +/-   ##
==========================================
- Coverage   96.45%   95.01%   -1.45%
==========================================
  Files           6        6
  Lines         902      902
==========================================
- Hits          870      857      -13
- Misses         26       36      +10
- Partials        6        9       +3

Impacted Files
Coverage Δ

map.go
94.85% <100.00%> (-0.94%)
:arrow_down:

mapof.go
93.49% <0.00%> (-2.79%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add JSON helpers to ContextVariables

Motivation and Context

JSON is an incredibly popular object format and is commonly used when dealing with complex object types. More often then not, prompts will attempt to get the LLM to produce well-formed JSON for easy parsing. This change adds helper methods to make working with JSON much easier in the context of the string dependent ContextVariables class (and in turn, SKContext).
Description
Add helper methods for setting, updating and getting values from ContextVariables as strongly typed JSON values.
Contribution Checklist

[✔] The code builds clean without any errors or warnings
[✔] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[✔] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[✔] All unit tests pass, and I have added new tests where possible
[✔] I didn't break anyone :smile:

@anthonypuppo please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Thanks. I'm sympathetic to the premise here, but FWIW, I have a few concerns with the approach.
First, this won't be very friendly with Native AOT. Any use of this API directly or indirectly will result in warnings and require special steps on the consumer to ensure it actually works at run time by preventing the trigger from removing APIs required for the serialization/deserialization of the T.
Second, https://github.com/microsoft/semantic-kernel/pull/1195 is adding support for SKFunctions to convert arguments and return values between Ts and strings based on TypeConverter, which is the same mechanism used for example by ASP.NET for converting between text-based request/response data and handler arguments/returns. This would create a competing conversation story in the same set of types.
Third, this doesn't achieve anything a caller couldn't do on their own. They're effectively 1-2 line helpers that combine calling Serialize/Deserialize and set/get on the dictionary.
And fourth, while I certainly encourage devs to use System.Text.Json, this bakes JsonSerializer-related types into public API on core types in SK.

@stephentoub

Not familiar with the intricacies of native AOT enough to comment here. Your point seems valid.

Is the goal of SK to be used only on web platforms? While I love the idea of re-using already proven mechanisms and methodologies, this only makes sense to native ASP.NET developers. I think this style will get confusing quickly for individuals not familiar with ASP.NET and not translate well to other languages/frameworks. Just my opinion. If the TypeConverter mechanism is already agreed upon as the way forward then I agree this addition is competing and should not be added.

Agree, but I could argue the string overloads "are effectively 1-2 line helpers that the caller could do on their own with the TrustAwareString object" with this same logic though, as the caller can just read the Value property of the returned object. This is a silly example, but you get the point.

Agree.

With all that being said, I'm perfectly fine with this being closed, as I think the cons you listed outweigh the benefits a few short helper methods. Maybe similar "helpers" could be added to an extensions package going forward?

(All that said, this is my $.02.  @dluc or @shawncal would need to weigh in.)

@anthonypuppo Thanks for the contribution, and apologies for the delay.
What you've brought up here is super valid -- we'll be aiming to make the variables going in and out of SK-compatible functions as easy and intuitive as possible. We have some bigger changes afoot, in terms of how ContextVariables/SKContext are handled and automatic mapping of primitive types and objects. Writing/result results as json is also on the docket. I'll pin this PR and use it to gut check whether the new changes solve what you're doing here. If not, we may want to bring these back as extension methods.
I'm going to close for now, but rest assured we've got better variable handling coming soon. Thanks again!
@stephentoub as FYI


feat: Ethereum RPC "gas_price" call

Description
Implement "gas_price" Ethereum RPC call
Helios implmentation: https://github.com/a16z/helios/blob/94bf458d941f30e34faeaa7d2484898dba54234d/client/src/rpc.rs#L69
Acceptance Criteria

Beerus can query a Ethereum's block number
Associated cli command
Associated rest api wrapper
Helios integration
Units tests
Integration tests

Will take this one :)


I cannot run any yarn command because of this error "E2BIG"

This is my yarn error log
`Yarn version:
1.22.19
Node version:
16.18.1
Platform:
linux x64
Trace:
Error: spawn E2BIG
at ChildProcess.spawn (node:internal/child_process:420:11)
at Object.spawn (node:child_process:733:9)
at /usr/share/yarn/lib/cli.js:25732:24
at new Promise ()
at new F (/usr/share/yarn/lib/cli.js:5305:28)
at /usr/share/yarn/lib/cli.js:25729:12
at run (/usr/share/yarn/lib/cli.js:43184:7)
at BlockingQueue.maybePushConcurrencyQueue (/usr/share/yarn/lib/cli.js:43199:7)
at BlockingQueue.shift (/usr/share/yarn/lib/cli.js:43194:10)
at /usr/share/yarn/lib/cli.js:43138:15`

I faced the same issue.
My solution was:

Renaming NOTICE.csv into NOTICE_backup.csv
Removing of yarn.lock: rm -rf yarn.lock
Removing of node_modules: rm -rf node_modules
Editing SUIT-example-for-visualizations/packages/sui-visualizations-example/src/main/webapp/pages/start/index.jsx:
There is one import with wrong lower/upper case combination: import ThirdPartyExample from '../3PwithoutDF/3PwithoutDF';
yarn install in the SUIT-example-for-visualizations directory
yarn run build  in the SUIT-example-for-visualizations directory
yarn run link:app in the SUIT-example-for-visualizations/packages/sui-visualizations-example directory
yarn run start in the SUIT-example-for-visualizations directory

I am not sure if all steps are necessary (especially  2-3), but it worked for me.
Node Version: 18.17.1
Yarn Version: 1.22.19
Platform: Linux x64