datastore: embedded anonymous struct regression?

This issue copied from stackoverflow.
Original issue here: http://stackoverflow.com/questions/42659697/google-datastore-breaking-change-re-anonymous-struct-fields
Original reporter: @ianrose14
Report body:
We have a struct definition like this:
type TimeMs struct {
    time.Time
}

And various of our datastore entity definitions include fields of this type, e.g.:
type Whatever struct {
    Created TimeMs
}

In the past, this always worked fine without any special hackery on our part. If you examine these entities in the cloud console, the field's name was "Created." (note the trailing dot) which was a little odd but didn't seem to cause any problems. However, the latest versions of the cloud datastore package don't seem to play nicely with this. When we attempt to do a client.Put, we get an error of:
unexpected error: rpc error: code = 3 desc = The flattened property.name is the empty string.

We also saw a recent commit of "if nested struct implements PLS, use it" which seemed potentially useful. So we tried making the TimeMs struct implement PropertyLoadSaver (saving its anonymously-embedded time.Time as a property with Name=""), but this results in the same error.
It sure seems like this is a regression. Am I missing something? Is there some kind of workaround that we haven't thought of?
Please note that "just make it implement PropertyLoadSaver and save the Time with some non-empty Name" isn't really viable since we already have (literally) millions of entities stored using "" so it doesn't seem viable to migrate all of them.

Hey Ian!
Is your datastore pkg up to date? I cannot repro.
Here is the example app I'm using to test:
type TimeMs struct {
	time.Time
}

type Whatever struct {
	Created TimeMs
}

func main() {
	ctx := context.Background()
	dc, err := datastore.NewClient(ctx, "my-project-id")
	if err != nil {
		panic(err)
	}

	k := datastore.NameKey("Entity", "stringID", nil)
	e := &Whatever{Created: TimeMs{time.Now().UTC()}}

	if _, err := dc.Put(ctx, k, e); err != nil {
		panic(err)
	}

	e = new(Whatever)
	if err := dc.Get(ctx, k, e); err != nil {
		panic(err)
	}

	fmt.Println(e)
}

Out:
$ go run main.go
&{2017-03-07 15:36:51.503854 -0800 PST}

Does your program differ from this ^ in any way?

@adams-sarah Sorry!  I omitted an important piece of information.  The latest datastore pkg produces properties that omit the trailing "." which makes it backward incompatible with our existing entities (hence our attempts at implementing PropertyLoadSaver to paper over these differences).
Here is a slight modification of your test program where I print the properties in Load and Save:
package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"cloud.google.com/go/datastore"
)

type TimeMs struct {
	time.Time
}

type Whatever struct {
	Created TimeMs
}

func (t *Whatever) Load(props []datastore.Property) error {
	for _, prop := range props {
		log.Printf("in Load, found prop %s", prop.Name)
	}
	return datastore.LoadStruct(t, props)
}

func (t *Whatever) Save() ([]datastore.Property, error) {
	props, err := datastore.SaveStruct(t)
	for _, prop := range props {
		log.Printf("in Save, found prop %s", prop.Name)
	}
	return props, err
}

func main() {
	ctx := context.Background()
	dc, err := datastore.NewClient(ctx, "dev")
	if err != nil {
		panic(err)
	}

	k := datastore.NameKey("Entity", "stringID", nil)
	e := &Whatever{Created: TimeMs{time.Now().UTC()}}

	if _, err := dc.Put(ctx, k, e); err != nil {
		panic(err)
	}

	e = new(Whatever)
	if err := dc.Get(ctx, k, e); err != nil {
		panic(err)
	}

	fmt.Println(e)
}

When I run this with the latest datastore pkg, I get:
2017/03/07 21:28:14 in Save, found prop Created
2017/03/07 21:28:14 in Load, found prop Created
&{2017-03-07 21:28:14.293082 -0500 EST}

Whereas when I run this with old datastore code, I get:
2017/03/07 21:30:06 in Save, found prop Created.
2017/03/07 21:30:06 in Load, found prop Created.
&{2017-03-07 21:30:06.415073 -0500 EST}

To sanity check that this is really a problem with our existing data, here is another version that pulls a real entity from our datastore:
package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"cloud.google.com/go/datastore"
)

type TimeMs struct {
	time.Time
}

type Session struct {
	Created           TimeMs
	AnonymizePlayback bool
	Version           int
	DeletionStatus    int
	NumPages          int
	LastPage          string
	LastPageTime      TimeMs
	City              string
	NumEvents         int
}

func (s *Session) Load(props []datastore.Property) error {
	for _, prop := range props {
		log.Printf("in Load, found prop %s", prop.Name)
	}
	return datastore.LoadStruct(s, props)
}

func (s *Session) Save() ([]datastore.Property, error) {
	props, err := datastore.SaveStruct(s)
	for _, prop := range props {
		log.Printf("in Save, found prop %s", prop.Name)
	}
	return props, err
}

func main() {
	ctx := context.Background()
	dc, err := datastore.NewClient(ctx, "fs-staging")
	if err != nil {
		panic(err)
	}

	userKey := datastore.IDKey("User",<PHONE_NUMBER>985728, nil)
	userKey.Namespace = "ianthomasrose.com"

	sessionKey := datastore.IDKey("Session",<PHONE_NUMBER>213120, userKey)
	sessionKey.Namespace = "ianthomasrose.com"

	var session Session
	if err := dc.Get(ctx, sessionKey, &session); err != nil {
		panic(err)
	}

	fmt.Println(session)
}

When I run this with the latest datastore pkg, I get:
2017/03/07 21:32:24 in Load, found prop DeletionStatus
2017/03/07 21:32:24 in Load, found prop NumPages
2017/03/07 21:32:24 in Load, found prop LastPage
2017/03/07 21:32:24 in Load, found prop Version
2017/03/07 21:32:24 in Load, found prop AnonymizePlayback
2017/03/07 21:32:24 in Load, found prop Created.
2017/03/07 21:32:24 in Load, found prop LastPageTime.
2017/03/07 21:32:24 in Load, found prop NumEvents
2017/03/07 21:32:24 in Load, found prop City
panic: datastore: cannot load field "LastPageTime." into a "main.Session": no such struct field

goroutine 1 [running]:
panic(0x405980, 0xc420373b30)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
main.main()
	/Users/ianrose/Code/fullstorydev/mn/projects/fullstory/datastore-test-gcloud.go:58 +0x37a
exit status 2

Whereas when I run this with old datastore code, I get:
2017/03/07 21:31:36 in Load, found prop NumEvents
2017/03/07 21:31:36 in Load, found prop NumPages
2017/03/07 21:31:36 in Load, found prop LastPage
2017/03/07 21:31:36 in Load, found prop Version
2017/03/07 21:31:36 in Load, found prop Created.
2017/03/07 21:31:36 in Load, found prop LastPageTime.
2017/03/07 21:31:36 in Load, found prop City
2017/03/07 21:31:36 in Load, found prop AnonymizePlayback
2017/03/07 21:31:36 in Load, found prop DeletionStatus
{2016-10-06 03:40:34.162001 -0400 EDT false 0 0 0  0000-12-31 19:00:00 -0500 EST  0}

Ah! Yes.
So we made this change consciously, before the beta release. The dot at the end of field names was a mistake carried over from the old appengine datastore code.
I'm so sorry for the inconvenience.
I'd suggest writing a script, that loops through your entities and fixes the names to eliminate the "." suffix, something like this (below). Alternatively, you could bake this behavior into your code.
package main

import (
	"context"
	"fmt"
	"strings"
	"time"

	"cloud.google.com/go/datastore"
)

type TimeMs struct {
	time.Time
}

type Whatever struct {
	Created TimeMs
}

func (t *Whatever) Load(props []datastore.Property) error {
	for i, p := range props {
		if strings.HasSuffix(p.Name, ".") {
			props[i].Name = strings.TrimSuffix(p.Name, ".")
		}
	}

	return datastore.LoadStruct(t, props)
}

func (t *Whatever) Save() ([]datastore.Property, error) {
	return datastore.SaveStruct(t)
}

func main() {
	ctx := context.Background()
	dc, err := datastore.NewClient(ctx, "shadams-dev-testing")
	if err != nil {
		panic(err)
	}

	k := datastore.NameKey("Entity", "stringKey", nil)

	e := new(Whatever)
	if err := dc.Get(ctx, k, e); err != nil {
		panic(err)
	}

	if _, err := dc.Put(ctx, k, e); err != nil {
		panic(err)
	}
}

LMK if this doesn't help, or if there's anything else I can do.
So sorry again for the inconvenience. Now that the package is in beta, I don't anticipate that we'll make any breaking changes like this again. Once it's GA (soon), we guarantee that we won't.

Alternatively, you could bake this behavior into your code.

We considered that as well, but unfortunately won't that break our queries?  In other words if we have some entities using Created. and some using Created, there is no way to query across both types of entities (e.g. with "Created > some value").

Also I should note that we still have appengine code that is reading and writing these entities too.  I don't see a path forward for these 2 packages to coexist since one will read/write Created. and the other will read/write Created.

:(( yea.
This is something we talked about and didn't really have a good path forward for. I think we decided to just break interop, because we thought this was such a special case that it wouldn't really come up.
@jba @zombiezen @adamtanner any thoughts on how we should proceed?
For reference, this change took effect at 1e032f388e6fff73e1ce068a900955bfa2cca1d2 , when internal/fields usage went into datastore.
Relevant issues:
https://github.com/GoogleCloudPlatform/google-cloud-go/issues/441
https://github.com/golang/appengine/issues/41

Yes, we've got local mods to both cloud/datastore and now internal/fields to work around this issue so that it works like AppEngine, but we have to re-port the hacks every time we update.
If we could put a PLS on TimeMs itself (and have it respected in both the AppEngine and Cloud frameworks) we could do a slow migration.  But putting a PLS on all of our entities that contain a TimeMs would be a huge pain.

Hmm, it looks like if you port https://github.com/golang/appengine/pull/52 to cloud/datastore SDK that would be super helpful

:( unfortunately, https://github.com/golang/appengine/pull/52 is not compatible with cloud/datastore. We're using a different mechanism to act as a codec for field-loading to and from datastore, go structs. This mechanism (in internal/fields) is new and shared among all the cloud packages, ensuring their behavior is the same.
Most folks over here are out of the office this week for Google Cloud NEXT. I'll try to rally folks early next week to talk about paths forward for this.
You may be able to solve this already by making TimeMs implement a PLS. The cloud code should handle this well. The appengine datastore package will not. So your appengine code could load up "Created."s with the default behavior, and your cloud code could do so with the PLS.
Would that work for you guys?

Yes, that would actually work if we could write the embedded struct PLS on the cloud side is allowed to use an empty property name (since so that the containing struct can prepend e.g. Created. to the empty string that comes from PLS.

@adams-sarah by the way, I ran into a bug in the latest version of cloud.google.com/go/datastore/save.go.  This bit:
			// Check if v implements PropertyLoadSaver.
			pls, isPLS := v.Interface().(PropertyLoadSaver)

needs to move down into the case reflect.Struct: bit, like this:
			if !v.CanAddr() {
				return fmt.Errorf("datastore: unsupported struct field: value is unaddressable")
			}

			// Check if v implements PropertyLoadSaver.
			pls, isPLS := v.Addr().Interface().(PropertyLoadSaver)
			if isPLS {
				subProps, err := pls.Save()
				if err != nil {
					return err
				}
				p.Value = &Entity{Properties: subProps}
				break
			}

Otherwise, the PLS only triggers on embedded struct pointers and won't trigger on embedded structs.

Okay, I got this correctly round-tripping in a backwards compatible way, but I also had to modify propertyLoader.loadOneElement to actually delegate to the PLS for flattened properties...
--- a/projects/fullstory/go/src/cloud.google.com/go/datastore/load.go
+++ b/projects/fullstory/go/src/cloud.google.com/go/datastore/load.go
@@ -135,6 +135,15 @@ func (l *propertyLoader) loadOneElement(codec fields.List, structValue reflect.V

                var err error
                if field.Type.Kind() == reflect.Struct {
+                       // If the matched field implements PLS, delegate to the PLS and stop processing.
+                       if pls, ok := v.Addr().Interface().(PropertyLoadSaver); ok {
+                               p.Name = strings.TrimPrefix(p.Name, field.Name+".")
+                               if err := pls.Load([]Property{p}); err != nil {
+                                       return err.Error()
+                               }
+                               return ""
+                       }
+
                        codec, err = structCache.Fields(field.Type)
                        if err != nil {
                                return err.Error()

Hey @dragonsinth! In the future, it'd be great to track separate problems in a different gh issue, so folks can find this down the road if they're having a similar problem. And if your issue ends up being a real bug, we could close the one issue without closing off the original.
So the opts.flatten support you added won't make it into master b/c that should be implemented in the PLS Save() impl itself.
But I think your point about embedded struct values whose pointer type implements PLS not being respected is a bug. I've filed here: https://github.com/GoogleCloudPlatform/google-cloud-go/issues/551
Feel free to add more details. I'll work on fixing it today.

@adams-sarah the opts.flatten matters on both load and save.  Both are currently broken with respect to embedded PLS structs.  On the save side, if you skip checking opts.flatten you'll turn the returned props into an Entity, which changes the storage format to not respect the flatten, which won't be compatible with AppEngine.  On the load side, what's missing is explicit support for routing "Foo.X" to the PLS for Foo... without the change I suggested you end up with a "missing field" error.  Instead of checking the PLS for Foo, you end up loading the StructCodec for Foo and trying to resolve "X" which might not even be a real struct property.

ah, i see what you're saying.
will make a separate issue.

closing, as we're resolving these issues in #552, #551
please reopen if this is incorrect.

@adams-sarah I patched in your changes and things look great!  Thanks so much!

Awesome!


IPyWidgets not working with Jupyter Kernel

VS Code Version: 1.75.1 (Universal)
Whenever I am using sth with ipywidgets in a jupyter notebook in VS code, I get the notification from the screenshot that says: "The installed version of the Renderer Extension is outdated and required and update to view IPyWidgets. Click Yes to open Jupyter Notebook Renderer Extension installation page." However, I already have the latest version and tried multiple other version but nothing changes. Other than that there is no error message or something, the widget is simply not displayed. But it blocks the whole notebook because it's stuck with the command where the widget should be generated.
I already tried a lot, downgrading libraries etc but cannot make it work.
Easy example to trigger the bug:
import ipywidgets as widgets

def run(a, b):
    print(f"Slider : {a}\nDropdown : {b}")

widgets.interact(
    run,
    a=widgets.IntSlider(
        value=1,
        min=1,
        max=3,
        step=1,
        description="Slider :",
    ),
    b=widgets.Dropdown(
        options=["1", "2", "3"],
        value="2",
        description="Dropdown :",
        disabled=False,
    ),
)

I am using pipenv to handle the venv:
pipenv run jupyter --version
Output:
Selected Jupyter core packages...
IPython          : 8.10.0
ipykernel        : 6.21.2
ipywidgets       : 7.7.3
jupyter_client   : 8.0.3
jupyter_core     : 5.2.0
jupyter_server   : 2.3.0
jupyterlab       : 3.6.1
nbclient         : 0.7.2
nbconvert        : 7.2.9
nbformat         : 5.7.3
notebook         : 6.5.2
qtconsole        : not installed
traitlets        : 5.9.0

Looks like you are using the pre-release version of Jupyter extension
To use ipywidhets with the prerelease version please install vscode insiders
Or please wait for the next stable release which will be some time next week

Thanks for the fast reply!
Which extension exactly do you mean? Are you referring to the jupyterlab version?
If yes, I could probably also easily downgrade that. Was not aware that this is a pre-released version 🤔

Thanks for the fast reply @DonJayamanne! Much appreciated!


#640: fix xml merger if merge:id is omitted for repated element

fixes #640

verification and error on empty merge:id must only happen before IdComputer shall be constructed.
improved XmlMergerTest
extended id-fallback test as already suggested before by @jan-vcapgemini in PR #622 for bug #621 (due to my "ignorance" we have not immediately found this bug).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
11 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.002%) to 65.886%

Files with Coverage Reduction
New Missed Lines
%

com/devonfw/tools/ide/merge/xmlmerger/matcher/ElementMatcher.java
2
87.5%

com/devonfw/tools/ide/merge/xmlmerger/model/MergeElement.java
4
77.78%

com/devonfw/tools/ide/merge/xmlmerger/matcher/IdComputer.java
5
76.81%

Totals

Change from base Build<PHONE_NUMBER>8:
-0.002%

Covered Lines:
6054

Relevant Lines:
8846

💛  - Coveralls


Update discipline-scalatest to 2.0.0

Updates org.typelevel:discipline-scalatest from 1.0.1 to 2.0.0.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "discipline-scalatest" } ]

labels: test-library-update, semver-major

Codecov Report

Merging #66 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #66   +/-   ##
=======================================
  Coverage   80.35%   80.35%
=======================================
  Files           6        6
  Lines         112      112
=======================================
  Hits           90       90
  Misses         22       22

Continue to review full report at Codecov.

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


chore(demoing-storybook): add knob exports

Storybook has a couple of knobs that are cool but not re-exported in open-wc, so here's a MR :).

thaaannkk you ❤


update install script to be arcade-aware

This script assumes (incorrectly?  I'm open to discussion) that .\restore.cmd has already been run.

I'm committing (ha!) a sin and merging this with failing tests because this script isn't used during CI.


Adapt EventsPerJob to a multiple of EventsPerLumi - EventBased only

Fixes #6857
Use cases are:

if requestor provides both EpJ and EpL, then nothing gets changed
if requestor provides EpJ but not EpL, then usual EpL = EpJ is applied
if requestor provides EpL but not EpJ, 8h job is calculate and EpJ is adapted to a multiple of EpL
if requestor doesn't provide any of these, 8h job is calculated and usual EpL = EpJ is applied.

I'm expecting tests to fail... I also think the workload_cache document won't get updated with the adapted value (that information is uploaded outside of the spec factory, I have to investigate how to update it before it gets persisted)

Alan, patch looks good to me. What kind of error are you getting?

I didn't test yet, but I think the workload will have one value and the workload_cache (json doc) will have another. Better not merge it until I get that fixed.

@ticoann I managed to fix the issue mentioned above. You can see I update arguments['EventsPerJob'] from the spec factory because we save the workload json in another place, here I think:
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/ReqMgr/Service/Request.py#L551
If it passes the unit tests and you agree with the code, feel free to merge. Otherwise we can discuss tomorrow and fix/merge it in the coming days.


Modal over Modal, can not be removed appropriately

When I have a Modal over another Modal.
The top modal backdrop is not cover the bottom Modal by the z-40.
if I add the top Modal backdrop with z-50 and Modal with z-[60], it's worked.
but when removed the top Modal. it fails, because the the top Modal backdrop is alive and bottom Modal backdrop is destroyed.
https://github.com/themesberg/flowbite/blob/30b276bfd19cbb4592612fcff2161b0a0e589243/src/components/modal/index.ts#L88-L95

Hey @monster-echo,
Should be fixed via your PR. Thanks!


Heuristics for invalid headers

We found that some of the headers we collected in the raw data are not valid such as:
{
      accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
      'accept-encoding': 'gzip, deflate',
      'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)',
      'Accept-Language': 'en-US'
    }

There probably is a better solution, but for now a good heuristic could be that we discard all header sets that:

use lower-case in HTTP/1.1
include the string bot.

cc @szmarczak

I would exclude both.

@szmarczak Yeah, that's the plan :)
Let me know here if you notice some cases these two wouldn't catch.
Also, I am not sure yet, but I might also deduplicate the collected headers before giving them to the generator, since bots (the ones who are not trying to hide) probably always use the same set of headers, so if we only use unique headers, every bot will be represented just once, drastically decreasing the probability that their headers will appear on the output. I will have to check the data before I do that though, because if valid users also tend to have the same headers (which is certainly a possibility), it might decrease the quality of the results.

Done. Also found a list of patterns created to detect known bots, so added these to the heuristics. All in all, approximately 1/6th of all the headers got filtered out.

Good job, thanks a lot :heart:


Update GitHub links that mention MERLTech on the MERL Center website by merging the draft pr

Overview
We need to update any links that reference github.com/MERLTech on the MERL Center website to either be relative or point to github.com/merlcenter
Action Items

[ ] identify and document all the places where MERL Tech appears on the website
[x] determine which ones need to be updated and how
[x] do a pr to make the necessary changes and put it in draft mode so that we can hold off on merging it until the github org is renamed.

Resources/Instructions

https://merlcenter.org/about/
https://github.com/search?q=repo%3AMERLTech%2FMERL-Center-public github.com%2Fmerltech&type=code

Documentation
Contributing.md

Several links to different markdown files on our repository

README.md

Links to MERLdefnition.md and Contributing.md

_guides/2020-12-08-open-source-merl-workflows.md

Link to MERLdefnition.md

_guides/2021-04-23-Dispelling-myths-qualifying-assumptions.md

Link to MERLdefnition.md

_includes/header.html

The View the Repository link that appears in the navbar on desktop viewport
The View the Repository link that appears in the mobile drawer

about.html

All the links that show in "THE SCOPE OF THE MERL CENTER" section


doc: typo in repo about url should be 'docs.edgee.cloud'

Describe the bug
all in the title
To Reproduce
Steps to reproduce the behavior:

Go to 'Repo'
Click on 'doc.edgee.cloud'
See error

Expected behavior
Url should be docs.edgee.cloud
Screenshots

Hello @mikbry. Thanks for the issue. It's fixed ;)


fix rds client url so edda can see multiple regions

Edda appears to always read the default region for the SDK since it always talks to the rds.amazonaws.com URL.

edda-pull-requests #69 SUCCESS
This pull request looks good

NetflixOSS » edda » edda-pull-requests #5 FAILURE
Looks like there's a problem with this pull request

Thanks!


VesselView

I'm taking over this mod, updating the file so existing installs will work

Nice! LGTM :shipit:


add dumpBits (remove bitmapData from RAM while keeping _texture)

adding dumpBitsto openfl next allow same behavior as legacy (where a dumpBits method already exists). Some game engine like HaxeFlixel uses dumpBits when compiling with legacy so it will be great to have it in next too.
I've test the method and it works (sometimes I need to call System.gc() right after to remove RAM immediately)
Of course we have to call dumpBits after the texture is generated once so I've added canBeDump()method.

I'm closing because it has been implemented recently https://github.com/openfl/openfl/commit/d72f0ce5ef962ede97737890262ffac55e10203b


Add "Copy Item" functionality

We want to be able to copy items; ideally if you copy an item or multiple items you get a table into your clipboard with all visible column labels and the items/columns that are currently selected.
This should probably be in a table-compatible format, so that the result would be similar to when I copy from a google sheet.
There could be a global "copy" button, or there could also be an item-specific copy-button, e.g., next to the selection column.
This should also be hooked up to shortcuts (Cmd/Ctrl & C), and expose this to wrapping applications.

notes:
lineup has the feature to export the ranking as CSV (https://github.com/lineupjs/lineupjs/blob/main/src/provider/utils.ts#L336). This would be an extension / subset of it by only converting a subset of the rows (e.g. selected row, selected rows, ...) and using the https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API to copy it into the clipboard

see also https://github.com/lineupjs/lineupjs/pull/510 which adds ctrl-c, ctrl-v for selected rows

didn't #510 fixes this issues?


Install script downloading v1.3 and not v.1.3.1

Using sh -c 'sh -c "$(curl -sL https://api.controld.com/dl)"' to install, and post installation, the version remains v.1.3.0 and not v.1.3.1.
This is on pfsense plus.

I can confirm the same thing on UDM PRO SE.  After running the script installer, I am still getting v 1.3.0

The download url has not been updated with new binaries yet.
Sorry for the delay.

Thanks for the quick response. Waiting for a ping from you here once its ready to go.

Thanks for the quick response. Waiting for a ping from you here once its ready to go.

The download url was updated, please give it a try, thank you.

This is updated now.

Mine is still downloading 1.3.0...

I updated using your .dev link and it worked, but the link is still not installing 1.3.1.

On this page: https://controld.com/status
What code does it show after "Using Control D".

Control D Troubleshooting - Fri, 13 Oct 2023 01:25:57 UTC
Using Control D   |  DAL
Resolver          |  2awnp8a9w8g
DNS Protocol      |  DNS-over-HTTPS
DNS Latency       |  11.78ms
DNS Host          |  dal-h01
DNS Source IP     |  2600:1700:1260:d5ef:d9fa:66ae:9347:6209
Proxy Authorized  |  No
Null Routed       |  No
Proxy Latency     |  34.98ms
Proxy Host        |  mia-h04
Proxy Source IP   |  2600:1700:1260:d5ef:d9fa:66ae:9347:6209
nslookup captive.apple.com errors when I use the install script.
when I use the .dev, it gives me the correct lookup.

Ok, issue identified + resolved. Try the .com installer again.

Fixed. Thank you.


Convert all repository tests to DB integration tests

https://github.com/byliuyang/short/issues/204


CNN serving image build is broken

Describe the bug
CNN serving image is broken due to an update in a dependency.
To Reproduce
the error appears in the nightly testing
Expected behavior
Successful build
Logs
https://github.com/ease-lab/vhive/runs/2436625774?check_suite_focus=true#step:3:133
Workaround
Use pre-built image vhiveease/cnn_serving on DockerHub.

I tried rebuilding this recently - since I made changes in my copy of server.py to help with my use-case.
I see errors in Docker build about untrusted signature with these lines:
    echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
    echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \

Eventually this too gives errors:
   apk add --allow-untrusted --repository http://dl-3.alpinelinux.org/alpine/edge/testing hdf5 hdf5-dev && \
I tried rebuilding the base image (tatsushid/alpine-py3-tensorflow-jupyter) since that was a suggestion in one of the search results. That fails with this message:
[1mERROR: /tmp/bazel-0.7.0/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD:29:1: Building src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage.jar (9 source files) failed (Exit 1): java failed: error executing command
  (cd /tmp/bazel_XXMiCOln/out/execroot/io_bazel && \
  exec env - \
    LC_CTYPE=en_US.UTF-8 \
  /usr/lib/jvm/java-1.8-openjdk/bin/java -XX:+TieredCompilation '-XX:TieredStopAtLevel=1' -Xbootclasspath/p:third_party/java/jdk/langtools/javac-9-dev-r4023-3.jar -jar bazel-out/host/bin/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/bootstrap_deploy.jar @bazel-out/local-opt/bin/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage.jar-2.params).
java.lang.InternalError: Cannot find requested resource bundle for locale en_US

There is a warning message that could be related:
.WARNING: /tmp/bazel_XXMiCOln/out/external/bazel_tools/WORKSPACE:1: Workspace name in /tmp/bazel_XXMiCOln/out/external/bazel_tools/WORKSPACE (@io_bazel) does not match the name given in the repository's definition (@bazel_tools); this will cause a build error in future versions.

@adayaru  I suggest re-doing this image atop of python-slim instead of Alpine, as it is much easier to get right and maintain in a long term. We don't plan this work as of now so your contribution is more than welcome.

Hi @ustiugov, @adayaru,
I have tried to hack my way to get it working.. The issue is due to rotation of the keys since Alpine 3.15.
I manually downloaded the required packages and have them installed in the docker image.
Working copy is here. 006bdda92b9eafa5b77cb97d3897062c26ae4806
However, same problem is present in rnn_serving image as well. it is also not getting built due to the same issue. However, i could not get it to work.

@niravnshah could you please open a PR with the fix?

@ustiugov, I am not sure if we can call this as a fix :)
I have explicitly downloaded x86_64 packages, meaning, it will not work for aarch64. Also, I am not sure if having a fixed version of apk is a good idea (they may become stale also, that's why we have those package managers). I guess, this needs to be looked from the base image perspective, and if that needs to/should be changed.


[facebook] RegexNotFoundError: Unable to extract server js data

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)

bruno@jeeg:~/src/youtube-dl/bin$ ./youtube-dl --verbose https://www.facebook.com/video.php?v=10153746866670196
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'https://www.facebook.com/video.php?v=10153746866670196']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.02.22
[debug] Python version 2.7.11+ - Linux-4.4.0-22-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.6-1ubuntu2, ffprobe 2.8.6-1ubuntu2, rtmpdump 2.4
[debug] Proxy map: {}
[facebook]<PHONE_NUMBER>6670196: Downloading webpage
ERROR: Unable to extract server js data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 666, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 316, in extract
    return self._real_extract(url)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/facebook.py", line 188, in _real_extract
    r'handleServerJS\(({.+})\);', webpage, 'server js data'), video_id)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 611, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract server js data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description of your issue, suggested solution and other information
I can see the video in Firefox (Ubuntu) with the given URL without login. youtube-dl does not download it.

[debug] youtube-dl version 2016.02.22

It's too old. Please upgrade to the latest version (2016.12.22), which is working:
$ youtube-dl -v "https://www.facebook.com/video.php?v=10153746866670196"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'https://www.facebook.com/video.php?v=10153746866670196']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.12.22
[debug] Git HEAD: 19f37ce4b
[debug] Python version 3.5.2 - Linux-4.8.13-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2, rtmpdump 2.4
[debug] Proxy map: {}
[facebook]<PHONE_NUMBER>6670196: Downloading webpage
[debug] Invoking downloader on 'https://video-tpe1-1.xx.fbcdn.net/v/t42.1790-2/12433540_423938111136426_1680795630_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InN2ZV9zZCJ9&oh=e3c0c278c4fc33904260a270b55e98fc&oe=585D3C05'
[download] Destination: E  CHE VIGILIA SIA!!!!Buon Natale dai Pellagra !!!!Pellagra domina anche a...-10153746866670196.mp4
[download] 100% of 3.03MiB in 00:01

I'm so sorry for this useless issue: I didn't doublecheck the --verbose output and I didn't realize that running the "bin/youtube-dl" script loaded the system outdated version instead of the updated one I had just cloned.
Thanks for the great software :)


Nothing shown when Atom is up to date

Presumably a regression introduced in https://github.com/atom/about/pull/12.

@joshaber: I am not able to reproduce this on 1.7.0-beta0. Does it happen consistently?
Since we are not showing any text, maybe we're getting into an "Update State" that we don't have a label for? That might cause this switch statement to not work properly.
For now, I am going ahead and add an atom.assert to validate this hypothesis, so that we can have a report on bugsnag.

@joshaber: I am not able to reproduce this on 1.7.0-beta0. Does it happen consistently?

Huh, yeah, it does. What does it show for you?


update json query json

include unindexed attribute in the value
Signed-off-by: senthil<EMAIL_ADDRESS>

Already covered by the query example.


[Accordion] Support component type

closes: https://github.com/mui/material-ui/issues/36940
before: https://codesandbox.io/s/priceless-mclaren-e8mq3s
after: https://codesandbox.io/s/infallible-colden-90x7jx?file=/demo.tsx

[ ] I have followed (at least) the PR section of the contributing guide.

changes in this PR is similar to changes done in https://github.com/mui/material-ui/pull/35852


update dependencies

update some dependencies
remove @react-native-community/async-storage
add react-native-encrypted storage (fixes #45 )
configure mock

First round of npm clean_install_macos brought me this (imagine it printed in red onto you console):
[!] CocoaPods could not find compatible versions for pod "Firebase/Messaging":
  In Podfile:
    RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`) was resolved to 12.7.5, which depends on
      Firebase/Messaging (= 8.6.0)

None of your spec sources contain a spec satisfying the dependency: `Firebase/Messaging (= 8.6.0)`.

pod install --repo-update   seems to resolve that one, but I do not have finished testing the app after that command yet (but looking good so far).
I would only recommend updating some comments and the README to mirror the change.


HandlePackageEdits job failing in prod

You can see the error in the DB:
System.IO.FileLoadException: Could not load file or assembly 'NuGet.Core, Version=2.8.60318.667, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'NuGet.Core, Version=2.8.60318.667, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
at HandlePackageEdits.Job.d__16.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
at HandlePackageEdits.Job.ApplyEdit(PackageEdit edit)
at HandlePackageEdits.Job.d__8.MoveNext() in c:\Users\bhuvak\Documents\GitHub\NuGet.Jobs\src\HandlePackageEdits\HandlePackageEdits.Job.cs:line 140
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

@skofman1 @shishirx34 Can this one be closed?

yes, I kept this until I deploy to INT and PROD. I will close it off.

@maartenba - It seems that using NugetGallery.Core's NupkgRewriter(which  https://github.com/NuGet/NuGet.Jobs/pull/60 does) adds empty tags for null items. For eg if licenseUrl, projectUrl, iconUrl is not specified. This could cause an issue in client side: https://github.com/NuGet/NuGetGallery/issues/3177 in which @emgarten says "Those fields are not required, however the client does fail if they exist but do not contain a valid url." which in my understanding means, if I were to edit the nupkg using the above rewriter, it would add empty tags for non-existing elements, which can cause issues in client (see: https://github.com/NuGet/NuGetGallery/blob/master/src/NuGetGallery.Core/Packaging/NupkgRewriter.cs#L73).
I think we should only add element to metadata if it exists, either before the edit or after edit and non-existing elements shouldn't be added. Does that sound good to you? I can open another bug to fix and consume those changes for HandlePackageEdits, and hold on to push changes to prod for https://github.com/NuGet/NuGet.Jobs/pull/60. Is that reasonable?

@shishirx34 I agree that we shouldn't add metadata elements to specs that don't have those elements. I don't know if you need to wait on pushing to prod, unless this additional issue will also make the HandlePackageEdits job useless.

@scottbommarito - The HandlePackageEdits job might essentially break Clients if it a package is edited for a that adds empty tags, hence I want to hear from @maartenba if that is a likely scenario.

@shishirx34 sounds good, I think it makes total sense to not write those elements if they are empty anyway

@shishirx34 Ah, I was uninformed on what the change was about--don't push it for sure if it introduces a regression.


chore: bump<EMAIL_ADDRESS>

Why revert this PR?
Have you also encountered the electron 8 black screen issue on Windows 7 Service Pack 1?

@xiaoxiangmoe It was reverted due to issues with crash reporting, version has been updated again in https://github.com/microsoft/vscode/pull/98266


Clean unnecessary codes

No result will be changed after the PR.

coverage: 89.49% (+0.02%) from 89.474%
when pulling 4606d3ae0d81f0f86e51f191be6e4c11562cd2e7 on clean_unnecessary_codes
into 3a310e4414ed8a83fed2820a00f158b4700584f2 on master.


Update building-community.md in zh_tw

Minor change, fix type 好的說明文建會 => 好的說明文件會

[x] Have you followed the contributing guidelines?
[x] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thanks so much for your contribution! Happy to merge this once all of the tests pass. Thanks!

Thanks so much for your contribution! Happy to merge this once all of the tests pass. Thanks!

@rmathew1992 Sorry but I think there is a problem with the test. The test has been blocked by 2 external links, it shows 403, but I didn't modify them. So I'm not sure what to do.

@rmathew1992 Sorry but I think there is a problem with the test. The test has been blocked by 2 external links, it shows 403, but I didn't modify them. So I'm not sure what to do.

Oh, interesting re-running the build fixed the problem.
But this looks good to me. Thanks for your contribution!

Oh, interesting re-running the build fixed the problem.
But this looks good to me. Thanks for your contribution!

071947            Fuck69$$     Other accounts gmail micro Babygirl01## or
$$ or ** thanks
On Fri, Jan 29, 2021 at 8:08 PM mohammadahmadi98<EMAIL_ADDRESS>wrote:

@mohammadahmadi98 commented on this pull request.
Duplicate of #
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/opensource.guide/pull/2153#pullrequestreview-579717686,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJOERBT3BQKQVXZTOPNET3LS4NS23ANCNFSM4WYFXRFA
.

071947            Fuck69$$     Other accounts gmail micro Babygirl01## or
$$ or ** thanks
On Fri, Jan 29, 2021 at 8:08 PM mohammadahmadi98<EMAIL_ADDRESS>wrote:

@mohammadahmadi98 commented on this pull request.
Duplicate of #
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/opensource.guide/pull/2153#pullrequestreview-579717686,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJOERBT3BQKQVXZTOPNET3LS4NS23ANCNFSM4WYFXRFA
.


1.39 update - add "invert" to specification

The node exists in the standard library code, but is missing from the specification.

As with your proposal to implement the round node, though, perhaps this ought to be a pull request to the main branch rather than the dev_1.39 branch, so that it becomes available in our very next release of MaterialX.
Does that seem reasonable to you as well?

That makes sense, I will move both of those PRs over to 'main'

This one had zero conflicts :)


Is there a way to pull all the language sources together?

I like to organize my music files in the format:

##. Romaji (Kana/Kanji_English)
Example: 01. Sousou ~WEL ARY TINDHARIA?~ (創奏 ～WEL ARY TINDHARIA?～_Overture of Creation ~Will You Sing the Song of the World?~)

Is it possible to build the renaming in a way that if english or japanese are available, I can rename my file in this format? If so, how can it be done?

The language priority for this is Eng -> Romaji -> whatever, if you have different preferences you can change it by tweaking the code here. Album names on the other hand use whatever preferred language you have configured with Beets, I forget why I didn't do this for track names.
I'm currently using this unofficial VGMdb API: http://vgmdb.info/ for the plugin, you can see an example of the language key names here: http://vgmdb.info/album/23631?format=json. VGMdb has different language keys for tracks than they do for Album names, not sure why but keep this in mind. For "Kana/Kanji_English" I think you would just want to do the "Japanese" key, VGMdb was never meant to be used for APIs so sometimes they use rare keys like "Romaji" but it's not very common. This is why you need to make sure to always have some sort of fallback.
This isn't tested and it's a little messy but for what you desire I think you would want to change it to something like this:
if track["names"].has_key("English") and track["names"].has_key("Japanese"):
    title = track["names"]["English"] + "(" + track["names"]["Japanese"] + ")"
elif track["names"].has_key("Romaji") and track["names"].has_key("Japanese"):
    title = track["names"]["Romaji"] + "(" + track["names"]["Japanese"] + ")"
elif track["names"].has_key("English"):
    title = track["names"]["English"]
elif track["names"].has_key("Romaji"):
    title = track["names"]["Romaji"]
else:
    title = track["names"].values()[0]

Awesome, I'll give it a go. Thanks!


test: remove VERSION variable from release-test target

Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 845a4e7bd09a486618a282005ec37e86afbee5d4
https://deploy-preview-4064--calico.netlify.app


Mock_source_filling

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

184 of 188 (97.87%)  changed or added relevant lines in 12 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.05%) to 85.201%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

datatypes/src/raster/tiling.rs
2
4
50.0%

operators/src/mock/mock_raster_source.rs
27
29
93.1%

Files with Coverage Reduction
New Missed Lines
%

operators/src/source/ogr_source/mod.rs
1
92.64%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
31003

Relevant Lines:
36388

💛  - Coveralls


Add buttons to flip generators

ref #135

There are some issues with the layout and dependency versioning. Will fix after the UI pass.

The button in rank 2 is a bit jumpy, so I'm probably missing something about the styling.

Switching branches...


GUI: CLR modules that are not found are not shown in dependency tree

Those should be shown with a 'missing' icon, like native DLLs.

Same issue happens on CLI tool, but probably needs another issue - the reason lies elsewhere.

Hmm, the CLI tool does not actually attempt to resolve the CLR assemblies, only the GUI does. One day, I'll have the time and motivation to backport this resolution into the lib underneath, making accessible to both GUI and CLI.


Uncaught IllegalStateException

Please fill in the following fields:
Pre-built SDK from the website
Firebase C++ SDK version: 6.15.1
Firebase plugins in use (Auth, Database, etc.): admob
Additional SDKs you are using (Facebook, AdMob, etc.):

'com.google.firebase:firebase-bom:25.8.0'
'com.google.ads.mediation:facebook:<IP_ADDRESS>'
'com.google.android.ads:mediation-test-suite:1.4.0'
'com.google.gms:google-services:4.3.3'

Platform you are using the C++ SDK on (Mac, Windows, or Linux): Windows
Platform you are targeting (iOS, Android, and/or desktop): Android
Please describe the issue here:
There are some cases that interstitial->LoadAd(request); throws an IllegalStateException that is not caught crashing the app instead of failing the Future. I've put together a quick pr to fix it in this repo.
Please answer the following, if applicable:
What's the issue repro rate? it almost never happens, but when it happens it always happen until you reinstall the app

Hi @berinhardt
Thank you for reporting this, and even better, with a pull request!
It looks like a legit fix.  However, current we cannot accept pull request on this repo until we fully migrate our build process to Github, which still needs some time.
Are you OK if we fix this from outside and publish the change in the next release?
Shawn

Of course, please do that!

Thanks for the response and the fix! We will make sure to get it in our next release. As @chkuang-g mentioned, this might take some time as we are in the middle of migrating our build process right now.

Hi @berinhardt,
Thanks for reporting this and for the proposed fix. These changes went into the latest release. Am closing the ticket for now but please feel free to reopen if you are still noticing problems.


initial commit

Summary
Describe your changes here.
Fixes #Issue_Number (if available)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: alexwolfmsft sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Added RetryingMessageListenerAdapter to KafkaPlugin

Added & modified 3 lines in KafkaPlugin class.

Added RetryingMessageListenerAdapter.

Bug fixed RecordMessagingMessageListenerAdapterTransform -> RecordMessagingMessageListenerAdapter. Corrected the class name instead of callback name.

Method name changed RecordMessagingMessageListenerAdapterTransform -> AcknowledgingConsumerAwareMessageListenerTransform

I tested it in my development environment, but I honestly don't know how to test it.
Please give me feedback if you need anything

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.곽형섭 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #5885 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #5885      +/-   ##
==========================================
- Coverage   40.76%   40.76%   -0.01%
==========================================
  Files        2951     2951
  Lines       88740    88741       +1
  Branches    11686    11686
==========================================
  Hits        36175    36175
- Misses      49421    49422       +1
  Partials     3144     3144

Impacted Files
Coverage Δ

...m/navercorp/pinpoint/plugin/kafka/KafkaPlugin.java
0% <0%> (ø)
:arrow_up:

...vercorp/pinpoint/rpc/packet/ServerClosePacket.java
52% <0%> (-16%)
:arrow_down:

...p/pinpoint/rpc/stream/StreamChannelRepository.java
75% <0%> (-10%)
:arrow_down:

...rp/pinpoint/web/mapper/stat/AgentStatMapperV2.java
59.52% <0%> (-9.53%)
:arrow_down:

...rp/pinpoint/rpc/server/PinpointServerAcceptor.java
84.1% <0%> (-4.64%)
:arrow_down:

...ofiler/sender/StandbySpanStreamDataSendWorker.java
80.59% <0%> (-2.99%)
:arrow_down:

.../pinpoint/rpc/client/PinpointClientHandshaker.java
65% <0%> (-1.43%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
79.22% <0%> (ø)
:arrow_up:

...point/rpc/client/DefaultPinpointClientHandler.java
72.4% <0%> (+0.32%)
:arrow_up:

...ollector/cluster/zookeeper/ZookeeperJobWorker.java
82.32% <0%> (+1.39%)
:arrow_up:

... and 8 more

Continue to review full report at Codecov.

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

@gwagdalf
Could you add the @author tags to your name or id in KafkaPlugin class.

@koo-taejin
I added @author comment.
I felt strange about original creator didn't add @author.

@gwagdalf
Thanks for you're contribution :)


3.5.2

Update recipe to build doc using sphinx: cmake picked up the system python by default instead of the one in the host environment.

Checklist

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

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


When a parsing error occurs, Landscape exits with 0

When Landscape 0.3.0 finds an unknow mesasge in Terraform output, it prints a Terraform Landscape: a parsing error occured. Falling back to original Terraform output... but then it exits with 0. Usually (I'd dare to say always) this is because Terraform failed, so Landscape should exit with an error code too. I rely on Landscape exit codes to do things.

I don't have enough data to say whether Landscape failures correspond to Terraform failures—my personal experience is that they don't, however.
When dealing with processes in a pipeline, you should be using the $PIPESTATUS variable (if using bash, or $pipestatus for zsh) so you can determine if terraform itself failed in the pipeline.
Open to suggestions here, but I think there's an argument to be made for landscape not breaking CI runs for teams when it encounters a parsing error or otherwise.

Thanks for the pointer to $PIPESTATUS @sds
I recently added landscape to our CI and now was wondering about the exit code in case of locked statefile. 🤦♂

You can also use set -o pipefail at the top of your CI Bash scripts (which is probably best practice, anyway).
I'd prefer that Landscape doesn't exit with non-zero if it has a parsing error. Considering it falls back to the main Terraform output, I don't consider it an error I need to know about. It's really more a 'notice'. I'm much more interested in the exit code of the terraform command before it.


/AAGUID/ text appears out of nowhere

When I comment something in a .vue file and I type // I get instead /AAGUID/. It happens only sometimes, not always.
It appeared only after I switched to Vetur.
I also use extensions Eslint, Editorconfig for VS Code, Reactjs code snippets, React Native Tools.
Thank you.

Interesting, I haven't seen this before. Which part (template, style, js, or outside any region) are you writing it?
I can't debug it if I can't reproduce it.

I made a video and from it I made a gif. I don't know what to send for you to be able to reproduce it. It's not big deal, but if you want I can send you any config files from VS Code just for your curiosity.
What is strange is that it appears like it is coming from somewhere, it's not random. Even if I type aa it appears in IntelliSense.
Like I said, I can live with it. I just thought to report it because I was here researching about the other issue where on each format the HTML in the vue file is indented.
Best regards,
Rudolf

Yea the current IntelliSense have a lot of junks in it (outputting everything and let you filter it down).
A lot of the suggestions don't make sense in the context at all.
I'll have time to improve IntelliSense next week, and I'll remember to look into this.

When I use switch syntax in vue files, after typing a case colon, the suggested string AAGUID came out. I had to press ESC to cancel suggestions and then ENTER to switch to a new line.

AAGUID is part of TS's DOM api: https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts
So while it's not commonly used, we can't blame TS for having it in IntelliSense.
What you were describing sounds like a VSCode issue with its IntelliSense. Can you try the latest version and see if it's resolved already?

Still happening and is starting to get in the way of normal work. I am always stopped by it and must press esc to get rid of it.
Why are not more people complaining about this?
Reported to VS Code too. https://github.com/Microsoft/vscode/issues/25275

Try removing vue-snippets.

I disabled Vetur. Installed back Vue snippets. AAGUID is not appearing anymore. Even if I type AA I don't get it. Seems like Vetur is bringing some IntelliSense into scope which should not be there. Too bad because I really like that Vetur indents my code on save, a feature I find very important.

I hit something similar: when typing: in a case syntax, most times I just want to add a line break, but if I press Enter, AAGUID will come out

The repeating IntelliSense is an upstream bug and will be resolved with<EMAIL_ADDRESS>released later this week.

Any news on our friend AAGUID?
I just typed this because I forgot to press ESC after each equal sign:
=AAGUID=AAGUID=
I wanted ===

I can type === without any problem. I think you should raise a problem with VSCode again, since = shouldn't trigger IntelliSense.
Meanwhile on Vetur side, the repeating IntelliSense suggestion has been fixed.


[Fix] Remove $ to enhance commands copy

Removing $ makes it possible to copy the command more easily.

I have signed CLA but can't rerun the actions


Update for .NET  standard 2.1

Updates target framework support for .NET 8 Core.
This will be all inclusive within .NET standard 2.1 with updates to compiler version in addition.

Seems fine

I have added .NET 8 build support to the GitHub actions, but it won't work in the current PR because it has a build action that targets .NET 5.
I think it is needed to pull changes from the main branch to the source branch and it will build successfully.


Bug report: unstable reloading system, sys.modules should not be used and is causing severe crashes with every single other addon

sys.modules should not be touched in any way and makes the current way the addon works hang python in blender, with errors from every single addon that, the module is gone and cannot be reimported
source 1: https://justus.science/blog/2015/04/19/sys.modules-is-dangerous.html
source 2: https://github.com/Valery-AA/AlxBPYCodeReferences/blob/main/Addon Register And Reload/Reloading Multi-File Addons.md
additionally i have made available to the community an module auto-loader to solve this problem
auto-loader:
import bpy

##################################################
############# ALX MODULE AUTO-LOADER #############
import os
import importlib

folder_blacklist = ["__pycache__"]
file_blacklist = ["__init__.py"]

addon_folders = list([__path__[0]])
addon_folders.extend( [os.path.join(__path__[0], folder_name) for folder_name in os.listdir(__path__[0]) if ( os.path.isdir( os.path.join(__path__[0], folder_name) ) ) and (folder_name not in folder_blacklist) ] )

addon_files = [[folder_path, file_name[0:-3]] for folder_path in addon_folders for file_name in os.listdir(folder_path) if (file_name not in file_blacklist) and (file_name.endswith(".py"))]

for folder_file_batch in addon_files:
    if (os.path.basename(folder_file_batch[0]) == os.path.basename(__path__[0])):
        file = folder_file_batch[1]

        if (file not in locals()):
            import_line = f"from . import {file}"
            exec(import_line)
        else:
            reload_line = f"{file} = importlib.reload({file})"
            exec(reload_line)

    else:
        if (os.path.basename(folder_file_batch[0]) != os.path.basename(__path__[0])):
            file = folder_file_batch[1]

            if (file not in locals()):
                import_line = f"from . {os.path.basename(folder_file_batch[0])} import {file}"
                exec(import_line)
            else:
                reload_line = f"{file} = importlib.reload({file})"
                exec(reload_line)

import inspect

class_blacklist = []

bpy_class_object_list = tuple(bpy_class[1] for bpy_class in inspect.getmembers(bpy.types, inspect.isclass) if (bpy_class not in class_blacklist))
alx_class_object_list = tuple(alx_class[1] for file_batch in addon_files for alx_class in inspect.getmembers(eval(file_batch[1]), inspect.isclass) if issubclass(alx_class[1], bpy_class_object_list) and (not issubclass(alx_class[1], bpy.types.WorkSpaceTool)))

AlxClassQueue = alx_class_object_list

def AlxRegisterClassQueue():
    for AlxClass in AlxClassQueue:
        try:
            bpy.utils.register_class(AlxClass)
        except:
            try:
                bpy.utils.unregister_class(AlxClass)
                bpy.utils.register_class(AlxClass)
            except:
                pass
def AlxUnregisterClassQueue():
    for AlxClass in AlxClassQueue:
        try:
            bpy.utils.unregister_class(AlxClass)
        except:
            print("Can't Unregister", AlxClass)

##################################################

simply add the code above below the bl_info struct
simply add alxregister/alxunregister like this to blender's register/unregister functions
def register():
    AlxRegisterClassQueue()

def unregister():
    AlxUnregisterClassQueue()

Thank you for the report. I would like to disable it by default.
This function may be necessary during development, so enable it if the environment variable BLENDER_VRM_DEVEMOPMENT_MODE=yes.
@tdw46 As the original author, do you have any opinions on this?

The changes have been reflected in 2.20.60, which has just been released.

@tdw46 As the original author of the code which edits sys.modules , do you have any opinions on this?

Thanks for the ping to make me aware of this! I actually had no clue that touching the sys modules like this could cause such an issue. Agreed to keep them behind a dev flag in the env variables. Good call.

Thank you for your opinion! I will proceed with the implementation of 2.20.60.


Scala option -Xplugin doesn't work

Version(s)
$ scala-cli -version
Scala CLI version: 1.0.5
Scala version (default): 3.3.1
Your Scala CLI version is outdated. The newest version is 1.1.0
It is recommended that you update Scala CLI through the same tool or method you used for its initial installation for avoiding the creation of outdated duplicates.

Describe the bug
scala-cli run doesn't load the specified compiler plugin.
To Reproduce

Compile a divbyzero compiler plugin by scalac according to the documentation here.

scalac outputs the expected compilation error.
$ scalac -Xplugin:divbyzero.jar test.scala
test.scala:3: error: definitely division by zero
  val amount = five / 0
                    ^
one error found

scala-cli doesn't output the compilation error, which means the compiler plugin is not loaded.
$ scala-cli --scala-version=2.13.12 --scalac-option="-Xplugin:divbyzero.jar" --server=false test.scala
Exception in thread "main" java.lang.ExceptionInInitializerError
        at Test.main(test.scala)
Caused by: java.lang.ArithmeticException: / by zero
        at Test$.<clinit>(test.scala:3)
        ... 1 more

More debug information
$ scalac -Xplugin:divbyzero.jar -Xshow-phases test.scala | grep divbyzero
     divbyzero  10

$ scalac -Xplugin:divbyzero.jar -Xplugin-list test.scala | grep divbyzero
divbyzero - checks for division by zero

$ scala-cli --scala-version=2.13.12 --scalac-option="-Xplugin:divbyzero.jar" --scalac-option="-Xshow-phases" --server=false test.scala | grep divbyzero
     divbyzero   9

$ scala-cli --scala-version=2.13.12 --scalac-option="-Xplugin:divbyzero.jar" --scalac-option="-Xplugin-list" --server=false test.scala | grep divbyzero
[error]  No main class found

Expected behaviour
scala-cli should work like scalac when used with -Xplugin.

Maybe https://github.com/VirtusLab/scala-cli/blob/2dc26d6486576d7882f444eb4d28ccbf06914d05/modules/cli/src/main/scala/scala/cli/commands/shared/SharedOptions.scala#L368-L372
should resolve jar file here.

I can replicate the issue... it's weird, as the flag seems to be passed, but the behaviour is inconsistent.
We also have a --compiler-plugin option, which seemingly should be handling this, but that doesn't seem to work correctly, either.
I'll try looking at this some more, thanks for reporting

TL;DR the workaround is to use --server=false. We need compiler plugins to work correctly with Bloop, however, so the issue remains open.

@Gedochao Thanks for your details guide.
Following your instructions (all with scala-cli), --server=false worked! But I still can't get --server=false to work if they are compiled by extra tools and scala-cli just runs them, the compiler plugin is never loaded whether or not the --server=false is specified.
The real use case from us is that we use mill to build our compiler plugin and packages, then we use scala-cli only for testing, so if I understand correctly, there doesn't seem to be a way to replace all build system with just scalc-cli :(

BTW, the steps in OP is still reproducible (compiles with scalac, runs with scala-cli --server=false, doesn't load plugin).

Following your instructions (all with scala-cli), --server=false worked! But I still can't get --server=false to work if they are compiled by extra tools and scala-cli just runs them, the compiler plugin is never loaded whether or not the --server=false is specified.
The real use case from us is that we use mill to build our compiler plugin and packages, then we use scala-cli only for testing, so if I understand correctly, there doesn't seem to be a easy way to replace all build system with just scalc-cli :/

Can you double check how the structure inside of the JAR contents produced by mill differs from one built with Scala CLI?
I'll check if I can reproduce it when building the plugin with other tools, meanwhile.

I think there won't be any server (e.g. bloop) involved in the compilation stage with scalac?

Indeed, scalac doesn't use Bloop.

It can be reproduced by running mill lit[2.13.12].run in https://github.com/chipsalliance/chisel/pull/3596.
llvm-lit is used for replacing jars path from build time, nix is used to provide native dependencies:
mill lit[2.13.12].run is alias to lit out/lit/2.13.12/litConfig.dest, using lit out/lit/2.13.12/litConfig.dest -vvv can see the result:
scala-cli --server=false --java-home=/nix/store/93p0sb69hl5j307w40piindi08b44i3p-openjdk-21+35/lib/openjdk --extra-jars=/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.12/scala-library-2.13.12.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.12/scala-reflect-2.13.12.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/os-lib_2.13/0.9.1/os-lib_2.13-0.9.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/upickle_2.13/3.1.0/upickle_2.13-3.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/chipsalliance/firtool-resolver_2.13/1.0.0/firtool-resolver_2.13-1.0.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-native_2.13/4.0.6/json4s-native_2.13-4.0.6.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/github/alexarchambault/data-class_2.13/0.2.5/data-class_2.13-0.2.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-text/1.10.0/commons-text-1.10.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/scopt/scopt_2.13/3.7.1/scopt_2.13-3.7.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_2.13/1.0.0/geny_2.13-1.0.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/ujson_2.13/3.1.0/ujson_2.13-3.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/upack_2.13/3.1.0/upack_2.13-3.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/upickle-implicits_2.13/3.1.0/upickle-implicits_2.13-3.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/dirs/directories/26/directories-26.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/outr/scribe_2.13/3.11.5/scribe_2.13-3.11.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier_2.13/2.1.5/coursier_2.13-2.1.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-core_2.13/4.0.6/json4s-core_2.13-4.0.6.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-native-core_2.13/4.0.6/json4s-native-core_2.13-4.0.6.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/upickle-core_2.13/3.1.0/upickle-core_2.13-3.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/outr/perfolation_2.13/1.2.9/perfolation_2.13-1.2.9.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.3.0/sourcecode_2.13-0.3.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.11.0/scala-collection-compat_2.13-2.11.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/outr/moduload_2.13/1.1.6/moduload_2.13-1.1.6.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-core_2.13/<IP_ADDRESS>/jsoniter-scala-core_2.13-<IP_ADDRESS>.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier-core_2.13/2.1.5/coursier-core_2.13-2.1.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier-cache_2.13/2.1.5/coursier-cache_2.13-2.1.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier-proxy-setup/2.1.5/coursier-proxy-setup-2.1.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-ast_2.13/4.0.6/json4s-ast_2.13-4.0.6.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-scalap_2.13/4.0.6/json4s-scalap_2.13-4.0.6.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thoughtworks/paranamer/paranamer/2.8/paranamer-2.8.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/github/alexarchambault/concurrent-reference-hash-map/1.1.0/concurrent-reference-hash-map-1.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.13/2.1.0/scala-xml_2.13-2.1.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier-util_2.13/2.1.5/coursier-util_2.13-2.1.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/jniutils/windows-jni-utils/0.3.3/windows-jni-utils-0.3.3.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/4.7.1/plexus-archiver-4.7.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/2.1.1/plexus-container-default-2.1.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/virtuslab/scala-cli/config_2.13/0.2.1/config_2.13-0.2.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/io/github/alexarchambault/windows-ansi/windows-ansi/0.0.5/windows-ansi-0.0.5.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/3.4.1/plexus-io-3.4.1.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-compress/1.23.0/commons-compress-1.23.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/tukaani/xz/1.9/xz-1.9.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/luben/zstd-jni/1.5.5-2/zstd-jni-1.5.5-2.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/xbean/xbean-reflect/3.7/xbean-reflect-3.7.jar:/home/sequencer/.cache/coursier/v1/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.18/jansi-1.18.jar:/home/sequencer/projects/chisel/compile-resources:/home/sequencer/projects/chisel/src/main/resources:/home/sequencer/projects/chisel/out/chisel/2.13.12/compile.dest/classes:/home/sequencer/projects/chisel/svsim/compile-resources:/home/sequencer/projects/chisel/svsim/src/main/resources:/home/sequencer/projects/chisel/out/svsim/2.13.12/compile.dest/classes:/home/sequencer/projects/chisel/firrtl/compile-resources:/home/sequencer/projects/chisel/firrtl/src/main/resources:/home/sequencer/projects/chisel/out/firrtl/2.13.12/compile.dest/classes:/home/sequencer/projects/chisel/macros/compile-resources:/home/sequencer/projects/chisel/macros/src/main/resources:/home/sequencer/projects/chisel/out/macros/2.13.12/compile.dest/classes:/home/sequencer/projects/chisel/core/compile-resources:/home/sequencer/projects/chisel/core/src/main/resources:/home/sequencer/projects/chisel/out/core/2.13.12/compile.dest/classes:/home/sequencer/projects/chisel/binder/compile-resources:/home/sequencer/projects/chisel/binder/src/main/resources:/home/sequencer/projects/chisel/out/circtpanamabinder/2.13.12/compile.dest/classes:/home/sequencer/projects/chisel/filecheckutility/utility/compile-resources:/home/sequencer/projects/chisel/filecheckutility/utility/resources:/home/sequencer/projects/chisel/out/filecheckutility/2.13.12/compile.dest/classes --scala-version=2.13.12 --scala-option="-Xplugin:/home/sequencer/projects/chisel/out/plugin/2.13.12/jar.dest/out.jar" --java-opt="--enable-native-access=ALL-UNNAMED --enable-preview -Djava.library.path=/nix/store/0mp3jx5b444hy32n878mcx9sqv48i25y-circt-all/lib" /home/sequencer/projects/chisel/lit/tests/CompilerPlugin/WithCompilerPlugin.sc

We use --server=false --scala-option="-Xplugin:/home/sequencer/projects/chisel/out/plugin/2.13.12/jar.dest/out.jar", but it complains:
Exception in thread "main" java.lang.AssertionError: assertion failed: The Chisel compiler plugin is now required for compiling Chisel code. Please see https://github.com/chipsalliance/chisel3#build-your-own-chisel-projects. .

@Gedochao does #2654 resolve this issue?

@sequencer Nope, it rather fixes a separate bug which has been affecting the debugging of this one. They're indirectly connected.
I'm still looking into a solution for this.

@sequencer Nope, it rather fixes a separate bug which has been affecting the debugging of this one. They're indirectly connected.
I'm still looking into a solution for this.

Thanks, really appreciate your work!

@sequencer @SpriteOvO Can you confirm for me, if the issue is still replicable for you with the --server=false flag after bumping to Scala CLI v1.1.2?
If you notice any change in behaviour/output, I'd also like to know.
I am aware the problem is still present for Bloop, but I believe it should now work correctly with --server=false.

@Gedochao I can confirm that the minimum example is no longer reproducible in v1.1.2.
> ./scala-cli-v1.1.1 --scala-version=2.13.12 --scalac-option="-Xplugin:divbyzero.jar" --server=false Test.scala
Exception in thread "main" java.lang.ExceptionInInitializerError
        at Test.main(Test.scala)
Caused by: java.lang.ArithmeticException: / by zero
        at Test$.<clinit>(Test.scala:3)
        ... 1 more

> ./scala-cli-v1.1.2 --scala-version=2.13.12 --scalac-option="-Xplugin:divbyzero.jar" --server=false Test.scala
/home/asuna/temp/scala-plugin/Test.scala:3: error: definitely division by zero
  val amount = five / 0
                    ^
1 error
Compilation failed

We will test it on our real project and give feedback later. Much appreciate your work! 👍

It works like a charm in our project now! (chipsalliance/chisel#3596)
Thanks again!


Compilation fails at libogg with "No valid 16-bit types found"

Describe the bug
When I try to compile with Ninja, I get roughly the following error:
/usr/bin/g++  -DBACKTRACE_LOOKUP_METHOD_DLADDR -DBACKTRACE_LOOKUP_METHOD_TEXT=\"backtrace_symbols\" -DBACKTRACE_METHOD_TEXT="\"x86 custom backtrace\"" -DBACKTRACE_METHOD_X86_LINUX -DCPU_X86_64 -DHAVE_LIBPTHREAD -DPACKAGE_NAME=\"Etterna\" -DPACKAGE_VERSION=\"EtteraVersion\" -Igenerated -Isrc -Iextern/zlib/. -Iextern/zlib -Iextern/rapidjson/include -Iextern/websocketpp/. -Iextern/asio-1.12.2/include -Iextern/LuaJIT-2.1.0-beta3/src -Iextern/discord-rpc/include -Iextern/SQLiteCpp/sqlite3 -Iextern/SQLiteCpp/include -Iextern/libtomcrypt/src/headers -Iextern/libtommath/. -Iextern/fftw-3.3.8/api -Iextern/MinaCalc/include -Iextern/glew-1.5.8/include -Iextern/newogg/include -Iextern/newvorbis/lib -Iextern/newvorbis/include -Iextern/pcre/. -Iextern/mad-0.15.1b/. -Iextern/mad-0.15.1b/generated -Iextern/stb/include -fdiagnostics-color=always -std=c++14 -MD -MT CMakeFiles/Etterna.dir/src/RageUtil/Sound/RageSoundReader_Vorbisfile.cpp.o -MF CMakeFiles/Etterna.dir/src/RageUtil/Sound/RageSoundReader_Vorbisfile.cpp.o.d -o CMakeFiles/Etterna.dir/src/RageUtil/Sound/RageSoundReader_Vorbisfile.cpp.o -c src/RageUtil/Sound/RageSoundReader_Vorbisfile.cpp
In file included from extern/newogg/include/ogg/os_types.h:143:0,
                 from extern/newogg/include/ogg/ogg.h:25,
                 from extern/newvorbis/include/vorbis/codec.h:26,
                 from extern/newvorbis/include/vorbis/vorbisfile.h:27,
                 from src/RageUtil/Sound/RageSoundReader_Vorbisfile.cpp:10:
extern/newogg/include/ogg/config_types.h:45:2: error: #error "No valid 16-bit types found."
 #error "No valid 16-bit types found."
  ^~~~~
extern/newogg/include/ogg/config_types.h:57:2: error: #error "No valid unsigned 16-bit types found."
 #error "No valid unsigned 16-bit types found."
  ^~~~~

To Reproduce
Steps to reproduce the behavior:

Ideally, try to compile using Ninja.

Desktop (please complete the following information):

OS: openSUSE Leap 15.1 64 Bit
gcc 7.4.0

I have same issue on Ubuntu 18.04.

The error is in extern/newogg/include/ogg/config_types.h
/* Ensure we have one 16-bit type. */
#if defined(SIZEOF_INT16_T) && SIZEOF_INT16_T == 2
typedef int16_t ogg_int16_t;
#elif defined(SIZEOF_SHORT) && SIZEOF_SHORT == 2
typedef short ogg_int16_t;
#elif defined(SIZEOF_INT) && SIZEOF_INT == 2
typedef int ogg_int16_t;
#else
#error "No valid 16-bit types found."
#endif

#if defined(SIZEOF_UINT16_T) && SIZEOF_UINT16_T == 2
typedef uint16_t ogg_uint16_t;
#elif defined(SIZEOF_UNSIGNED_SHORT) && SIZEOF_UNSIGNED_SHORT == 2
typedef unsigned short ogg_uint16_t;
#elif defined(SIZEOF_UNSIGNED_INT) && SIZEOF_UNSIGNED_INT == 2
typedef unsigned int ogg_uint16_t;
#elif defined(SIZEOF_U_INT16_T) && SIZEOF_U_INT16_T == 2
typedef u_int16_t ogg_uint16_t;
#else
#error "No valid unsigned 16-bit types found."
#endif

I couldn't find SIEZOF_INT16_T, SIZEOF_SHORT, or SIZEOF_INT (same for unsigned types)
They're supposed to be in curl? https://github.com/curl/curl/issues/1816 Here's the output of curl --version for me:
curl --version
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

Since pretty much any system has int16_t and uint16_t I went ahead and added as a quick fix #define SIZEOF_INT16_T 2 and #define SIZEOF_UINT16_T 2.
Then make ran to completion though it said 0% progress and made the binary in the top level directory instead of build?

What is even the point of extern/? It defeats the point of installing ogg if you have a separate copy of it living instead this repo?

@jxu Sorry it took so long to get to this.
I downloaded the same operating system you used, and except for finding what the equivalent library names would be in openSUSE world, I had no issues getting the game to compile and run. Would you be able to give more info about what steps you're following to compile the game?

Update 2021:
Another user had this issue in the Discord.
The problem turned out to be caused by running the CMake and build commands from the project root itself instead of making an empty build folder within the project.
Problem was resolved by running mkdir && cd build before running generator commands.

ok yeah I followed the directions and it worked


New chunk merge iterator implementation

Fixes #916
This is a new chunk merge iterator implementation, based on an idea from @gouthamve - that we should identify non overlapping chunks and build iterators on them, and then only use the heap iterator on those.  This reduces the number of items in the heap, increasing performance and more crucially allowing us to skip the "optimisation" of only having 24hrs worth of chunks in the heap, which caused #916.
Before:
$ go test -v -run BenchmarkChunkQueryable  -bench . -cpuprofile=cpu.out -benchmem ./pkg/querier
goos: darwin
goarch: amd64
pkg: github.com/weaveworks/cortex/pkg/querier
BenchmarkChunkQueryable/matrixes/DoubleDelta-4                30          46759745 ns/op        64841310 B/op     139969 allocs/op
BenchmarkChunkQueryable/iterators/DoubleDelta-4               20          68264663 ns/op         2542199 B/op     133487 allocs/op
BenchmarkChunkQueryable/matrixes/Varbit-4                     30          45097076 ns/op        64840806 B/op     139249 allocs/op
BenchmarkChunkQueryable/iterators/Varbit-4                    20          65878980 ns/op         2542650 B/op     132767 allocs/op
PASS
ok      github.com/weaveworks/cortex/pkg/querier        7.356s

After:
$ go test -v -run BenchmarkChunkQueryable  -bench . -cpuprofile=cpu.out -benchmem ./pkg/querier
goos: darwin
goarch: amd64
pkg: github.com/weaveworks/cortex/pkg/querier
BenchmarkChunkQueryable/matrixes/DoubleDelta-4                30          43222820 ns/op        64840990 B/op     139969 allocs/op
BenchmarkChunkQueryable/iterators/DoubleDelta-4               20          60142458 ns/op         2552404 B/op     133530 allocs/op
BenchmarkChunkQueryable/matrixes/Varbit-4                     30          42195375 ns/op        64840500 B/op     139249 allocs/op
BenchmarkChunkQueryable/iterators/Varbit-4                    20          57625508 ns/op         2553147 B/op     132811 allocs/op
PASS
ok      github.com/weaveworks/cortex/pkg/querier        6.646s

So about 10% speed up.  NB the tests were changes to be more representative (reducing the number of chunks that overlap to 3 to match RF), and the before tests include this change.

(PS I have a reproduction of the bug I'll add to this PR too)

LGTM


Docker Hub is not pulling the latest stoq

Per the tags on https://hub.docker.com/r/punchcyber/stoq/tags/, it looks like Docker Hub has not grabbed the latest stoq in ~2 years.

All fixed. Images should be updating now.


Cranelift: Wrong result for fcvt_from_sint.f32 on RISCV

👋 Hey,
I re-ran the fuzzer today with the issues that were fixed in the past weeks, and it reported some new cases.
.clif Test Case
test interpret
test run
target riscv64gc

function %a(i16 uext) -> f32 {
block0(v0: i16):
    v1 = fcvt_from_sint.f32 v0
    return v1
}

; run: %a(-12800) == -0x1.900000p13

Steps to Reproduce

clif-util test ./the-above.clif

Expected Results
The test to pass!
Actual Results
 ERROR cranelift_filetests::concurrent > FAIL: run
FAIL ./lmao.clif: run

Caused by:
    Failed test: run: %a(-12800) == -0x1.900000p13, actual: 0x1.9c0000p15
1 tests
Error: 1 failure

Versions and Environment
Cranelift version or commit: main (e2dcb19099606f161c6d6145ba71130579b452e2)
Operating system: Linux
Architecture: RISCV64GC
Extra Info
CC: @yuyang-ok

@afonso360 👍

@afonso360   Looking at the ISLE lowering rules.I think we should extend value first.

@afonso360 Maybe a review. #5964


set foldopen=search?

It seems that with is.vim installed, set foldopen=search stops to function (a fold doesn't open automatically if a search result is inside that fold).

Here's a workaround:
map n <Plug>(is-n)zv

The zv on the end will open folds so that the line is visible. This could be improved using <expr> to check the value of foldopen before doing the zv.
From my research, anything that maps the n key will prevent foldopen=search from working properly, not just this plugin. Even nnoremap n n will do it.


Add featuredImage support in frontmatter/headings

See my blog or the NimblePros blog. I'd like to be able to show a featured image at the top of the page, and also use it in social media links, for each article. I don't want to have to manually include the image in the article's markdown.

@sadukie Maybe you can take a look at this soon


fixing plugin install and paths

I think this is ready, except for additional tests. There are tests for installing plugins, but they don't cover complex dependencies.

Looks good to me, +1.


Fluent Interface missing on ConsoleModel::setErrorLevel

Hello,
contrary to almost all other setter methods on classes that implement the ModelInterface, ConsoleModel::setErrorLevel ist not returning itself when the method is called.
I would assume that it would return $this. I'll be adding a test and a simple fix.
Best regards

I created a PR see #153

Fixed with #153


Importing nonextant private functions from numpy.linalg.linalg in svd_robust

The svd workaround in svd_robust.py imports a few private functions from numpy.linalg.linalg. Several of these have been renamed, and one has even been completely removed in newer numpy versions (I compared 1.13 with 1.18). To wit:

_assertRank2 is now _assert_2d
_assertFinite is now _assert_finite

The content of these two functions in numpy has not changed. However:

_assertNoEmpty2d seems to have been removed altogether.

Currently, the failure to import these functions stays under the radar if the user has a new enough version of SciPy.

Good point. Back then, I did this as a hack, assuming that some people don't have access to new scipy versions yet e.g on comuting clusters, where it's also a bit complicated to install new versions.
Did you stumble accross this issue because you also still have a system without a recent enough scipy version?
If not, maybe can drop the support for old scipy versions completely, making this hack obsolete.

I ran into the issue because I was using an older version of svd_robust at first, where the imports were not put inside a try. That worked fine when I tried to use it in Python 2, which I have installed using an older version of numpy (1.13). When I tried to test it with Python 3 I got NameErrors, because that has numpy 1.18 (with the different function names) installed.
Dropping support for older scipy versions will make this a non-issue, and I see this has already been proposed before, so maybe that's more convenient than to implement a new hack to patch the old one.

I went around the problem by not importing these private functions, but replacing them with the corresponding checks. Can you confirm that this works again?

That seems to do the job 👍!


Add typescript definitions

I added type definitions so people can use this module in TypeScript without any hassle.
I could submit them to DefinitelyTyped but there are some disadvantages, including (but not limited to):

It being giant mono-repo
Definition admission & maintenance is really slow
Definitions can easily get out of sync*
Requires another package install (which is completely unnecessary and inconvenient)

I hope you're willing to add these definitions, it'd make my life a lot easier 😄

If you're concerned about maintenance I'll gladly maintain these definitions for you. Just mention me whenever you make a relevant change 😉

@HoldYourWaffle, one question I have though is
Does it matter in which directory to put index.d.ts? I see usually people put it just near the source file, in the same directory. You've decided to put it in types.

Not really, as long as the path in package.json is correct.
I also added a test for the definitions which requires some other files (like tsconfig), I figured putting these in a separate directory would cause the least clutter.

Good! Okay, now it's live as v1.0.2. Thank you for your effort in improving the package!

No problem, feel free to mention me if the definitions need to be updated :)


Distance - Distance row shows "Pending" briefly when holding and unholding distance expense

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.7-4
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to workspace chat
Submit two distance expenses
Go to transaction thread of any of the submitted expense
Click on the report header
Click Hold
Enter a reason and save it

Expected Result:
Distance row will not show "Pending" when holding the distance expense
Actual Result:
Distance row shows "Pending" briefly when holding and unholding the distance expense
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/38cf6986-72e0-4365-bc11-c8829f6c7816
View all open jobs on GitHub

@mallenexpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-collect - Release 1

Closing, posted the below in #expensify-open-source

Closing the below issues, it appears to be expected behaviour, as we need to calculate the distance, which is why we briefly show Pending
Distance - Distance row shows "Pending" briefly when holding and unholding distance expense
Comment/reopen if anyone disagrees.


Change RGB colors to symbols in Themes

Closes #19
Color names in themes file,which is current stored as RGB values, is changed to symbols and also the relevant entry is made in colors.rb file.

Great :)


Remove Tslint disable comment for BaseStore interface

Pull request checklist

[ ] Addresses an existing issue: Fixes #0000
[ ] Added relevant unit test for your changes. (npm run test)
[ ] Verified code coverage for the changes made. Check coverage report at: <rootDir>/test-results/unit/coverage
[x] Ran precheckin (npm run precheckin)
[ ] Added screenshots/GIFs for UI changes.

Description of changes
Remove Tslint disable comment for BaseStore interface

I have some comments about file names

Done. Thanks for the feedback. 😄


Model for Mesh data-classifcation problem

Dear Matt,
do you know models other than SplineCnn, which deal with Mesh data?
SplineCNN also deal with the node classification, does that mean any model dealing with node classifcation can be used in Mesh?

So I have been using pytorch geometric for mesh data recently. With 10k+ vertices but sparse (triangles) connectivity. Not for node classification, but for regression tasks. I have not really looked into how pytorch geometric converts face to edges, but have used the super efficient implementation used in the Neural Subdivision paper, since I have to do this step repeatedly due to other changes to the mesh.
A few empirical observations:

ReLU activations really don't seem to work well for mesh data. I suspect to due to sparse connectivity, but ELU/SiLU (Swish) work pretty well
Due to limitations on batch size, BatchNorm seems to work poorly, and InstanceNorm is "too strong" and destroys feature correlation. I've been using LayerNorm (see my implementation for graphs here).
You will probably be better off implementing your own graph conv weight inits, since the defaults in pytorch_geometric may not be quite right. I was really surprised that the initialization matters quite a bit
Residual connections do help in deep graph convs. The ordering with norm/activation also matters. Using the ones proposed by Kaiming here yields better results than the original residual blocks
Different graph conv layers produce very different results given the same activation and normalization etc., GCN/GAT/EdgeConv work well
Sum aggregation is not ideal for irregular meshes. Results were consistently inferior to mean aggregation for regression (maybe for classification it would work better). Unfortunately a pain point in Pytorch Geometric is that the aggregation method is not always exposed...
You do not get translation invariance for free, but works like MeshCNN and FeaStConv and Neural Subdivision have had to engineer features to get invariance. Otherwise get ready to do data augmentation or centering of the data
For certain meshes, the diffusion rate does seem to be high leading to over smoothing. I have been combating this with multi-layer outputs from the network, similar to the "jumping knowledge" paper

Pytorch Geometric is a really great library, and has probably saved me dozens of work days :)
@rusty1s
But for pytorch geometric, a few things could be improved:

Expose aggregation method for each kind of convolution (GAT w/ mean aggregation maybe?)
Allow us to define our own initialization method
Working with batches is still kind of odd. Documentation on batches & examples are still lacking. Would be nice to have more examples on converting from batch -> datalist, datalist -> batch, and conversions from the output of networks
Memory usage still seems high, not sure how to reduce this

Thanks for your valuable feedback and observations. I would be very interested in the "Neural Subdivision" face to edge transform, so please feel free to share your code :)
To comment on your points:

In general, PyG exposes the aggregation for all operators for which that makes sense. For example, in GATConv and GCNConv, it does not really make sense to allow any other aggregation than add since those operators are defined to work that way.
I think this is a great idea. However, PyTorch does not seem to allow this either (which guidelines I follow), so initialization needs to be handled manually. In general, we try to follow the initialization scheme applied in the official implementation, which might not always be the best case for meshes. Please let me know if you have any idea on how to allow this.
I feel like documentation of the conversion from data list to batch object is pretty well documented. However, the reverse functionality is indeed not. If you simply want to convert a batched node feature tensor back to a list, one can always use internal PyTorch methods, e.g., torch.split.
For most operators, this is not really possible. For some of them, I have written a tutorial on memory-efficient aggregations.

Looking at GATConv more closely, I agree that since the attention is already normalized it doesn't make sense to do mean aggregation. I should have looked more closely.
For intialization, I have just been copying over the layer definitions, and writing my own. Not very clean.
I propose the following:

Allow the definition of the initialization method in the layer initialization (with a sane default, such as xavier/he/normal/uniform). This could be either a string (which I think is sane), or a function object (so user defines optional arguments with functools.partial, I'm not sure this is a good option)
Assuming the input is a string. allow for the definition of gain where applicable

Possible similar to this?

I see. I need to think about it. For example, the proposed way to re-initialize your models in PyTorch is to use apply with a custom init_weights function, e.g., like this one.

So more experiments recently indicate, that as long as the normalization is not done in the early layers. InstanceNorm & BatchNorm are superior for mesh regression. BatchNorm however is quite noisy at small (5ish per GPU) batch sizes.