Resolve without the versions plugin

Initial version of resolving dependencies without the versions plugin.
Behavioural changes
In this PR these changes are behind a flag for testing, set the nl.littlerobots.vcu.resolver property to true (in gradle.properties or by passing -Pnl.littlerobots.vcu.resolver=true to switch to the new update task.
For resolving the TOML file is used as the source of the dependencies to check for updates. Therefore:

Unused dependencies will also get updates
Dependencies that would be "hidden" from the versions plugin, such as dependencies in buildSrc. Included builds and other "special" modules will just work as it only looks at the TOML file now.
There's no way to detect unused dependencies, so most of the keep settings will not work / are not needed. Only the keeping of unused versions remains.
The option to create a TOML file is no longer available

Changes not directly related to not using the versions plugin:

Unresolved libs and plugins will show a warning and will not be auto corrected
Exceeded libs and plugins (invalid versions, with a correct version available) will show a warning, but not be auto corrected
Rich versions handling is improved as the version is resolved first before emitting a warning.

For selecting components use the versionSelector method on the extension. This function should return true to select a version, false otherwise.
versionCatalogUpdate {
    versionSelector {
        // function from the version plugin docs
        !isNonStable(it.candidate.version)
    }
}

If omitted, a default will now be set: non-stable versions are allowed if the current version is non-stable, otherwise only a stable version is allowed. Implementation for this is basically the same as in the versions plugin README. This means less configuration too.
ref #123 #111 #122

The option to create a TOML file is no longer available

:( that was one of the main reasons I used this plugin, there's nothing else that can do it. I use Renovate to update version catalogs, because I want CI to be executed on every bump.

@TWiStErRob that's good to know, thanks for that feedback. If there are more folks find that functionality useful then an option would be to keep depending on the versions plugin for that functionality in some shape or form, but it would definitely complicate things a bit.

It's tricky to get this feedback, because this means that I only used it once per project and I only use it once every few months. There are a lot more legacy projects to migrate at work. It's unclear though if it's worth it for you to support this. It's definitely a good tech challenge. :) If I were you I would consider creating a separate plugin for the new behaviour rather than flagging, although that might double the maintenance.

In our project setup, we've multiple TOML files, and this is the setup we had:
versionCatalogUpdate {
    sortByKey = false

    versionCatalogs {
        getTOMLFiles().forEach {
            create("${it.nameWithoutExtension}Lib") {
                catalogFile = file("configs/libs/${it.name}")
                sortByKey = false

                keep {
                    keepUnusedPlugins = true
                }
            }
        }
    }
}

tasks.register("versionCatalogUpdateAll") {
    dependsOn(tasks.withType(VersionCatalogUpdateTask::class.java).filterNot { it.name == "versionCatalogUpdate" })
}

Command run to update all catalogs: ./gradlew versionCatalogUpdateAll
Running with the new flag and nothing happens at all. Do you have any clue what's wrong @hvisser ?

@extmkv  You are depending on the task class, which is basically an implementation detail at this point. The new task class is ExperimentalVersionCatalogUpdateTask, but that is just temporary. So I'd advice to depend on the task name only.

That makes sense @hvisser and now it calls all the tasks correctly.
However, the output for all the tasks are the same:
> Task :versionCatalogUpdateAndroidLib
There are libraries that could not be resolved:
 - com.google.android.material:material (material ref:material)
 - com.google.android.play:core (playCore ref:playCore)
 - com.google.android.play:core-ktx (playCoreKtx ref:playCoreKtx)
There are plugins that could not be resolved:
 - com.android.application (application ref:androidGradle)
 - com.android.library (library ref:androidGradle)

> Task :versionCatalogUpdateAndroidxLib
There are libraries that could not be resolved:
 - androidx.activity:activity-ktx (activityKtx ref:activity)
 - androidx.activity:activity-compose (activityCompose ref:activity)
 - androidx.appcompat:appcompat (appcompat ref:appCompat)
 - androidx.constraintlayout:constraintlayout (constraintlayout ref:constraintLayout)
 - androidx.constraintlayout:constraintlayout-compose (constraintlayoutCompose ref:constraintLayoutCompose)
 - androidx.coordinatorlayout:coordinatorlayout (coordinatorlayout ref:coordinatorlayout)
 - androidx.test:core (core ref:test)
 - androidx.core:core-ktx (coreKtx ref:core_ktx)
 - androidx.arch.core:core-testing (coreTesting ref:arch)
 - androidx.test.espresso:espresso-core (espressoCore ref:espresso)
 - androidx.fragment:fragment-ktx (fragmentKtx ref:fragment)
 - androidx.fragment:fragment (fragment ref:fragment)
 - androidx.test.ext:junit (junit ref:test_ext)
 - androidx.test:rules (testRules ref:test_ext_rules)
 - androidx.lifecycle:lifecycle-extensions (lifecycleExtensions ref:lifecycleExtensions)
 - androidx.lifecycle:lifecycle-livedata-ktx (lifecycleLivedataKtx ref:lifecycle)
 - androidx.lifecycle:lifecycle-runtime-ktx (lifecycleRuntimeKtx ref:lifecycle)
 - androidx.lifecycle:lifecycle-runtime (lifecycleRuntime ref:lifecycle)
 - androidx.lifecycle:lifecycle-viewmodel-ktx (lifecycleViewmodelKtx ref:lifecycle)
 - androidx.lifecycle:lifecycle-viewmodel (lifecycleViewmodel ref:lifecycle)
 - androidx.lifecycle:lifecycle-viewmodel-compose (lifecycleViewmodelCompose ref:lifecycleComposeExtension)
 - androidx.lifecycle:lifecycle-common-java8 (lifecycleCommonJava8 ref:lifecycle)
 - androidx.lifecycle:lifecycle-common (lifecycleCommon ref:lifecycle)
 - androidx.lifecycle:lifecycle-livedata-core (lifecycleLivedataCore ref:lifecycle)
 - androidx.lifecycle:lifecycle-runtime-compose (lifecycleRuntimeCompose ref:lifecycle)
 - androidx.navigation:navigation-fragment-ktx (navigationFragmentKtx ref:navigation)
 - androidx.navigation:navigation-common (navigationCommon ref:navigation)
 - androidx.navigation:navigation-runtime-ktx (navigationRuntimeKtx ref:navigation)
 - androidx.navigation:navigation-runtime (navigationRuntime ref:navigationRuntime)
 - androidx.navigation:navigation-ui-ktx (navigationUiKtx ref:navigation)
 - androidx.recyclerview:recyclerview (recyclerview ref:recyclerview)
 - androidx.room:room-compiler (roomCompiler ref:room)
 - androidx.room:room-ktx (roomKtx ref:room)
 - androidx.room:room-runtime (roomRuntime ref:room)
 - androidx.room:room-testing (roomTesting ref:room)

Example of one of the catalogs:
[versions]
androidGradle = "8.2.1"
material = "1.9.0"
playCore = "1.8.0"
playCoreKtx = "1.8.1"

[libraries]
material = { module = "com.google.android.material:material", version.ref = "material" }
playCore = { module = "com.google.android.play:core", version.ref = "playCore" }
playCoreKtx = { module = "com.google.android.play:core-ktx", version.ref = "playCoreKtx" }

[plugins]
application = { id = "com.android.application", version.ref = "androidGradle" }
library = { id = "com.android.library", version.ref = "androidGradle" }

Can you please move this to an issue and provide a small repro project so that I can take a look?

@hvisser here is a repository with the issue: https://github.com/extmkv/versions-bump
I notice that works if I've the libs.versions.toml on the gradle folder + with the other toml's on the config/libs folder.
When I also moved the libs.versions.toml to config/libs/libs.toml  it started to happen

@hvisser the plugin will check if there is an update in all the maven repositories?
It seem isn't checking google() and specific private mavens we have configured


Welcome Screen

Template Studio is a complex sandbox, so we are adding a welcome screen to introduce users to it and to serve as a starting point. Users can choose to create a new clause template, contract template, start from an existing template, or learn more about how template studio works.
This welcome screen will appear any time a user opens up template studio. It may be expanded in the future to allow features such as allowing users to upload template from their computer to the template studio.
Implement this welcome screen design. Click the invision link and choose "inspect mode" </> on the bottom to see CSS properties for the elements.
https://invis.io/9GRP1QB8D2U#/389437982_Welcome_1

Let me know if I can help further with design handoff.
Feedback on the design and wording is welcome.

You may need to request access to use the inspect tool on invision. let me know if you need access.

is it related to issue #5?

@archhhh Yes, whoops, this was an oversight sorry! I'll assign you to this one and close the old one.

@Michael-Grover could you give me access?

@archhhh you should have access now


Running PET with CFE and Topmodel

When running PET with CFE and Topmodel we get some warnings for unit conversion. While the simulations run, the results are not correct, since unit conversion was not performed correctly.  Since PET is not an external submodule, the issue has to be fixed within NextGen or pet should be included as an external module (in this case, we would need the capability of running more than 2 modules).
Current behavior
Running PET functions (internal to nextgen) with topmodel or CFE.
units of rainfall in forcing are mm/s
units of rainfall in pet function is "kg m-2" according to https://github.com/NOAA-OWP/cfe/blob/master/forcing_code/src/bmi_pet.c
units of rainfall in cfe is mm/h
Two warnings are returned:

Unable to convert mm s-1 to kg m-2: rainfall between forcing and PET
Suggested fix: change units in PET function to mm h-1

Unable to process empty units value for pairing "" "mm h-1": not sure where this is originating. But my guess is that somehow units for rainfall might be removed after error 1 happens,  which creates a variable with no units.

Expected behavior
If units are set correctly, no warning on conversion should be outputted.
Steps to replicate behavior (include URLs)
Screenshots

@hellkite500 I just saw there was another issue on this: Dealing with internal provided evapotranspiration units #352. Sorry for the replication. By @jmframe comment, the library does not use rainfall, but I think issue (1) is causing issue (2).

Need to bring this back up and determine if it's still needed...there are a number of things here including the mm/s/h <-> kg/m^2/h equivalency, but I think the core issue with the internal PET being used (and not supporting unit conversion) is now mostly overcome-by-events after #387 ... we don't recommend use of the internal PET anymore and generally consider it deprecated.


fix phpt tests by using %d rather than 88 or 91.

Hello!

Type: bug fix
Link to issue:

In raising this pull request, I confirm the following (please check boxes):

[x] I have read and understood the Contributing Guidelines?
[x] I have checked that another pull request for this purpose does not exist.
[ ] I wrote some tests for this PR.

Small description of change:
Thanks

Thank you


Item properties are not stored in the database

When generating a item the properties of the item are not stored in the database

this should be solved in my future PR for merchants items and random items creation

Fixed in #223


D4 - Look & Feel

Describe the approach you adopted to design your user interface. Include some screenshots.
Grading criteria (3 points): This section will be graded based on the appearance (aesthetics) and usability (ease of use) of the system.

assignment was turned in so I am closing the issue


OCPBUGS-3420: Ensure ScanSettingBindings use the default ScanSetting by default

By default, ScanSettingBindings don't need to reference a ScanSetting
using the SettingsRef. If you create a binding without a reference to a
scan setting, the scan will run anyway but doesn't take on any of the
default behaviors of the default ScanSetting.
This commit fixes this behavior by updating the default for the
ScanSettingBinding settingRef to the default ScanSetting.
Related Jira: https://issues.redhat.com/browse/OCPBUGS-3420

/jira refresh


mpvue 中使用报错Cannot read property 'document' of undefined

Please make sure you are testing with the latest release of html2canvas.
Old versions are not supported and issues reported for them will be closed.
Please follow the general troubleshooting steps first:

[ ] You are using the latest version
[ ] You are testing using the non-minified version of html2canvas and checked any potential issues reported in the console

Bug reports:
Please replace this line with a brief summary of your issue AND if possible an example on jsfiddle.
Specifications:

html2canvas version tested with:
Browser & version:
Operating system:

微信小程序当中不存在dom结构的呀，这个肯定不适用了。
小程序这边推荐用这个
https://github.com/Kujiale-Mobile/Painter


Ensure the Search results view sets a string id.

We assume that the id field is set much later (when handling navigation
events), so we'll need to set it here.
This solves an issue where the second page of search results causes a JS error. To recreate, load a search result with more than one page, refresh when on the first page, then click to the second page.

Thanks @tadhg-ohiggins


Scrolling in Month Calendar day?

Do you want to request a feature or report a bug?
Report a bug
What's the current behavior?
If the vertical height of an event in month view expands, it is cut off at the bottom of the day of the month.  I am basically making a calendar which shows which users logged in to our network in a given day and whether they completed a COVID-19 screening before they got to the office (simple red, yellow, green event with the users initials and login time). User account names and avatars were intentionally removed. In my event data, I have set the start and end dates to be the same.

What's the expected behavior?
I cannot figure out how to scroll inside of a month day.  Alternatively simply setting the limit of the number of events before the drill down truncated list text appears would also be fine. I have been playing with props for hours and cannot figure this out.  I am sorry if this is the wrong forum for this! :)

This has been discussed in a lot of other threads. RBC isn't really made to handle different size events, but I've posted a workaround here #1213

You can do this with the showAllEvents prop


Backport PR#78 from 3.2.x to 3.1.x (cherry-pick)

Backport PR#78 from 3.2.x to 3.1.x (cherry-pick) - Merge pull request #78 from peteruhnak/master.
Compare non-comparable objects by equals only
(cherry picked from commit 937fd071b99a7da1230a64d724aa72b96e1fff68)

Note:  Projects using OGNL 3.1.x may be impacted due to no longer receiving IllegalArgumentException for certain expressions.  Some expressions that used to fail evaluation may now succeed (with false return) or return a differeent result with the new logic.
It may be unlikely to impact users but a similar comment exists in the original PR for 3.2.x, reiterated here for future reference (in case someone reports an issue).


Show Travis CI status

The CI job says I don't ;)

But apparently I did need to test the resulting links! Fix incoming.


[Feature Request]:  Navbar again changed to previous version after someones PR is merged

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Navbar again changed to previous version after someones PR is merged
Use Case
Navbar again changed to previous version after someones PR is merged
Benefits
No response
Add ScreenShots
previous

new version

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

i may have missed this while merging a pr, just find what changes were done and undo them

okay


Link to etcd.yaml file returns 404

This is a...

[ ] Feature Request
[ x ] Bug Report

Problem:
Link to etcd.yaml file on High Availability Cluster page returns 404 error:
Proposed Solution:
Revise link to the correct page.
Page to Update:
https://github.com/kubernetes/website/blob/master/content/en/docs/admin/high-availability/building.md

/assign

See also #9058

I think we can close it now
/close


⚠ Empornium has degraded performance

In 55eda4a, Empornium ($EMP) experienced degraded performance:

HTTP code: 502
Response time: 1357 ms

Resolved: Empornium performance has improved in c326fbc after 6 minutes.


Improve query docs

These need the include_inherited (or whatever Sphinx uses) so that the subclasses of DataQuery have a full listing of useful methods. This is especially important given that the subclasses are all over the place.

Done in Siphon.


Add vision shaders in client/pixi/webgl/shaders/vision.js for Foundry VTT v10.286

To Change
vision shaders in client/pixi/webgl/shaders/vision.js
Kind of Change
Add
Additional Info
No response

Blocked by #2081


Must not reformat content of elements with xml:space="preserve"

The background of https://github.com/NicoVermeir/XamlStyler/issues/48 is that I would like to have newlines in a string, and I found out that CDATA doesn't actually help with that. (Which does not mean that Xaml Styler is free to break CDATA sections but it lowers the priority of the other issue.)
The way to do it in XAML is to add an xml:space="preserve" attribute to the string. However, this raises another issue: Xaml Styler reformats an element like
   <s:String x:Key="Key" xml:space="preserve">line 1
   line 2</s:String>

to
   <s:String x:Key="Key" xml:space="preserve">
      line 1
      line 2
   </s:String>

Obviously, this is unusable because it results in a string with three newlines instead of just one, and a lot of unwanted spaces, too. The expected behavior is to NOT reformat text (including leading and trailing white space) inside the scope of xml:space="preserve".
Note that xml:space="preserve" affects nested elements, too, not just the element containing the attribute.
Again, this is using the current Xaml Styler 1.5 in Visual Studio 2013 Update 4, and the only work-around is to never save the file (or to turn off "beautify on saving").

What namespace is "xml" prefix associated with?

Sorry for not replying sooner.
CDATA is not actually working, even if Xaml Styler would leave it alone.
https://msdn.microsoft.com/en-us/library/ms788746(v=vs.110).aspx
calls for using xml:space=preserve. That's what I tried to say above.

I concur with salvis.  I am having the same issue and it is a real pain.

I have made a beta release available at:
https://github.com/PolarbearDK/XamlStyler/releases/tag/2.0Beta


DataProvider could support Object[] as a valid return type

From: http://stackoverflow.com/q/39332119/4234729

Can be achieved by 2-D array with only 1 column. Effectively making it a single D array. Is there more requirements to it?
@Test(dataProvider = "getNames")
public void test01(Name name) {
System.out.println(name.name + " " + name.id);
}
@DataProvider
public Object[][] getNames() {
Name[][] result = new Name[2][1];
result[0][0] = new Name("john", 5);
result[1][0] = new Name("doe", 4);
return result;
}
I tested your code with the change I am suggesting it works just fine.

Yep, you describe the test case to valid the feature. But we have to be strong on failure validation too and try to convert every case:

Object[] -> 1 method param
Object[] -> n method params
Object[] -> 1 array method param
Object[] -> n method params with an or more array param(s) (in different position)
...

Same for Object[][].

Yes you are right, it will not be able to display the params. However if we override the toString we can get something readable
	@Test(dataProvider = "getNames")
	public void test01(Name name) {
		System.out.println(name.name + " " + name.id);
	}

	@DataProvider
	public Object[][] getNames() {
		Name[][] result = new Name[2][1];
		result[0][0] = new Name("john", 5);
		result[1][0] = new Name("doe", 4);
		return result;
	}

But yes completely agree that if a small change can make more readable output. However, I think you will still need the toStirng method to get readable output?

In fact the complain was about the 2d array which is possible with junit.

sugar syntax:
return types for a data-provider can be anything depending on the use case involved.
for instance test(int) <-suffices- int data() or Integer data() or int[] data() or List<Integer> data()  or good old Object[][] data() etc.
following are few intuitive returns i can think of.
?
?[]
Collection<?>
?[][]
Collection<?[]>
Collection<Collection<?>>

point is, for most cases, developers do not need an array.

we need nested arrays or lists to solve situations like test(String[], String)

?: I'm not sure to understand the use case behind it.
 ?[] : will be available with https://github.com/cbeust/testng/pull/1161
Collection<?>: But I think Iterable<?> will be better instead and collection.iterator() is not a big deal IMO
?[][]: is already working
Collection<?[]>: Same as Collection<?>
Collection<Collection<?>>: Same as Collection<?>

@nitinverma Feel free to open another issue if you think others sugar syntaxes may be implemented.

?: I'm not sure to understand the use case behind it.
User wanted to call single param test method once.

Collection<Collection<?>>: Same as Collection<?>
Consider user intents  to calltestMethod(int a...) twice. First with '1,2,3' then with '7,8,9' and writes a DataProvider Object [] data(){returns a List containing 1,2,3,7,8,9}.
User thinks: 'hmmm... How would any logic deduce my intention exchanging that datatype? Let me try Collection<Collection<?>>'
A user accustomed of using Collection<?> would not latch to Object[][] without reading documentation or googling.

Iterable<?> 👍
Following are the natural progressions i think:
? -> ?[] -> ?[][]
or
? -> Iterable<?> -> Iterable<Iterable<?>>

ok, why not. You can open an issue to keep a trace (or better, propose a pull request)

The exception message is out of date, as is the annotation and website's documentation. Can you please update so that this enhancement is more visible?

@ben-manes Which exception message?

throw new TestNGException("Data Provider " + dataProvider + " must return"
    + " either Object[][] or Iterator<Object>[], not " + dataProvider.getReturnType());

@ben-manes It supposed to be done with #1376 (available in the next release): https://github.com/cbeust/testng/blob/ce05e2779d87f73a445ffb3926119783610b411a/src/main/java/org/testng/internal/MethodInvocationHelper.java#L137

@ben-manes And I've just added the missing documentation in the todo list: https://github.com/testng-team/testng-team.github.io/issues/16

Thanks!


autocompletion with love2d engine

Hello,
I build a game with the love2d engine. The game is written in lua so I tried to use emacs lsp-lua
with this lua language server.
Here is an example of a "hello world" game :
local love = require "love"

function love.draw()
   love.graphics.print("Hello World", 400, 300)
end

This "game" is run with the love engine : love.exe directory\where\is\the\file
The "require" line is not mandatory for the game to start, I put it because otherwise the lua language server
considers "love" as undefined. When I put it, I assume the lua language server picks up the "love.dll" which
is in the same directory as "love.exe".
However, autocompletion does not seem to work as for regular lua package. I noticed that I am only
proposed the "love" fields and functions which are already used in the script.
How can I improve this ?
Regards

The language server can only parse lua file, so I think maybe you should use a library file.  For example, you can use Emmy Lua LOVE API, or you can use my fork which I think is much more complete than the original one with a detailed README.

Hi,
Thanks very much, I will try your fork as soon as possible.
Regards


How do fxlauncher update itself?

How do fxlauncher update itself? Any plan for it?

You have to reinstall on the client for now. We plan to have fxlauncher update itself as well for 2.0, but no work is being done on that right now. Busy with other projects for the time being :)

Thank you. expect it.

If you are starting fxlauncher from a script (the case in self-contained Java applications, in MyApp.cfg) you could update it by downloading the new fxlauncher version by listing it in the old version's manifest, and update the script to point to that location.


[FEATURE] Speed-up Planetiler by skipping OSM reads when generating only layers which do not need OSM data

Is your feature request related to a problem? Please describe.
When I'm working on just one layer, say water (using custom Profile and the layer using only Natural Earth), I'm running Planetiler like this:
java ... --only-layers=water ...

And the problem is, that for this particular layer only data from water_polygons, the rest is skipped, except OSM, which gets read anyway.
Describe the solution you'd like
If I'm generating only layers which do not work with OSM data, reading of OSM data should be skipped.
Describe alternatives you've considered
Using some small dummy OSM source data via --osm_path=...., say "monaco.osb.pbf" even if generating whole "planet".
Additional context
Custom Profile employed, which has water layer using only Natural Earth.

I think this is already happening, when you filter layers the planetiler-openmaptiles profile decides which sources are needed based on the interfaces that the remaining layers implement:
public class Water implements
  OpenMapTilesSchema.Water,
  Tables.OsmWaterPolygon.Handler,
  OpenMapTilesProfile.NaturalEarthProcessor,
  OpenMapTilesProfile.OsmWaterPolygonProcessor,
  ForwardingProfile.FeaturePostProcessor {

If you remove Tables.OsmWaterPolygon.Handler then it should skip reading osm when you do --only-layers=wayer?

Oh sorry actually you're right, it does that for the other sources, but not osm.


fix: added init.d service for dockerd

[x] Added script for starting, stopping and restarting the docker daemon service with init.d
[x] Made script executable

@microsoft-github-policy-service agree

R


WIP: upgrade yargs from 16.2.0 to 17.6.0

fixes #4938
Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions.

Description of the Change
Upgrading
Alternate Designs

Why should this be in core?

Benefits

Possible Drawbacks

Applicable issues

@apupier It looks like you may have to deal with the CLA stuff here to get this PR in.  Is that an issue for you?  I'd like to see this go in to address a pesky Regex vulnerability that was fixed in 20.2.9 of yargs-parser.

👋 coming back to this @apupier, are you still interested in working on this PR? As of https://github.com/mochajs/mocha/issues/5027 there are maintainers who can review it now. No worries if you no longer have time - but if you do that'd be great!

Hi,
I'm sorry I do not have time to work on it these days.
I just try to rebase on top of main branch but there are several failing tests.  You can use the code that I provided (even if it is almost nothing)


Method listenPast should signal error when retainLastData set to false

Method listenPast doesn't work with signals that don't retain last data but it doesn't prevent from using it which is causing hard to track issues, especially when you're migrating from old version of this library. There should also be an explanation that you should use listen instead.

This is resolved in release 5.0. Singnals will now throw an assertion failure for debug builds in case you're observingPast on a Singnal that doesn't retain it's last data.


Login portal modularization

I assume this includes separating server side to set of REST calls, and allow the UI to be developed using any UI technology, including server side or client side.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Create DeletableInterface

We have Readable and Writeable interfaces. But we have no interface for deleting. It might be worth adding.

I think it will be useful.

I think it will be useful.


Add --json flag to roachprod list command

This flag sets the format of the command output to json. This will
make the output more easily ingestible by other tools.
The PR also makes two minor changes to the VM struct:

it adds a MachineType field
it strips the URL path from the VPC string for GCE VMs

This change is

Reviewed 4 of 4 files at r1, 3 of 3 files at r2.
Review status: 5 of 6 files reviewed at latest revision, all discussions resolved.

main.go, line 543 at r2 (raw file):

			enc := json.NewEncoder(os.Stdout)
			enc.SetIndent("", "  ")

If I'm only encoding a single json value, I usually use json.Marshal or json.MarshalIndent. I don't think there is any need for a json.Encoder here.

vm/gce/gcloud.go, line 106 at r1 (raw file):

		return s[len(s)-1]
	}
	machineType := lastComponent(jsonVM.MachineType)

What is this about? I thought GCE machine types had hyphens, not slashes. For example, n1-standard-4.  Perhaps provide an example in a comment of what a typical jsonVM.MachineType looks like.

Comments from Reviewable

Review status: 5 of 6 files reviewed at latest revision, 2 unresolved discussions.

main.go, line 543 at r2 (raw file):
Previously, petermattis (Peter Mattis) wrote…
If I'm only encoding a single json value, I usually use json.Marshal or json.MarshalIndent. I don't think there is any need for a json.Encoder here.

Not that it matters much here, but doesn't that result in extra an data copy because you're no longer encoding directly into the io.Writer?

vm/gce/gcloud.go, line 106 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
What is this about? I thought GCE machine types had hyphens, not slashes. For example, n1-standard-4.  Perhaps provide an example in a comment of what a typical jsonVM.MachineType looks like.

jsonVM.MachineType ends up as a URL that looks like "https://www.googleapis.com/compute/v1/projects/cockroach-nathan/zones/us-east1-b/machineTypes/n1-standard-16". This is the same issue we run into with Zone and VPC.

Comments from Reviewable

Review status: 5 of 6 files reviewed at latest revision, 2 unresolved discussions.

main.go, line 543 at r2 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Yeah, there would be an extra copy, but it definitely doesn't matter here.

I'm just going to keep this as-is because the other approach requires 2 error checks and an extra line of code.

vm/gce/gcloud.go, line 106 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Ack. Thanks.

Added a comment.

Comments from Reviewable


We need an AR-EN and HE-EN dataset pair

We need dataset pairs that try to match romanized titles.

@sinairusinek did we resolve this?


For the Example for Calling Authentication and Multiple headers

I've run into an issue with this part of the example code:
    SELECT TOP 1 @Token = CONCAT('Bearer ',Json.Token)      FROM @Result       CROSS APPLY ( SELECT value AS Token FROM OPENJSON(Result)) AS [Json]
It's returning an error of Invalid column name 'Result"
Should I be putting something else there? If so? What? The other
And in the Sample for Multiple Headers when I run it as is I get the error
Msg 13609, Level 16, State 4, Line 21
JSON text is not properly formatted. Unexpected character 'C' is found at position 0.
I'm very new to the whole JSON stuff, so forgive me if I'm missing something I should know.
Thank you in advance.

By taking the Select * from @ts out of the From OPENJSON I got the following error from the Multiple Headers code.
Could not load file or assembly 'System.Runtime.Serialization, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Assembly in host store has a different signature than assembly in GAC. (Exception from HRESULT: 0x80131050)
Thought I'd share that, in case it was important.

A few more tests and I'm seeing this error:
Could not load file or assembly 'System.Runtime.Serialization, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Assembly in host store has a different signature than assembly in GAC. (Exception from HRESULT: 0x80131050)
So that means I didn't load something correctly. I'll start from scratch and try again.

Did you fix this?

Depending on the version it could be fixed with the code below:
ALTER  ASSEMBLY [System.Runtime.Serialization]
FROM 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Runtime.Serialization.dll'
WITH PERMISSION_SET = UNSAFE

Yes. I was able to fix this by reloading the dlls into GAC.


Update index.md

Inserted minor edits; removed abbreviation "BDTC" ("Translator" is the only NCATS-approved abbreviation); changed description of figure to acknowledge that the timeline captures program inception through September 2022. Note that another option is to remove the figure or try to keep it updated.

No problem! Sorry to make you review so many pages, but hopefully, my comments/edits were helpful.
As I noted in Slack, the documentation looks great. I'm looking forward to receiving feedback from external developers.


Roadmap

More details to come, but the initial plan is very simple: Do a pretty loose translation to Rust. Not trying too hard to copy the original architecture, but copying the game logic.
Milestone 1: terminal graphics.
Milestone 2: 2D graphics.

Regarding the terminal graphics, do you have already a resolution/frame rate target in mind?

Not really; we wanna go as high as possible without adding any complexity.
Might be easiest to scale up 2x or 4x of the established resolution in CoW.


Does not support self-host

SignalR supports self-host, here is the document https://docs.microsoft.com/en-us/aspnet/signalr/overview/deployment/tutorial-signalr-self-host.
I need host SignalR Core in a process and I do it with following code, it runs and listen request from port 8787 correctly, but it is running in the main thread even I start it with a background thread, and it blocks other logic.
Is there a document of how to do self-host with SignalR Core?
var url = "http://localhost:8787";
var mServer =
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(services =>
{
services.AddSignalR();
services.AddSingleton();
})
.Configure(builder =>
{
builder.UseSignalR(routes =>
{
routes.MapHub("Chat");
});
})
.UseUrls(url)
.Build();
        mServer.Run();

        Console.ReadLine();

The .Run method on WebHost blocks the thread until the app shuts down. You can use .StartAsync to start the host without blocking the thread.

Actually, I tried RunAsync(). Anyway StartAsync() works.
Thanks.

Glad you got it worked out!


Decrease registration time from 30 second to 10 second w/signoff

Notes for Reviewers
PR DO NOT MERGE
This PR fixes #
Merge this Meshkit PR
Signed commits

[ ] Yes, I signed my commits.

I think that we're ok to remove the do-not-merge label now.


Use ISHServer cmdlets that manage the user profile

Sarafian/ISHServer#27 will add functionality that provisions users.

Create or Overwrite when necessary
Create user profile directory

This branch and it's changes require the changes proposed in Sarafian/ISHServer#28 pull request.


Is it possible to remove additional nuget packages related to Bcl

Hi,
I have observed Simple.OData.Client Nuget Package has dependency on following packages.
Microsoft.Bcl.Build
Microsoft.Bcl
Microsoft.Bcl.Async
Is it possible to get rid of them. Are they required for OData operations?
Example:  I read that "Microsoft.Bcl.Async" NuGet package provides support for the async/await without .Net framework 4.5 i.e for pre-.NET 4.5 platforms, such as .NET 4, Silverlight 4, and Windows Phone 7.5.
But If all of my projects use .Net 4.5 then that might not be required.
regards,
ronak thakkar

You are right, Microsoft.Bcl.Async is not needed for .NET 4.5, but the library supports legacy .NET platforms too where it's required. I will investigate if I can make the NuGet package contents more sensitive to the actual target platform.

I've removed Microsoft.Bcl.Async from packages other than targeting net40 and sl5 (to be released in 4.13). I still need to include Microsoft.Bcl and Microsoft.Bcl.Build because Microsoft.Net.Http depends on them.

Fixed in 4.13.

@object it continues installed Microsoft.Bcl.Async on .NET 4.5.
VS 2015 Update 3, nuget 3.5

@object I think explitly specified dependencies for .NET 4.5 resolves problem.


Change slippage default to 0.5%

I can still see 2% on the preview page, maybe we need to tweak
https://github.com/OlympusDAO/olympusdao/blob/9c1081161505a6f410e7560af104eae47c8d24e4/src/views/Bond/Bond.jsx#L21
somehow? not fluent with React...

I saw the same, and you were right. Well spotted!
I've changed the slippage to .5 %, and committed the changes.


Usage of NDKKind

Hi,
I've been using your repo as a guide to help get up to speed with Nuxt and NDK and have found it really useful.
I just wanted to return the favour and point out something I'v also learned.
In the NDK, I discovered the NDKKind type, which defines an Enum for all the Note Types within nostr which can be used on
the filters etc.
So for instance in your Feed.vue where you define the fetchKinds it can be defined as follows
     import { ref } from "vue"
  import { useNdkStore } from '~/stores/Ndk'
  import {NDKKind} from "@nostr-dev-kit/ndk";

  const NdkStore = useNdkStore()
  const events = ref()

  const fetchKinds = [
    NDKKind.Metadata, // Profile metadata
    NDKKind.Text, // Notes
    NDKKind.Contacts, // Contacts
    NDKKind.Repost, // Repost
    NDKKind.Reaction, // Reaction
    NDKKind.Label, // Label
    NDKKind.Zap, // Zap receipt event
    NDKKind.RelayList, // Relay list metadata
    NDKKind.Article // Long-form content
  ]

Just thought this might be helpful.
Thanks for this repo BTW, I have found it really useful!

Thanks for your feedback and warm compliments @garywoodfine!
As you might see, I don't work often on this project but I'll keep this in mind when I've got something new to tinker with. Also please feel free to submit any PR :)


Fix golint import path

I am a bot. Please reach out to @azillion if you have any issues, or just close the PR.

Already fixed on develop


"On the ground" button submitting extra behaviors [bad news]

A couple of users are reporting sporadic issues with marking duikers that are "on the ground."
They say that marking a duiker (especially a red duiker, I guess?) as "on the ground" occasionally causes one of two other tags--"traveling" or "drinking/feeding" to be automatically added.
Having trouble replicating. Asking for more info. Any idea?
http://talk.chimpandsee.org/#/boards/BCP0000008/discussions/DCP00000jl

More reports on this. It seems like the "on the ground" button sporadically adds a bonus behavior to the classification. It doesn't just select the button... it adds (and submits) the extra behavior to your finished classification.
This is BAD because it means that people are submitting erroneous classifications by no fault of their own, which could corrupt the science.
It's extremely difficult to hunt down because it cannot be reliably reproduced, but we know that it is always caused by selecting "on the ground" and the behavior that is added is what was marked in the previous subject.
Quia, bless her, has done a detailed breakdown here: http://talk.chimpandsee.org/#/boards/BCP0000008/discussions/DCP00000jl?page=2&comment_id=553e4cdbf3464404f800000f
This strikes me as a priority thing because classifications are being corrupted. Thoughts @srallen ?

I've been working on this since Friday afternoon. It doesn't have anything to do with the specific animal or behavior that is chosen, but rather how react-cursor is handling a shallow merge with the currentAnswers store. I'm reworking it and may have a fix this morning.

Excellent news. Thank you for the update!!


Running on Pandas data set

Hi @YuliaRubanova
Really interested in the code and looking at building jupyter notebooks with alternate data sets.
I was just wondering how best to use the code on say a pandas data set?
Can this be used on a multivariate series?
Many thanks and best,
Andrew

I would like to echo what Andrew said.
I can't seem to find a clean way to use my own dataset with the provided code.
From my digging, it looks like I need to create a file for my dataset, similar to person_activity.py.
I think the main source of my confusion is the sheer number of arguments and references to other files. It has made it difficult to trace down what code I need to write and how I need to adapt it to work with latent_ode.
If I can figure out how to make a simple model that runs on pandas, I might try to make a pull request.
I think that the way I would try to format it is using less dictionaries and more canonical ML/NN types:
simple classify framework
model = LatentODE() for i, (x, y) in enumerate(data_loader):    optim.zero_grad()   logits = model(x)   loss = CrossEntropyLoss(logits, y)   loss.backward()   optim.step()
Thank you for providing latent_ode!
It is a fantastic concept and paper. I'm just having a hard time understanding how all of the files come together.

Latent ODE code is designed to handle the datasets where time series are of different length, and each time series measured at different times. It can be used with multivariate time series. Different dimensions of data might be measured at different times as well.
All the datasets are loaded in lib/parse_datasets.py using torch.utils.data.DataLoader.
Easy case: all time series share observation times
This approach with be the easiest to use in Jupiter notebooks. A good example is Periodic_1d dataset (use input parameter --dataset periodic).
Data format

a dataset in form of a tensor [B x T x D], where B is number of time series in the dataset and N is number of time points in each time series, D — data dimensionality.
a vector [T] with observations times. Observation times can be irregular.

For example, in periodic dataset, observation times are generated here; dataset is generated here.
Steps

Pass the dataset through DataLoader like here.
In the code, train_y is the dataset; time_steps_extrap are the shared time points.

Optional
Here we assumed that time series share the time points. You can use the input parameter --sample-tp to randomize the time points that are used in each batch. For example, if dataset has 100 time points and we use --sample-tp 30, each batch will have 30 randomly sampled time points out of the original set of 100.
Time series have different observation times and/or have different length
This case is useful for real data. Good examples are PhysioNet  class (—dataset physionet) and PersonActivity class (--dataset activity).
To use Latent ODE on your dataset, I recommend formatting your data as a list of records, as described below. You can use the collate function for DataLoader from here
Data format
Since each time series has different length, we represent the dataset as a list of records: [record1, record2, record3, …]. Each record represents one time series (e.g. one patient in Physionet).
Each record has the following format:
(record_id, observation_times, values, mask, labels)

record_id: an id of this string
observation_times: a 1-dimensional numpy array containing T time values of
values: a (T, D) numpy array containing observed D-dimensional values at T time points
mask: a (T, D) tensor containing 1 where values were observed and 0 otherwise. Useful if different dimensions are observed at different times. If all dimensions are observed at the same time, fill the mask with ones.
labels: a list of labels for the current patient, if labels are available. Otherwise None.

Pipeline of the Physionet dataset
To use it on your dataset, you need to only replace step 1 to produce the list of records.

Physionet class loads the dataset from files (each patient is stored in its own file) and outputs the list of records (format described above) like so

Physionet class is called in lib/parse_dataset.py to get a list of records. List of records is then split into train/test here

Dataloader takes the list of records and collates them into batches like so Function that collates records into batches is here

During the training, the model calls data loader to get a new batch.

Thank you for this, this clarifies a ton!
You mention that labels is a list.
I have a list of astronomical objects that each time curve could be. (Not classifying per time point).
Since the classification target (astronomical object class) does not have any semantic meaning, it wouldn't make much since to do regression on it.
Do I make a list of the labels and then just have the labels in the record tuple be an index?
Does the shape of labels need to be the length of the time points?
Thanks again!

Concerning the labels, we support two tasks right now:

Binary classification per time series (see Physionet).

Multi-class classification per time point (see PersonActivity)

Your case seems to be multi-class classification per time series, which is the blend of the two set-ups that we have now.
You can do the following:

Convert the labels to one-hot encoding. For each time series, labels will be a binary vector [C], where C — number of classes. This solves the problem of semantic meaning that you mentioned.

Use the collate function for Physionet from here, since it creates labels per time series.
Set N_labels = C, where C is the number of classes.
Note that we used normalization for Physionet dataset here. You can try with and without normalization and see if it helps the training on your case.

In lib/parse_datasets.py set classif_per_tp to False for your dataset like so. This signifies the model that classification should be run per time series rather than per time point.

Lastly, we need to modify the loss.
Function for computing classification loss is called here if you are using Latent ODE model, or here for ODE-RNN. Make sure to use multi-class CE loss instead of binary CE loss. The multi-class CE loss compute_multiclass_CE_loss expects number of time points to be the third dimension. You can hack it by adding the third dimention of size 1 to label_predictions just before you call compute_multiclass_CE_loss.

Thanks so much
you rock!

C == 14 like this:  [0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]
I have made my dataset produce records with binary classification labels using the record tuple form specified (id, t, vals, mask, labels)

I changed N_labels in physionet to 14.
I'm using the physionet collate fn and I think I'm using it correctly.

I've changed classif_per_tp to False in parse_datasets.

I'm getting stuck on this part, I unsqueezed the third dimension, but I'm getting the following error:

  File "latent_pandas.py", line 274, in <module>
    train_res = model.compute_all_losses(batch_dict, n_traj_samples = 1, kl_coef = kl_coef)
  File "/mnt/c/Users/***/home/fermi/cosmoNODE/cosmoNODE/latent_ode/lib/base_models.py", line 322, in compute_all_losses
    mask = batch_dict["mask_predicted_data"])
  File "/mnt/c/Users/***/home/fermi/cosmoNODE/cosmoNODE/latent_ode/lib/likelihood_eval.py", line 118, in compute_multiclass_CE_loss
    pred_mask = pred_mask.reshape(n_traj_samples * n_traj * n_tp,  n_dims)
RuntimeError: shape '[50, 14]' is invalid for input of size 4391800

For context, I've duplicated run_models into latent_pandas.
label_predictions is of size [1, 50, 1, 14]. (I set n_traj_samples to 1, because I didn't know exactly what it did)
This might be a cryptic error message, but I'm not exactly sure what I need to change.
If it's helpful here is my dataloader:
class FluxNet(object):
	def __init__(self):
		self.df = pd.read_csv(cosmoNODE.__path__[0] + '/../demos/data/training_set.csv')
		self.meta = pd.read_csv(cosmoNODE.__path__[0] + '/../demos/data/training_set_metadata.csv')
		self.merged = pd.merge(self.df, self.meta, on='object_id')

		self.mins = self.merged.min()
		self.maxes = self.merged.max()

		self.params = self.merged.columns.drop(['object_id', 'mjd', 'target'])
		self.classes = sorted(self.merged['target'].unique())
		self.num_classes = len(self.classes)

		self.labels = []

		self.groups = self.merged.groupby('object_id')
		self.curves = []
		self.get_curves()
		self.length = len(self.curves)
		print('fluxnet loaded')

	def get_curves(self):
		for i, group in enumerate(self.groups):
			object_id = group[0]
			data = group[1]
			times = torch.tensor(data['mjd'].values, dtype=torch.float)
			values = torch.tensor(data.drop(['mjd', 'target'], axis=1).fillna(0).values, dtype=torch.float)
			mask = torch.ones(values.shape, dtype=torch.float)
			target = data['target'].iloc[0]
			# label = labels.index(data['target'].iloc[0])
			label = one_hot(self.classes, target)
			self.labels.append(label)
			record = (object_id, times, values, mask, label)
			self.curves.append(record)

	def __getitem__(self, index):
		return self.curves[index]

	def __len__(self):
		# number of light curves in the dataset
		return self.length

	def get_label(self, index):
		return self.labels[index

Thanks for your help

Hi @YuliaRubanova
Thank you for your amazing paper and this code repository. I went through your code and your explanation for this issue, but I was unable to come to a conclusion on how to use your code for a generic Multivariate Time Series Classification with each feature observed at all times.
Could you please how to guide me on how to run your code given the following type of data (Multivariate Time Series Classification).
Data Specifications:
Input: is a Tensor [A * B * C] where:
A: Number of Observations in Train / Test set. ex: 1000
B: Number of observations to consider each time: ex: 5/50/100 observations.
C: Input Features for each observation. ex: 5 features.
Output: 0 or 1.
Thank you for your time.

关于标签，我们现在支持两项任务：

每个时间序列的二元分类（参见 Physionet）。
每个时间点的多类分类（请参阅 PersonActivity）

您的情况似乎是每个时间序列的多类分类，这是我们现在拥有的两种设置的混合。
您可以执行以下操作：

将标签转换为 one-hot 编码。对于每个时间序列，标签将是一个二进制向量 [C]，其中 C — 类的数量。这解决了你提到的语义问题。
从这里使用 Physionet 的 collate 函数，因为它为每个时间序列创建标签。
Set ，其中 C 是类的数量。N_labels = C
请注意，我们在这里对 Physionet 数据集使用了归一化。您可以尝试使用和不使用标准化，看看它是否有助于您的案例培训。
In 设置为数据集的 False，如下所示。这表示模型应该按时间序列而不是按时间点运行分类。lib/parse_datasets.py``classif_per_tp
最后，我们需要修改损失。如果您使用的是 Latent ODE 模型，则在此处调用计算分类损失的函数，或者在此处调用 ODE-RNN。确保使用多类 CE 损失，而不是二进制 CE 损失。多类 CE 损失预期时间点数是第三个维度。您可以通过将大小为 1 的第三个维度添加到 Just Before you call 来破解它。compute_multiclass_CE_loss``label_predictions``compute_multiclass_CE_loss

Hello, may I ask if you have any dependencies to run this code and if there are any files similar to "requirements. txt"


Reading wrong (??) instance member when calling it through eventListener

[X] I'm reporting a bug, not asking for help
[X] I've looked at the documentation to make sure the behaviour is documented and expected
[~] I'm sure this is a Leaflet code issue, not an issue with my own code nor with the framework I'm using (Cordova, Ionic, Angular, React…)
[X] I've searched through the issues to make sure it's not yet reported

How to reproduce

Leaflet version I'm using: 1.0.1 with<EMAIL_ADDRESS>Browser (with version) I'm using: Chrome 54.0.2840.59 (64-bit)
OS/Platform (with version) I'm using: Linux Mint 17.3
step 1: listen to click event on the map and call a function
step 2: read instance member

What behaviour I'm expecting and which behaviour I'm seeing
In my simple example I set the instance member test = true;. When calling the function show() it's true. But calling the function show() with the event-listener it's undefined. I'm using Ionic2 framework with Angular2. I'm not sure where the problem belongs to. If I should post it somewhere else, please tell me. I'm sorry if I'm wrong here..
Edit: I also posted it here https://github.com/driftyco/ionic/issues/8704
Minimal example reproducing the issue

[X] this example is as simple as possible
[ ~] this example does not rely on any third party code

http://plnkr.co/edit/UZ8cMAzC7RPIvoCsofUr?p=preview

Yeah, this looks like a problem on your side (debug the value of this when you're inside initMap and inside show!!) or in the way you're using angular/ionic. Not a leaflet bug.
(Also, note the use of context in L.Map.on(), and read up on Function.bind() )

Thx @IvanSanchez, adding this as third param to L.Map.on() solved my problem.


Embeddable thumbnails (popping open to videos/images)

What are the requirements for the project?
We need a way to share big (full-screen-ish?) images and videos, but have them also fit inline in instructions when not being scrutinized.
Is there a deadline or date this is needed by?
ASAP
Please share any existing references, screenshots, links, etc. here that will help us better understand your requirements

This is what we have now (for better or worse) it shows the entire image scaled to the same width as the instruction panel (with no ability to pop it out or make it full-size).

How does this work with block discoverability? How does it work with the onboarding pattern?
A flexible way to show video and additional information about the task at hand. Could also include "just in time" hints.
https://github.com/microsoft/pxt-arcade/issues/4555 - see related issue.

Just to make sure. The only requirement here is to create a lightbox of the item you clicked.  This isn't a gallery, so gallery type features like next/previous and thumbnail views inside of the lightbox are not necessary.
If that is the case, then we might just go with a super basic lightbox similar to this. https://codepen.io/ongtiffany/pen/BoOeQV

@kiki-lee and @BeckHaru let me know if this solution suffices, or if we need something more robust. Given the description this should be enough.
https://www.figma.com/proto/cM4bzz8BcqS6HAnezmSejY/Lightbox?page-id=0%3A1&node-id=2%3A3&viewport=315%2C48%2C0.37&scaling=min-zoom&starting-point-node-id=2%3A3

Lucas added video support.

This ticket isn't for the ability to add videos and images, it's for the ability to take small videos and images in the instructions and pop them out so they can be seen more easily.
We do now have the ability to do that with videos in azure (I think), but we still need the ability to do it with anigifs and videos from YouTube.


LJSpeech model is missing optimizer

s = torch.load("hifigan-LJSpeech-ceb1368d.pt")
In [9]: s['generator'].keys()
Out[9]: dict_keys(['model'])```

Maybe there is another version version with the optimizer?
Thanks

Sorry, missed --finetune


High precision timestamps

after #3 has been merged this makes more sense. Trying still to test this locally forwarding from this container to rsyslog

:+1:


Code between bracket should be highlighted

Sometimes the brackets are mandatory for example:
let sb = new StringBuilder()

sb.WriteLine (html "<tbody>")

Thanks for reporting @MangelMaxime! Could you please try with latest release (1.5)? Both of the issues you reported should be fixed 👍


⚠ Bofrost.at has degraded performance

In bbfa70e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1548 ms

Resolved: Bofrost.at performance has improved in 80f1242.


Nginx generating a wrong whitelist-source-range

I have 2 ingress for the same domain and apparently after PR #517 nginx generate a wrong whitelist-source-range.
apiVersion: v1
items:
- apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    annotations:
      ingress.kubernetes.io/whitelist-source-range: <IP_ADDRESS>/32
      kubernetes.io/ingress.class: extern
    name: acl
    namespace: xxx
  spec:
    rules:
    - host: my.staging.eu
      http:
        paths:
        - backend:
            serviceName: default-http-backend
            servicePort: 80
          path: /health-check
- apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    annotations:
      ingress.kubernetes.io/whitelist-source-range: <IP_ADDRESS>/32
      kubernetes.io/ingress.class: extern
      kubernetes.io/tls-acme: "false"
    name: xxx-extern
    namespace: xxx
  spec:
    rules:
    - host: my.staging.eu
      http:
        paths:
        - backend:
            serviceName: my_service
            servicePort: 80
          path: /

Generated nginx.conf
   server_name my.staging.eu;
      ....

        location /health-check {
            set $proxy_upstream_name "staging-default-http-backend-80";

            allow <IP_ADDRESS>/32;
            deny all;
...
...

   location / {
            set $proxy_upstream_name "staging-xxx-80";

            allow <IP_ADDRESS>/0; < ====== It's wrong
            deny all;
....

Is <IP_ADDRESS>/0 the default whitelist range from your config map?

No, I don't have this option in the configmap just in ingress


Automatic folds

Feature description
There is https://github.com/Konfekt/FastFold  maybe this plugin can integrate the feature itself so we can remove another viml dependence.
Describe the solution you'd like
Auto fold documentation code.
Additional context
No response

I can't get your point. I guess you misunderstand how ufo works.

Yes, but Why do you need FastFold?
What's use case can't lsp, indent and treesitter providers cover with? ufo respect provider interface.

Perfect, clear :-)


Model can't be found

I am getting this error in
https://clientvectorsearch.com/ when it tries to load model.

Yo, we fixed that. If ure running into same issue fix it like below:
import { initializeModel } from "client-vector-search"
...
  useEffect(() => {
    try {
      initializeModel();
    } catch (e) {
      console.log(e);
    }
  }, []);


Milling ROIs for fibsem

Semi-automated milling ROI creation for FIBSEM samples. User must manually segment the image with scikit-image manual polygon segmentation.

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

In the file fibsem/milling.py:

Line 178:80: E501 line too long (88 > 79 characters)
Line 205:46: W291 trailing whitespace
Line 210:32: W291 trailing whitespace
Line 283:80: E501 line too long (99 > 79 characters)
Line 290:72: W504 line break after binary operator
Line 291:80: E501 line too long (87 > 79 characters)
Line 292:68: W504 line break after binary operator
Line 293:80: E501 line too long (85 > 79 characters)
Line 362:80: E501 line too long (82 > 79 characters)

In the file fibsem/mocktypes.py:

Line 92:17: W291 trailing whitespace
Line 93:17: W291 trailing whitespace
Line 94:20: W291 trailing whitespace
Line 134:80: E501 line too long (80 > 79 characters)
Line 163:80: E501 line too long (88 > 79 characters)
Line 165:80: E501 line too long (86 > 79 characters)

In the file fibsem/sample.py:

Line 40:30: E712 comparison to True should be 'if cond is True:' or 'if cond:'
Line 96:80: E501 line too long (80 > 79 characters)

In the file fibsem/test/test_data.py:

Line 32:80: E501 line too long (112 > 79 characters)

In the file fibsem/test/test_milling.py:

Line 8:39: E241 multiple spaces after ','
Line 16:39: E241 multiple spaces after ','
Line 51:80: E501 line too long (100 > 79 characters)
Line 78:38: E241 multiple spaces after ','
Line 85:46: E241 multiple spaces after ','
Line 86:52: E241 multiple spaces after ','

In the file fibsem/test/test_sample.py:

Line 5:80: E501 line too long (108 > 79 characters)
Line 48:44: E241 multiple spaces after ','
Line 49:43: E241 multiple spaces after ','
Line 50:44: E241 multiple spaces after ','
Line 51:43: E241 multiple spaces after ','

In the file fibsem/user_input.py:

Line 36:59: W504 line break after binary operator


Magic number antipattern

In https://github.com/treyhunner/names/blob/master/names/init.py#L23:
selected = random.random() * 90

This is clearly an instance of magic number antipattern, the value of 90 must be documented.

selected = random.random() * 90
So selected cannot have values higher than 90.
As far as I understood, this number represents summarized wage of names, for example, sum of second column in this file, while third represents cummulative wage:
https://github.com/treyhunner/names/blob/master/names/dist.male.first
But in this code, there is a consequent for-loop:
with open(filename) as name_file:
        for line in name_file:
            name, _, cummulative, _ = line.split()
            if float(cummulative) > selected:
                return name

This means, that it is impossible to get a name after name

SHON           0.004 90.001   1208
All names after SHON are unreachable.
My offer is to change hardcoded magic number 90 to a number, that represents cummulative wage of pre-last name.
For example:

def get_name(filename):
    name_file = open(filename)
    #Using cummulative wage of second name from end
    prelast_cum_wage = name_file[len(name_file)-2][2]
    selected = random.random() * prelast_cum_wage
    for line in name_file:
        name, _, cummulative, _ = line.split()
        if float(cummulative) > selected:
            return name


get_user import

get_user() should be imported from hs_core.models directly, not from ga_resources.utils, which just does:
from hs_core.models import get_user

This is related to https://github.com/hydroshare/hydroshare/issues/949

This has been resolved by removal of ga_resources form hydroshare codebase, so closing.


docs: Fix links on CLI manual

It needed some tricky HTML coding to fix the links.
The github actions workflow for publishing docs also needs to be updated.

Comments

Issue Number
ADP-1358

Thanks! do we have rendered version somewhere with the fix?

Thanks @piotr-iohk - I put back the "top" navigation links.
Adding a rendered version of docs for PRs is a good idea.


Code block without explicit language rendered as normal text

Description
Code blocks, which do not have a language declared at all will render as normal text.
e.g. take following markdown input:

Expected Behaviour
The code is rendered as such without any syntax highlighting done.
The expected generated code:

Just some text

We put random stuff in a code-block without a language.
This should be rendered as a code-block.

Some more text

Screenshot
Actual Behaviour
The code is rendered as normal text within the html.
The actually generated code:

Just some text

We put random stuff in a code-block without a language.
This should be rendered as a code-block.

Some more text

Screenshot
Affected Version
1.1.1 - Possibly prior versions; I did not test this.
Steps to Reproduce

Save example markdown I provided above
Transform to html using the library
look at the result

Checklist

[x] I have read the contributing guidelines
[x] I have verified this does not duplicate an existing issue

@Abrynos thanks for your contribution by opening this issue and associated pull request! 😄
Could you expand on the benefits of this proposed change? I tossed the HTML generated by the current behavior (which leverages the  tag generated by Markdig under the hood) and the HTML generated by your suggested behavior (using `style) into a previewer and the end result is basically identical.
Using :

Using style:

Could you expand on the benefits of this proposed change?

Of course. The issue mainly comes into play when using bootstrap. Here's a full reproduction example:
using System.IO;
using System.Threading.Tasks;
using Markdig;
using Markdown.ColorCode;

namespace MdColorCodeReproduction;

public static class Program
{
    private const string MarkdownInput = @"
# Test

```text
This is declared as a code-block and should be rendered as such.
```

";

    private const string HtmlHeader = @"
<!DOCTYPE html>

    <meta charset=""utf-8""/>
    <meta http-equiv=""content-type"" content=""text/html""/>
    <meta http-equiv=""Cache-Control"" content=""no-cache, no-store, must-revalidate""/>
    <meta http-equiv=""Pragma"" content=""no-cache""/>
    <meta http-equiv=""Expires"" content=""0""/>
    <link<EMAIL_ADDRESS>          rel=""stylesheet""
          integrity=""sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9""
          crossorigin=""anonymous""/>

";

    private const string HtmlFooter = @"


Annotations

This addresses https://github.com/PLOS/allofplos/issues/28 and updates the filename structure for annotation DOIs so that they do not depend on the journal name. Getting the journal name required going into the article XML or querying online.
Example DOI:  '10.1371/annotation/008b05a8-229b-4aca-94ae-91e6dd5ca5ba'
Previous filename: 'allofplos_xml/journal.one.correction.008b05a8-229b-4aca-94ae-91e6dd5ca5ba.xml'
New filename: 'allofplos_xml/plos.correction.008b05a8-229b-4aca-94ae-91e6dd5ca5ba.xml'
In addition, the filename regex has been updated to this new format.
If you have an existing copy of the corpus and want to transform the annotation articles to the new format, I wrote a gist to aid with that process.
I accidentally created this from the prodteam branch instead of master so there are a lot of useless old commits. My apologies.
All transform functions are passing the unit tests.
When this PR is merged, before closing please tag me so I can be sure to update the filenames on the corpus server.

Now I found an error, will take a look later:
Traceback (most recent call last):
File "plos_corpus.py", line 1060, in
main()
File "plos_corpus.py", line 1042, in main
dois_needed_list = get_dois_needed_list()
File "plos_corpus.py", line 316, in get_dois_needed_list
local_article_list = [filename_to_doi(article) for article in listdir_nohidden(directory, '.xml')]
File "plos_corpus.py", line 316, in
local_article_list = [filename_to_doi(article) for article in listdir_nohidden(directory, '.xml')]
File "plos_corpus.py", line 130, in filename_to_doi
return doi
UnboundLocalError: local variable 'doi' referenced before assignment

The problem is in the method filename_to_doi(). When the flow doesn't enter in any of the 3 if, this error is occurs. I will print out the filename that is being processed to see which one trigger this.

This guy is the culprit:
allofplos_xml/journal.pone.correction.dc398db7-e121-4bce-82d1-feac6d9bc68f.xml

I found that the REGEX was targeted to newarticledir but the file is in the corpusdir.
Will try by removing the dir in the validate_file function. BTW, what is validating is the file name, not the file, so I will rename it accordingly.

Pushed some changes, what is left: url_to_path(), change this method because annot_prefix is not 'plos.correction.' anymore

Hi @sbassi, if you read the PR, my changes were designed to change the annotation files to a new structure. The reason your file failed is because it's the old structure: journal.p[journal code].correction, whereas now it's plos.correction, which does not require discovering the journal name. Would you please revert your changes? Thanks!

I don't get it, if it is now plos.correction, why do we have a file called journal.pone.correction.dc398db7-e121-4bce-82d1-feac6d9bc68f.xml?

'annotation' DOI files deleted, redownloaded onto allofplos server, zip file recreated!


Start preliminary lgamma skeleton

Hi Matt (@mborland) I finally had a moment to implement the skeleton for decimal's elementary function lgamma. But CI is failing in a seemingly unrelated area. I'm not sure how to handle this. Maybe you could take a look?

All the failures are from lgamma that I see. Looks to be a slightly too tight tolerance? Most of them seem to be on 32-bit runs too.

Looks to be a slightly too tight tolerance?

Yes there is a tolerance issue also.
But I also see something about not being able to convert decimal32 to double. It is in what seems to be an unrelated test case. Are there maybe multiple things going on?

Looks to be a slightly too tight tolerance?

Yes there is a tolerance issue also.
But I also see something about not being able to convert decimal32 to double. It is in what seems to be an unrelated test case. Are there maybe multiple things going on?

Oh there's a test case for concepts that spits out a million errors but it's marked as expected to fail in the jam file. If you search for ...failed you'll find the test cases that actually failed.

find the test cases that actually failed

Ugghhh. Some of these (maybe all of them) are lgamma(x) for $x{\sim}1$ or $x{\sim}2$, for which the result is approximately equal to the logarithm of $1$. We lose bits here in subtraction. I have not handled the special cases near $1$ or $2$ yet. So I'll increase both the tolreances as well as the widths of the windows avoiding these arguments.
I'm not sure what's best to do with these points as we progress, maybe for this project, just leave them open and imprecise.
Changes forthcoming

Hi Matt (@mborland) this is looking rather green now. Got a bunch of pretty solid tests for lgamma included now.
I'm not quite sure how to handle two-time failure of CodeCov to upload? Wait? Try again? Force push?

I'm not quite sure how to handle two-time failure of CodeCov to upload? Wait? Try again? Force push?

Since it's internal server error I would just merge once the actual CI tests are green and come back to it in a day or so.

Hi Matt (@mborland) lgamma is finished for 32/64 in this PR. CodeCov is still 502-ing. I do not have the access to force-push. I'm happy to wait for CodeCove to come to its senses. or leave it in your hands.
Whatever you diecide, the technical part of lgamma impl is looking good and green for this early stage of the project.
We can also kick this one down the road a day or two to see what's up with CodeCov. Your choice.

Looks like CodeCov might be Baaaack. Let's see...

CodeCov is still 502-ing.

Looks like CodeCov might be Baaaack. Let's see...

Everything is green now.


Fixes #12

Add missing main declaration in bower.json

Fixes #12.

Closing in favour of #9 which for some reason I missed.


Remove unit_of_measurement from climate entities

Description:
Climate entities expose unit_of_measurement attribute, but their state is non-numeric. This PR removes the unit attribute and makes sure existing climate platforms rely on configured temperature units instead
Depends on https://github.com/home-assistant/home-assistant-polymer/pull/1580
Related Architecture Discussion: https://github.com/home-assistant/architecture/issues/48
Related Frontend issues:

https://github.com/home-assistant/ui-schema/issues/137
https://github.com/home-assistant/ui-schema/issues/148

Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Checklist:

[ ] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Remove the WIP from the title when you think it's ready

I think this one is ready now


Duplication glitch

When I add a custom enchatant book onto an item the boots or whatever duplicates. with one pair of books haveing the enchants and the other one being the starting enchant

Can you join the discord and elaborate more with gifs / images?

Stale.


Schema for {collectionId}/locations query response GeoJSON

standard property names for GeoJSON (like wigos ids, name, available parameters and other metadata like links)
id for different data types, like for observations wigos id, METARs and TAFs ICAO id and so on
how and when to use other geometries than Points
filtering of the locations query
paging

This issue may need to be divided to multiple issues.

@mrauhala Are you thinking a specifc schema for the Observations data here? Or a general schema for any usage of the locations data query?

@mrauhala Are you thinking a specifc schema for the Observations data here? Or a general schema for any usage of the locations data query?

Most of it can probably be generic, but some of it have to be data specific like observations, radar, warnings and so on.

A possible complication here is that we are sometimes required to issue aviation weather data for locations without registered ICAO codes, e.g. oil platforms or helicopter landing pads.

@geira ICAO codes falls outside the immediate concerns for RODEO, so I think we can postpone thinking about that.
@Teddy-1000 Could you help with this issue? E-SOH already have a schema for this, which is similar or maybe identical to https://github.com/opengeospatial/ogcapi-environmental-data-retrieval/blob/master/core/standard/openapi/schemas/edr-geojson/edrFeatureCollectionGeoJSON.yaml


Version member of this structure

There's no "#define SERVER_SILO_MONITOR_REGISTRATION_VERSION", it is called SILO_MONITOR_REGISTRATION_VERSION...

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ab17c2be-56c7-8148-6ad5-faccd4121fb1
Version Independent ID: 547c4d83-2177-ab98-db9b-5decc526ddbd
Content: _SILO_MONITOR_REGISTRATION (ntddk.h) - Windows drivers
Content Source: wdk-ddi-src/content/ntddk/ns-ntddk-_silo_monitor_registration.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Thanks @TomaszNowakSanDiego and apologies for the delay.  You are correct!  I just made the update.  It should appear on the page within an hour.


chore: Fix perf infra data collection

We were saving the values of the last run for all five runs of the perf test suite. This PR fixes it.
Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: fix/perf-infra-data-collection

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
56.48 (0.01)
37.94 (0.01)
36.19 (0)
56.7 (0.01)

:green_circle:
app/client/src/selectors/commentsSelectors.ts
85.25 (1.64)
64.71 (2.95)
73.33 (0)
90.59 (2.35)

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.94 (0.23)
41.67 (0.84)
36.21 (0)
56.99 (0.25)

/ok-to-test sha=d17fcf4

/ok-to-test sha=d17fcf4

/ok-to-test sha=d17fcf4


Next Steps are circular and Edit option for report consumers seems confusing

The links for Next Steps at the bottom of this page are not in order.
If you click the first, it jumps two topics down.
In that one, when you click the only link it jumps back to this page.
I think users will find that confusing.
I am looking for training that more clearly separates the roles to provide to our end users and to our report designers on business teams.
I found it confusing that the business users just got told they don't have to build anything, but one of the early topics on this page shows them the Edit and Read view buttons.  Could that topic be moved to a report or dashboard designer role documentation?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 0687089d-b79d-c566-35a5-9a03498cc168
Version Independent ID: 30699f15-ec7a-6f19-9f86-99316656c099
Content: What is a Power BI business user? - Power BI
Content Source: powerbi-docs/consumer/end-user-consumer.md
Service: powerbi
Sub-service: pbi-explore
GitHub Login: @mihart
Microsoft Alias: mihart

Thanks for your comment, @SMHolck. This issue has been assigned to the doc author for review.

Hi @SMHolck ,
Thank you for your suggestion.  Perfect timing for your comment.  We're in the process of removing "Next steps" and replacing it with "Related content".
All the best,
The DOCS team


IVF writer writing invalid timestamp value into frame headers?

Hey maintainers, thank you for this awesome work.
While working a little bit with some VP8-based streams, I have noticed something interesting related to IVF writers. Is it possible that the value written for the IVF frame timestamp is incorrect?

what's being written is a sequence number: https://github.com/pion/webrtc/blob/master/pkg/media/ivfwriter/ivfwriter.go#L112
the reader correctly expects it to be a timestamp: https://github.com/pion/webrtc/blob/master/pkg/media/ivfreader/ivfreader.go#L97,

And, of course, Duck IVF says that 8 bytes at offset 4 are 64-bit presentation timestamp: https://wiki.multimedia.cx/index.php/Duck_IVF.
Shouldn't the writer write the RTP header timestamp value into the IVF frame header?
I would propose the following:

https://github.com/radekg/boos/pull/3/files#diff-652bfa3efcbaa4c9f2876f1b72e4c566f6539428d6ac738050aa074370b192f1R112-R123

with the following call-site changes:

https://github.com/radekg/boos/pull/3/files#diff-652bfa3efcbaa4c9f2876f1b72e4c566f6539428d6ac738050aa074370b192f1R156
https://github.com/radekg/boos/pull/3/files#diff-652bfa3efcbaa4c9f2876f1b72e4c566f6539428d6ac738050aa074370b192f1R172

With these changes, I can handle variable stream framerate when reading frames.
I can provide a PR, if this change is acceptable.

Your environment.

Version: Release or SHA
Browser: include version
Other Information - stacktraces, related issues, suggestions how to fix, links for us to have context

What did you do?

What did you expect?
What happened?

Hi @radekg
Are you still interested in doing this! Anything we can do to improve the timing handling with IVF would be greatly appreciated. I haven't looked into it lately, but is a common complaint.

Sure, sorry for the delay, I'm not often on my private github recently but I can follow up on this.

Any updates on this issue? In my case, IVF writer produces a video file with invalid duration

Hey @Sean-Der, I have opened a pull request. The only problem I have is: I don't know what I should be testing. I'd love to provide a test but I might need some guidance.


Using OptimLib as header only. Set-up with CMake

Hi!
Thank you for your code. I would really like to test use some of your implementations in my software. However, I am struggling to link your library. If you have time please take a look at my following CMake files:
cmake_minimum_required (VERSION 2.8.8)

# set the project name and version
project(local-order-parameter)
# set the custom modules path
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")

#add_definitions(-DOPTIM_ENABLE_EIGEN_WRAPPERS)
# resolve dependencies
find_package(Git REQUIRED)
find_package(MPI REQUIRED)
if (MPI_FOUND)
    message("MPI found!")
else (MPI_FOUND)
    message(SEND_ERROR "This application cannot compile without MPI")
endif (MPI_FOUND)
# fetch external dependencies
include(FetchEigen)
include(FetchOptim)

include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${MPI_INCLUDE_PATH})
include_directories(${MPI_CXX_INCLUDE_PATH})
add_definitions(${MPI_CXX_COMPILE_FLAGS})

set(CMAKE_CXX_STANDARD 11)
add_executable(GeM
    src/main.cpp
    src/Pattern.cpp
    )
add_dependencies(GeM eigen)
add_dependencies(GeM optim)
target_link_libraries(GeM ${MPI_CXX_LIBRARIES})

Fetching is done in the following way:
set(OPTIM_REPOSITORY "https://github.com/kthohr/optim.git")
set(OPTIM_TAG master)
include(ExternalProject)
ExternalProject_Add(optim
DOWNLOAD_COMMAND ${GIT_EXECUTABLE} clone --branch=${OPTIM_TAG} ${OPTIM_REPOSITORY}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} -E copy_directory
<SOURCE_DIR>/include ${CMAKE_CURRENT_SOURCE_DIR}/include/optim
INSTALL_COMMAND ""
LOG_DOWNLOAD ON
LOG_UPDATE ON

Unfortunately, when I run a script with
#define OPTIM_ENABLE_EIGEN_WRAPPERS
#include "optim/optim.hpp"

using any function, e.g. optim::cg(), I receive the following error:
Undefined symbols for architecture x86_64:
  "optim::cg(Eigen::Matrix<double, -1, 1, 0, -1, 1>&, std::__1::function<double (Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1>*, void*)>, void*)", referenced from:
      _main in main.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [GeM] Error 1
make[1]: *** [CMakeFiles/GeM.dir/all] Error 2
make: *** [all] Error 2

May I kindly ask you, @maggiezimon , what the resolution was?


added Große Schule Wolfenbüttel

added Große Schule Wolfenbüttel

@xamasa98 Pull request merged. Please notice that free educational license for JetBrains tools is for high and higher schools students, i.e. those who are over 13 of age. Thank you!


storage: Introduce isDefinitelyEmpty API

What problem does this PR solve?
Issue Number: ref #5237
Problem Summary:
What is changed and how it works?

Added a new API: Segment::isDefinitelyEmpty.
It returns true when the snapshot is definitely empty.
It returns false when the snapshot is not definitely empty, e.g. not empty, or may be empty in some rare cases.
This API is used to determine whether it is safe to perform replaceData for the segment later.
This API does not respond an accurate isEmpty result in certain cases, in order to minimize the cost.

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/merge


[BUG] npx projen build doesn't remove corresponding files in packages/api/handlers/typescript/test (and other files, see detailed issue)

Describe the bug
I followed the getting started guide to build a shopping list application.
Ran npx projen build to build. Build failed because of failed test.
Expected Behavior
pdk to version and remove corresponding unused test and other files (see current behaviour).
Current Behavior
pdk left some un-used files in packages/api/handlers/typescript/test and packages/api/handlers/typescript/lib. Users need to handpick and remove leftover files manually.
Reproduction Steps

Follow a getting started guide here to build a shopping list application.
Add 5 files: types/shopping-list.smithy, types/pagination.smithy, operations/put-shopping-list.smithy, operations/delete-shopping-list.smithy, operations/get-shopping-list.smithy.
Update main.smithy to include GetShoppingLists, PutShoppingList, DeleteShoppingList.
Remove packages/api/model/src/main/smithy/operations/say-hello.smithy and packages/api/handlers/typescript/src/say-hello.ts
Run npx projen build
Build failed with the following error:

myapi-typescript-handlers: 👾 build » compile | tsc --build
myapi-typescript-handlers: 👾 build » test | jest --passWithNoTests --updateSnapshot
myapi-typescript-handlers:  FAIL  test/say-hello.test.ts
myapi-typescript-handlers:   ● Test suite failed to run
myapi-typescript-handlers:     test/say-hello.test.ts:3:3 - error TS2724: '"myapi-typescript-runtime"' has no exported member named 'SayHelloChainedRequestInput'. Did you mean 'ChainedRequestInput'?
myapi-typescript-handlers:     3   SayHelloChainedRequestInput,
myapi-typescript-handlers:         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
myapi-typescript-handlers:     test/say-hello.test.ts:5:26 - error TS2307: Cannot find module '../src/say-hello' or its corresponding type declarations.
myapi-typescript-handlers:     5 import { sayHello } from "../src/say-hello";
myapi-typescript-handlers:                                ~~~~~~~~~~~~~~~~~~
myapi-typescript-handlers:  PASS  test/delete-shopping-list.test.ts
myapi-typescript-handlers:  PASS  test/get-shopping-lists.test.ts
myapi-typescript-handlers:  PASS  test/put-shopping-list.test.ts
myapi-typescript-handlers: -------------------------|---------|----------|---------|---------|-------------------
myapi-typescript-handlers: File                     | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
myapi-typescript-handlers: -------------------------|---------|----------|---------|---------|-------------------
myapi-typescript-handlers: All files                |     100 |      100 |     100 |     100 |
myapi-typescript-handlers:  delete-shopping-list.ts |     100 |      100 |     100 |     100 |
myapi-typescript-handlers:  get-shopping-lists.ts   |     100 |      100 |     100 |     100 |
myapi-typescript-handlers:  put-shopping-list.ts    |     100 |      100 |     100 |     100 |
myapi-typescript-handlers: -------------------------|---------|----------|---------|---------|-------------------
myapi-typescript-handlers: Test Suites: 1 failed, 3 passed, 4 total
myapi-typescript-handlers: Tests:       3 passed, 3 total
myapi-typescript-handlers: Snapshots:   0 total
myapi-typescript-handlers: Time:        1.729 s, estimated 2 s
myapi-typescript-handlers: Ran all test suites.
myapi-typescript-handlers: 👾 Task "build » test" failed when executing "jest --passWithNoTests --updateSnapshot" (cwd: /Users/taryono/Code/projects/prototyping-sandbox/transurban-v2/packages/api/handlers/typescript)
myapi-typescript-handlers: Warning: run-commands command "pnpm exec projen build" exited with non-zero status code

 ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 >  NX   Running target build for 9 projects failed

   Tasks not run because their dependencies failed or --nx-bail=true:

   - infra:build

   Failed tasks:

   - myapi-typescript-handlers:build

👾 Task "build" failed when executing "pnpm exec nx run-many --target=build --output-style=stream --nx-bail" (cwd: /Users/taryono/Code/projects/prototyping-sandbox/transurban-v2)

Possible Solution
No response
Additional Information/Context
No response
PDK version used
0.23.37
What languages are you seeing this issue on?
Typescript
Environment details (OS name and version, etc.)
Apple M1 Pro, MacOS Sonoma 14.4.1

Hey Teddy!
Sorry for the slow response on this one - I'm now back from leave!
The handlers and tests are generated the first time you add an operation, but after that they're managed by you - therefore we don't want to delete anything if you change your API, just in case there's code in there you want to keep! I could potentially see it being ok to delete a handler/test file for an operation if it matches what we would have generated, but it gets quite complicated to implement as we'd likely need to keep some kind of state to remember old operations that were deleted... So I'm going to leave this closed for now.
The files in packages/api/handlers/typescript/lib are build output so they should hopefully disappear if you delete your unused handler and rebuild!
Hope this helps!
Cheers,
Jack


Setting abstraction

AbstractSetting or AbstractSettingDefinition
AbstractSettingValue or AbstractSetting
allow char field Settings

It's not really worth it to built the abstract classes given the children are different in annoyingly unique ways. But, I did go ahead and make it so that settings can be strings, too, not just booleans and ints.


Is there a possibility to add new Body based MatcherPolicy ?

What should we add or change to make your life better?
I want to execute something like this as custom matcher as late as possible in the pipeline.
Though it would have some performance implication as this is reading the body but that would be once per unique request otherwise it would be cached expression or route being used.
  "ReverseProxy": {
    "Routes": {
      "route1": {
        "ClusterId": "cluster1",
        "Match": {
          "Path": "/app1/{**path}",
          **"Body": {
            "expression": "XYZ",
             "MatcherFunction" :  "MyCustomMatcher"  // this would execute that custom expression based on request body
           }**
        }
      }

    },
    "Clusters": {
      "cluster1": {
        "Destinations": {
          "cluster1/destination1": {
            "Address": "https://localhost:6200"
          }
        }
      }
    }
  }
}

Why is this important to you?
https://cloud.spring.io/spring-cloud-gateway/reference/html/#naming-custom-filters-and-references-in-configuration
though this is not a apple to apple comparison   but this  gives that ability to inject any custom filter in the request processing pipeline and filter the request how ever you want.
Given that hook , would open other possibilities to do dynamic routing based on body messages

Routing is the first stage in processing requests for YARP - as YARP is integrating its route table in with other entries created for ASP.NET. It could probably be one of the last stages of disambiguation if its only applying to a specific path.
You indicate that you want to do process this once per request - YARP is generally stateless - each request is processed individually - there needs to be extra state that indicates how it is to be processed - for example sessions typically use cookies or custom headers, but each request will need to have that data - so what are you thinking here?
Processing bodies is likely to require caching so that the whole body can be read in, processed and then handed off to the forwarder. This will impact memory usage and performance.
Could you supply more details about what you are trying to accomplish and why?

Have you considered using middleware instead?
https://microsoft.github.io/reverse-proxy/articles/middleware.html
Middleware can buffer/read the body and make decisions. Selecting a destination within the current cluster is easy, but selecting a route/cluster is harder. Or you could combine middleware with direct forwarding.
https://microsoft.github.io/reverse-proxy/articles/direct-forwarding.html

Thanks @Tratcher  , Selecting a destination within a cluster works by replacing "AvailableDestinations " in the middleware that I had already tried out  but not sure how to select cluster /route by combining middleware and IHttpForwarder.

Routing is the first stage in processing requests for YARP - as YARP is integrating its route table in with other entries created for ASP.NET. It could probably be one of the last stages of disambiguation if its only applying to a specific path.
You indicate that you want to do process this once per request - YARP is generally stateless - each request is processed individually - there needs to be extra state that indicates how it is to be processed - for example sessions typically use cookies or custom headers, but each request will need to have that data - so what are you thinking here?
Processing bodies is likely to require caching so that the whole body can be read in, processed and then handed off to the forwarder. This will impact memory usage and performance.
Could you supply more details about what you are trying to accomplish and why?

Thanks @samsp-msft
Currently  I have a SOAP based router which also takes routing decisions based on SOAP message and now I am seeing the possibility to replace that with YARP for RESTful microservices.
I am seeing the possibilities to inject the middleware in the YARP pipeline to select Cluster /route based on Request Body without loosing the benefits of HealthCheck and Load Balancing.
When I add a middleware into the ReverseProxy pipeline by that time it has already selected the cluster/route so maximum I can do is to filter endpoints within the same cluster.

If you really need to examine the request bodies then I would agree with @Tratcher - this is probably a case where I would advise using direct forwarding. If you can find a way to use the url or headers instead to route, then you should find better performance etc. If these are new services, where you have the ability to encode the parameters you need to switch upon as part of the URL it will be better.

Thanks @Tratcher , Selecting a destination within a cluster works by replacing "AvailableDestinations " in the middleware that I had already tried out but not sure how to select cluster /route by combining middleware and IHttpForwarder.

When working directly with IHttpForwarder you don't use routes or clusters, you make the decisions in middleware and then call IHttpForwarder with the determined forwarder url.

@samanthwal Do you have any further questions or can this issue be closed?

@samanthwal Do you have any further questions or can this issue be closed?
Hi @adityamandaleeka , sure we can close this.

Thanks @Tratcher  and @samsp-msft  for your suggestions on this.


Ready flask app for beginners

create a basic blogging website with this module.
note: you have to use html templates for main interface ,
do little modification has per your needs
Describe what this patch does to fix the issue.
Link to any relevant issues or pull requests.

Thanks, but we already have an example paired with the tutorial, and Flask-SQLAlchemy has the same example adapted to use SQLAlchemy.


[Lecture2Go] Add new extractor

Thanks for the contribution. Would you like to be listed in AUTHORS? If so, under what name?

Please list me as Tjark Saul.

Done in f79ebf09a24f9bf0e91d0dc26782eeea02f10ad1.


321 curl multi

crawls multiple URLs in parallel for faster exports

adds cURL mutli-support
makes memory-intensive CSS parsing optional
improved UX around file list generation
improved UX to re-run in Debug Mode
improved UX to download Export Log as ZIP after failure


headless k8s test race due to async create and delete

the headless k8s tests only look for success, but the comands are all asynchronous
the electron tests get synchronicity by looking for the green status badge
the headless kubectl is entirely async
but the headless tests dont respect that

oh, maybe much simpler. the tests did have a waitTillNone, but one of the deletes was missing this


fix:long press video speed reset issue

Resolved an issue where long pressing to speed up video playback would incorrectly reset the speed to 1.0x when the user was using a non-default speed (e.g., 1.25x, 1.5x).

Is this good to be merged @user1121114685 ?

Of course, this issue is easy to reproduce and this update fixes it.


devtoys-cli: Add version <IP_ADDRESS>

What type of Apps related PR is this? (check all applicable)

[x] ✨ Add Manifest
[ ] ♻ Refactor
[ ] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 🚩 Other

Description
DevToys CLI : A Swiss Army CLI knife for developers.
Related Tickets & Documents
None
[optional] What gif/emoji best describes this PR or how it makes you feel?
:sparkles: :package: :beers: :technologist:
Did you verify the followings
Add/Modify a description in the manifest?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Check URLs?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Update to the latest version?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Update Hashes?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Format the json manifest?

[x] 👍 yes
[ ] 🙋 yes, but I need help
[ ] 🙅 no, because they aren't needed

Did you identify extra steps
Notes in the manifest?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Application Dependencies?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Application Suggestions?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Pre-installation steps to perform?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

Post-installation steps to perform?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

File persistence to perform?

[ ] 👍 yes
[ ] 🙋 yes, but I need help
[x] 🙅 no, because they aren't needed

All changes look good.
Wait for review from human collaborators.
devtoys-cli

[x] Description
[x] License
[x] Hashes
[x] Checkver
[x] Autoupdate


Add Machine Scope for DuongDieuPhap.ImageGlass

What type of update are you requesting?
A new locale, architecture, or installer type of an existing version
Current Package Identifier
DuongDieuPhap.ImageGlass
Package Version
<IP_ADDRESS>0
Please describe the changes you would like to see
Add the machine scope using ALLUSERS=1

Close with reason: PR #133225 added the machine scope;


Inlay hints/PatternTypeHintsStage: support match clause

@DedSec256 Do you think it could make sense to introduce another option, so hints for bindings/parameter declarations could be controlled separately? With both currently defaulting to 'push-to-hint' it doesn't make much difference, but I'm also trying to imagine if somebody could want to make the declaration hints be always shown while keep the 'match' ones in push-to-hint mode.

Perhaps, we can write  Match clause patterns

Perhaps, we can name it  Match clause patterns
"Clause" sounds like a rather technical term to me. I've never heard it from non-compiler people. Something like "patterns" or "branches" may sound much more user-friendly here, I think?


Questionnaire - XML and JSON representation not shown (Oliver Egger, ahdis)

ch.fhir.ig.ch-rad-order#0.1.0 /questionnaire.html
It would be nice if on the questionnaire menu/tab you would also have the XML and JSON representation available as in http://fhir.ch/ig/ch-rad-order/Questionnaire-QuestionnaireRadiologyOrder.html
Oliver Egger, ahdis

Issue reviewed and closed.


build: fix invalid sass paths being resolved

Prevents SASS from resolving certain paths, even though they're invalid. This should prevent issues like #2133 from happening again.
@jelbourn I'm not sure what the reasoning was for adding core/styles to the includePaths in Gulp, but this is what helped @import '../a11y/_a11y'; to always be resolved. I re-ran all of the SASS-related Gulp tasks and they went through fine.

LGTM, good find.


Cannot loadCells using array of filter

According to this
https://theoephraim.github.io/node-google-spreadsheet/#/classes/google-spreadsheet-worksheet
This is what I used
sheet.loadCells(["A1:C1","K1:J1"])
I only got the first 3 cells but not the other filter.
any ideas?
Also I use loadCells twice.
First with
sheet.loadCells("A1:C1")
then
sheet.loadCells(["A1:C1","K1:J1"])
Thank you!

HI @VrTech - is this still a problem? I just checked and I can load multiple ranges without any issues.

i think it’s fixed 💯