feat: more flexible URI template util

Summary
The current setup with URITemplate.sol is rather rigid. It only allows for a single {id} to exist when templating, and the Rigs implementation ended up using a more flexible approach. These changes reflect some initial thoughts toward how this can be implemented and demo out 'single' vs 'multiple' methods (for gas savings purposes) and a lib vs contract impl. TBD which is ideal.
Details
To demonstrate the different approaches, URITemplate and URITemplateLib have been created. The first is a contract (the way this util is currently designed), and the second is a library. The rationale behind the lib wa because I was messing around with multiple methods that alter the same storage variable but with different behavior.
One "set URI template" method only allows for a single {id}, and the other can handle multiple {id} substrings. Keeping both methods might be worthwhile for gas savings purposes. I wasn't sure which was the better approach, so both are included in this initial pass.

TestURITemplate inherits from a URITemplate contract
TestURITemplateLib uses a URITemplateLib library
Both test contracts have methods to setURITemplateSingle or setURITemplateMultiple (re: single or multiple {id}s)
Realistically, all that's probably needed here is the contract impl with only _setURITemplateMultiple and _getURITemplateMultiple, but I figured I'd try the other options out

How it was tested
Tests have been added in the test directory, with gas comparisons shown below:
·······················|··························|·············|·············|·············|···············|··············
|  Contract            ·  Method                  ·  Min        ·  Max        ·  Avg        ·  # calls      ·  usd (avg)  │
·······················|··························|·············|·············|·············|···············|··············
|  TestURITemplate     ·  mint                    ·      56296  ·      90496  ·      83656  ·           10  ·          -  │
·······················|··························|·············|·············|·············|···············|··············
|  TestURITemplate     ·  setURITemplateMultiple  ·      80169  ·     162348  ·     115943  ·            3  ·          -  │
·······················|··························|·············|·············|·············|···············|··············
|  TestURITemplate     ·  setURITemplateSingle    ·      52044  ·     101384  ·      84857  ·            3  ·          -  │
·······················|··························|·············|·············|·············|···············|··············
|  TestURITemplateLib  ·  mint                    ·          -  ·          -  ·      90496  ·            6  ·          -  │
·······················|··························|·············|·············|·············|···············|··············
|  TestURITemplateLib  ·  setURITemplateMultiple  ·      80181  ·     162360  ·     115955  ·            3  ·          -  │
·······················|··························|·············|·············|·············|···············|··············
|  TestURITemplateLib  ·  setURITemplateSingle    ·          -  ·          -  ·     112182  ·            1  ·          -  │

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@asutula lmk if this is how you were thinking about things. I ended up creating both a lib and contract setup to test things out. These aren't necessarily gas optimized, but I wanted to see which felt more natural between the lib/contract.
There are also two different methods for setting the token URI. My initial thought was that the implementer may only need a single {id}, so they'd want to use a more gas efficient _setURITemplateSingle method. The _setURITemplateMultiple is the more flexible one, with 1+ allowed {id}s.

If you think the library approach is appealing to some people, we could provide both and have the contract use the library.

Agreed re: contract...abstracts the impl details. Probably no need for a lib, either.

Hey guys, just stubbed on this via email. To add some context, the rigs contract had avoid parsing the template string on-chain because it was so huge... iirc, i was having trouble estimating gas for so much string parsing work. So, I went with an approach that simply parses the string locally via https://github.com/tablelandnetwork/rigs/blob/main/ethereum/helpers/uris.ts, and then passes a list of "template parts" to the contract (https://github.com/tablelandnetwork/rigs/blob/main/ethereum/contracts/utils/URITemplate.sol#L20). I think that is the correct way to handle this for a couple reasons:

the on-chain string parsing is gassy
the string parsing utils (SStrings) unnecessarily adds to contact size
it doesn't work / is finicky with very large strings, like many Tableland queries

Gotcha...I'd agree with that, due to the amount of gas associated with the on-chain splicing/splitting/etc. I was trying to make it work but doesn't seem like it'll ever be efficient enough.
I'll just make it simple and update this to the Rigs flavor.


Add files via upload

Added the files for the website.
download all 5 files into one folder and double-click index.html to see prototype.

Current coverage is 62.13% (diff: 100%)

Merging #245 into master will not change coverage

@@             master       #245   diff @@
==========================================
  Files           129        129
  Lines          3288       3288
  Methods           0          0
  Messages          0          0
  Branches        529        529
==========================================
  Hits           2043       2043
  Misses         1111       1111
  Partials        134        134

Powered by Codecov. Last update 7a8dc73...769ce60

@Jimmy-VVang Please create an issue to keep track of the progress of your work.  Also once the first version is ready to review, please notify @kishore-narendran and @zuozhiw to review.

@Jimmy-VVang You are putting all the files under TextDB's root directory. These files belong to a new sub-folder.
@chenlica How about under a new folder called textdb-frontend ?

@chenlica @zuozhiw I was thinking maybe we should maintain the GUI in a separate repository in the TextDB organization. What do you think?
Or, alternatively like @zuozhiw suggested, it should be another module simply named textdb-gui.

@kishore-narendran In general I don't like maintaining multiple repositories, since otherwise the version consistency between the two repos becomes very hard to manage.  A better solution is to create a module or project under the same repo.
I like the name textdb-gui.

@chenlica That makes sense. I merged 'master' onto this branch because it was out of date.

A sample complete property:
{
    "operator_id" : "id of the opeartor"
    "operator_type" : "KeywordMatcher",
    "keyword" : "zika",
    "matching_type" : "conjunction",
    "attributes" : "first name, last name, email (columns in a database table)",
    "limit" : "100",
    "offset" : "0"
}

Cleanup the code, move all files under textdb-gui folder.
Put all css files in a separate "css" folder.
put all js files in a separate "js" folder.
put "index.html" directly under textdb-gui folder.

@Jimmy-VVang Also add the issue number to the title of this PR as a prefix.  See the names of other PRs.

Move flowchart.js and its related file(s) to textdb-gui/third-party`

We will meet sometime the following week; to decide on the interaction between textdb-gui and textdb-web. @zuozhiw @Jimmy-VVang

@Jimmy-VVang since we have other PRs for the GUI, I suggest we close this PR without the merge.

@Jimmy-VVang I am going to close this PR since it's no longer needed.


Add services dynamically with tonic

Feature Request
Hello 👋!
Thread from discord which motivated this issue creation: https://discord.com/channels/500028886025895936/628706823104626710/930507181516795944
Motivation
I want to dynamically add services where those services would be initialized later.
For instance, let's suppose we want a Builder pattern to create GRPC services based on a Shared Context where you could register your Service creation function.
struct GRPCDriver<C, Se>
where
    C: BusinessContext + Send + Sync + 'static,
    Se: Service<hyper::Request<Body>, Response = Response<BoxBody>>
        + NamedService
        + Clone
        + Send
        + 'static,
    Se::Future: Send + 'static,
    Se::Error: Into<TonicError> + Send,
{
    // Here we have our "service factory" which create services based on a Shared Context
    grpc_services: Vec<Box<dyn Fn(Arc<C>) -> Se + Send>>,
    ..
}

impl<C, Se> GRPCDriver<C, Se>
where
    C: BusinessContext + Send + Sync + 'static,
    Se: Service<Request<Body>, Response = Response<BoxBody>>
        + NamedService
        + Clone
        + Send
        + 'static,
    Se::Future: Send + 'static,
    Se::Error: Into<TonicError> + Send,
{

   // Here the function which will run the server and services initialization.
  async fn run_driver_without_context(self, context: Arc<C>) -> anyhow::Result<()> {

    let grpc_services: Vec<Box<dyn Fn(Arc<C>) -> Se + Send>> = self.grpc_services;
    let mut server = TonicServer::builder();

    for service in grpc_services {
        server = server.add_service(service(Arc::clone(&context)));
        // Here types are fucked up because the compiler can't infer the right type for server.
    }

    server.await

  }
}

It won't work due to the typing of the successive add_service call.
Proposal
Not really :(

Unless axum supports this (cc @davidpdrsn ) its likely we won't add this support since its likely to either add perf issues or complexity.

Axum makes it a bit easier (once the Router type doesn't change as you add routes) but a vec of closures that returns generic services is going to be hard no matter what I think.
I agree this probably isn't something we want to support since it's likely to add more complexity.

Yeah I understand, it does add a lot of complexity. I'm working on a solution that would implies a public expose of Or and Routes (https://github.com/Miaxos/tonic/compare/master...hyperium:bb392be46ed6708d1282dd639c53a40d53c6c9fc) struct which is kinda working right now, I've still things to check, test and fix.
I'm closing this as it won't be implemented.
Thank you

Thanks for understanding :)

FWIW I think the change from @davidpdrsn  in https://github.com/hyperium/tonic/pull/830 may help this ticket significantly (because the Router no longer has so many generic types)

Specifically, in the above example
    for service in grpc_services {
        // this type is `Router<Routes>`
        server = server.add_service(service(Arc::clone(&context)));
    }


What functionality would you like to see?
Validates whether or not a version meets a constraint. If not, triggers an error.
data "corefunc_semver_constraint" "constraint" {
  version    = "1.2.3-beta.1+build345"
  constraint = ">= 1.2.3, < 2.0.0"
}
#=> Error

https://github.com/hashicorp/go-version


Plugin system leaking fd's when the plugin has an error

tracking issue for adding priority label for https://github.com/docker/docker/pull/20680, which is already fixed in master by that PR

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


Scrap basic group feed

Hi  I try to make a scraper of basic group feed
Usage

initialize fb = SecondHandler::FbGroupPost.new(access_token, "group_id")
fetch first page page = fb.first_page
get content page.get_content
get next page page.next_page
I hope it can help us. :grimacing:
if any question, you can discuss here

Integrate into #3
Thanks @qoo392 !!


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/opstest2/docs-archive-test-source.git

Docs Build status updates of commit 62e36af:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


AreaChart is not Responsive ?

I am currently trying to integrate an AreaChart into my NextJS project.
Unfortunately, I noticed that everything is responsive, including , , , etc. However, when I add  and resize the page wider, I get a bottom scrollbar when I narrow it down.
The issue only resolves if I don't use . Does anyone happen to know what could be causing this?
"@tremor/react": "^2.7.0",
	const valueFormatter = (number: number) =>
		`${number} °C`;
	return (
		<Card className="p-5">
			<Title>Temperature</Title>
			<Text>
				Avg Temperature of the last 24 hours
			</Text>
			<AreaChart
				className="mt-4 h-80 "
				data={data}
				showLegend
				index="hour"
				categories={["Temperature (C)"]}
				colors={["red"]}
				minValue={0}
				yAxisWidth={40}
				valueFormatter={valueFormatter}
			/>
		</Card>
	);
}

for testing i build this, and here is the same error.
async function Dashboard() {
	return (

Sidebar

			<Card className="flex-1 p-5">
				<Title>Temperature</Title>
				<Text>
					Avg Temperature of the last 24 hours
				</Text>
				<AreaChart
					className="mt-4 h-80 "
					data={[
						{ hour: 1, "Temperature (C)": 1 },
						{ hour: 2, "Temperature (C)": 2 },
						{ hour: 3, "Temperature (C)": 3 },
						{ hour: 4, "Temperature (C)": 4 },
						{ hour: 5, "Temperature (C)": 5 },
						{ hour: 6, "Temperature (C)": 6 },
						{ hour: 7, "Temperature (C)": 7 },
						{ hour: 8, "Temperature (C)": 8 },
						{ hour: 9, "Temperature (C)": 9 },
						{ hour: 10, "Temperature (C)": 10 },
					]}
					showLegend
					index="hour"
					categories={["Temperature (C)"]}
					colors={["red"]}
					minValue={0}
					yAxisWidth={40}
				/>
			</Card>

	);
}

got it fixed, i need with flex-1 a overflow-auto


storage in userprofile (instead of fixed config dir relative to the executable)

hi,
first of all - thanks a lot for cmder - it's close to that dream of a modern Windows shell that wasn't there for ages. Thanks for making this real!
I wonder if there's any option to have one config storage per user (i.e. put the config dir in the user profile or use a per-user registry storage, like the original conemu.exe offers with the "/config" switch)?
For multi-user environments it would be very useful to only have only one read-only copy of the executables (i.e. in %programfiles%) and every user on the system can use it and have separate settings (i.e. with settings stored in the user profile or the HKCU part of the registry).
Best,
Christian

On windows, configuration belongs in the directory specified by the %APPDATA% variable. This is (windows 7 / 8) this directory: C:\Users\<username>\AppData\Roaming - but you should rather use the variable, in case the directory is mapped somewhere else.


Add Section | Hacking on Yearn

include all material here
https://hackmd.io/BP6CjvX-T_-CbfsksR7FFQ?both
needs to be separate section

https://github.com/yearn/yearn-devdocs/pull/196


Configuring Firmware

See #9
How to configure a firmware build -
While it would be ideal to ship a single firmware that works anywhere, its likely that memory limitations and additional sensors, actuators, and logic are likely to require different builds.
I see two approaches to this
a: look at existing platforms (e.g. ESPHome or ESP-IDF), borrow and modify their approach to configuration.
b: build from scratch (possibly learning from other platforms.

[x] An obvious task here would be to investigate ESPHOME and ESP-IDF and see how they do it.
[x] Build a straw-person and see how it meets the needs.

Look at _configuration.h and _settings.h  for the current system - it may change as we figure out how to add/configure different sensors

DOne first cut - will adapt as need


HTML/CSS & JavaScript capstone project - Conference page

Hello Reviewer ✋
Project description

In this capstone project ((remember what they are?) ) I have built the project based on an online website for a conference. Microverse provided some design guidelines for us to create the website, but I personalized the content, i.e., instead of a conference I have built TASTE FOOD website for showing meals  or for a web development course. I personalized my project so that people can see somthing unique in my portfolio to share with potential employers during job searching.

Prjoject Geral Requirements

Make sure that there are no linter errors.
Make sure that you used correct GitHub flow.
Make sure that you documented your work in a professional way.

Tasks Implemented

I have personalized the content of my page by choosing a TASTE FOOD topic that is different than the one in the original design.
I have followed these design guidelines, including:
Colors.
Typography: font face, size and weight.
Layout: composition and space between elements.
The pages should look almost identical to the original design. Small adjustments like text or image changes are acceptable.

Pages built :

The home page.
The about page.
Each of these pages should have versions for 2 different screen sizes:

Mobile: up to 768px wide.
Desktop: 768px or wider.
Interactions
Links

The home page should have a link in the menu to the about page.
The logo in the header links to the home page.
Mobile menu
When the user clicks (or taps) the hamburger button on the header, the mobile menu appears over the page.
There are no guidelines for the mobile menu in the docs, but you should implement it so it is consistent with the design (colors, typography, spacings, etc.).
The mobile menu should have a close (X) button that closes the menu.

Dynamic page
The section "Featured speakers" should be created dynamically in JavaScript.
You should use a JavaScript variable with the data about the speakers and use it when the page loads to create the HTML for this section dynamically.
Original design idea by Cindy Shin in Behance.
The Creative Commons license of the design requires that you give appropriate credit to the author. Therefore, you must do it in the README of your project.

Project Under Review.
Kindly wait for a response. 😄


React-DOM-to-react-dom-factories.js not listed in README

Hi!
The following transform isn't listed in README (unlike the others):
https://github.com/reactjs/react-codemod/blob/master/transforms/React-DOM-to-react-dom-factories.js
Is this intentional? :-)

I'll accept a PR that adds this to the readme/cli.


[ko] Fix a bad merge into kubectl install task

Fix a bad merge. Helps with https://github.com/kubernetes/website/issues/41005 (but doesn't close it).

Thanks!
/lgtm

duplicate #41994

I'd like to see this fixed on main fairly soon.

/reopen
I misclicked!


Limit max handshake size

Now that pipes don't block forever while applying backpressure, we need to limit the maximum message size.

@anurse Rebased on preview8 branch


v1.0.0: Backbone application restructure

Backbone Application Restructuring
For Yeogurt v1.0.0, a revamp/restructure is needed for all generated applications. That being said, Backbone projects need quite a bit of love in order to work well with a modular structure. Of course, I would like to keep the user base informed on the direction the project is taking when creating and scaling applications, so feel free to comment and leave feedback in this issue.
Old Structure
Here is an example of what the generator currently produces for backbone projects:
├── client
    ├── scripts                         # Scripts folder (All JS)
    │   ├── main.js                     # Main bootstrap file
    │   ├── routes.js                   # Define all routes here
    │   └── views
    │       └── index.js
    ├── styles                          # Styles folder (All Stylesheets)
    │   └── main.scss                   # Main stylesheet (import everything to this file)
    └── templates                       # Templates folder (All templates)
    |   └── index.jst
    ├── images
    ├── favicon.ico
    ├── index.html                      # Base template
    └── robots.txt

New Proposed Structure
Here is an example of what could be produced for backbone projects:
├── client
    ├── app
    |   ├── __tests__
    |   |   └── main.routes.spec.js
    |   ├── index                    # Index page (required)
    |   |   ├── __tests__            # Holds all tests for current folder
    |   |   |   └── index.spec.js
    |   |   ├── index.jst
    |   |   ├── index.js
    |   |   └── index.scss
    |   ├── layout                   # Layout structure for app
    |   |   ├── __tests__
    |   |   |   └── base.spec.js
    |   |   ├── base.js
    |   |   ├── base.jst
    |   |   └── base.scss
    |   ├── modules                  # Reusable modules
    |   |   └── navbar
    |   |       ├── __tests__
    |   |       |   └── navbar.spec.js
    |   |       ├── navbar.jst
    |   |       ├── navbar.js
    |   |       └── navbar.scss
    |   ├── lib                      # Base Classes, Misc scripts, etc
    │   ├── main.js                  # Main bootstrap file
    │   ├── main.scss                # Main stylesheet (import everything to this file)
    │   └── main.routes.js           # Define all routes here
    ├── assets                       # Other static files (images, fonts, txt, etc)
    |   ├── images
    |   └── fonts
    ├── bower_components             # Stores all bower files
    ├── vendor                       # Third-party (non-bower) files
    ├── favicon.ico
    ├── index.html                   # Base template
    └── robots.txt

This slightly updated structure is inspired by a few [angular] styleguides (johnpapa, mgechev, and toddmotto). I realize that these cover mostly angular applications, but I have found that the structure they outline can be converted to be used with Backbone quite well. I tried to pick some of my favorite features and techniques used between all of these great resources. Of course, I would like throw out some questions and get some feedback on the proposed changes.
Proposed/Existing Sub-generators
Below are the proposed sub-generators that would be usable for projects creating Backbone applications.
Module

Creates a new folder inside of app/ folder
Creates new files based on name (ex. static) [make styles and template optional]

static.js
static.spec.js
static.jst
static.scss

Model

Creates a new folder inside app/ (confgurable)
Creates new files based on name (ex. bb)

bb.model.js
bb.model.spec.js

Collection

Creates a new folder inside app/ (confgurable)
Creates new files based on name (ex. bb)

bb.collection.js
bb.collection.spec.js

Questions
Feel free to offer your opinion on these questions (or any others) within the comments section.

Folders

Do their names make sense?
Do you like the structure?

General

How can this be improved in your opinion?
Is anything confusing?

Default framework (Should app default to using a backbone framework?)
Marionette?
Chaplin?

Feedback
As stated above, I would love to get some feedback on what you all think about this new structure. I think it is a massive move forward to the old "sock-drawer" style structure, but there is always room for improvement.
Let me know what you think!

NOTE: I continue to update this issue as more information comes in and feedback is gathered

Closing this in favor of generator-neopolitan


[4.0.0-beta.1] Firefox uncaught error on demo games: "Link Shader failed:Uniform uResolution is not linkable between attached shaders."

I first saw this with 4.0.0-beta.1 on my own game, but then noticed that also Create Phaser Game's "Memory Card Game" and "Coin Clicker" both exhibit this exact same behaviour.
They work normally on Chromium-based browsers, but not on Firefox (tested with both 131.0.3 and 132.0.1 on Linux Mint 20.3):
$ npm create @phaserjs/game@latest

...

✔ Enter Project Name: … my-phaser-game
✔ Select Option: › Demo Game (Matching Pairs, Clicker, Shmup)
✔ Select Demo Game: › Memory Card Game - Pair Matching Game

...

$ cd my-phaser-game/ &&  npm i<EMAIL_ADDRESS>&& npm run dev

Clicking the main graphic makes a sound, but doesn't start the game; the devtools console (even before clicking) shows this: console-export-2024-11-16_20-18-39.txt

Same thing happens with "Coin Clicker."

(And since this also happened with a game I'm developing locally, I thought this was maybe more about the beta than about https://github.com/phaserjs/create-game .)

Thanks for digging into 4.0.0!
The issue is that the FLAT shader used for rectangles and other shapes/graphics has a vec2 uResolution uniform in both the vertex shader and the fragment shader. However, the fragment shader will set it to highp precision if available, while the vertex shader will always use mediump. These are different types, so they cannot be in the same linked shader.
Firefox identifies this as a problem. Chrome does not, at least not on my machine. I don't know why. Perhaps mediump and highp are the same on my machine, and Chrome is OK with the error if it can compile it away. This is no guarantee that it would continue to work on all Chrome devices, though.
The fix is to add the same highp availability check to the vertex shader. This resolves the issue.
I also checked for other shaders that might have this problem, and I couldn't see any.


refactor macros to fix #17

fix #17

cool, and then set https://github.com/absap/ADT_Backend/blob/remove-macros/abaplint.json#L37 to true


Namespacing for commands and frontend scaffolding

Right now there are beaker new and beaker wasm new. There will be more code scaffolding commands, and it's a good practice to keep them in the same namespace.
beaker new project
beaker new contract
beaker new contract-counter
beaker new frontend

(doesn't have to be new, can be scaffold, create, etc.)
Currently, beaker wasm new creates a contract with a counter logic. This is helpful for new devs (to understand how to write a simple contract), but one might also want an empty contract to not have to delete scaffolded code they no longer need, hence beaker new contract.
This brings me to the frontend, which contains the counter logic, even if a dev hasn't scaffolded a contract yet. The counter logic on the frontend is incredibly simple and the main bits are barely 50 lines long. The proposal is to:

by default scaffold a frontend without the counter logic
add beaker new frontend in case a user has deleted the frontend dir or they just want to build a frontend
move the frontend logic counter into a short tutorial

That makes a lot of sense! will do that :)


Could Advanced Search use time values like "now-7days"?

This messed me up too for a while while working on the ERDDAP time series explorer.
I thought that Advanced Search, like tabledap data requests, could use time values like "now-7days" for time values like "Minimum Time" on pages like:
https://coastwatch.pfeg.noaa.gov/erddap/search/advanced.html
although I see that the pop up help does not display this as an option.
It's additionally confusing because you can type now-7days into the GUI for minimum time and do the search, and you get no errors.
But eventually you figure out that ERDDAP is just ignoring your specification there (so you might as well have typed "foobar"!) , treating this as no minimum time being specified.
It would be nice if ERDDAP complained that you typed an invalid time value.
It would be nicer if ERDDAP supported "now-7days" style time values in advanced search!

Regarding how errors are dealt with:

There is a guideline often used in computer science: be strict in what
you write out, be lenient in what you accept.
https://en.wikipedia.org/wiki/Robustness_principle
Some parts of ERDDAP (generally the data requests) are strict in both
what they accept and what write. Error messages are shown on some web
pages. HTTP errors are thrown in some cases.
Some parts of ERDDAP (generally the non-data requests) are lenient in
what they accept. They follow the adage "Do your best." Sometimes they show
an error message, sometimes they don't (sometimes there isn't really a
place to show and error message and show results). Usually they keep going
(and do their best), sometimes they just throw one big exception. This case
probably should be handled differently.  One might wish for perfect
consistency, but there is a range of severity of errors and a range of
situations in which they can occur. There are thousands of ways for
requests to fail.

I will change Advanced Search so that it accepts the "now+/-nUnits" time
values. That's a good idea.
I hope that helps and sounds reasonable.
On Sun, Dec 3, 2017 at 11:12 AM, Rich Signell<EMAIL_ADDRESS>wrote:

This messed me up too for a while while working on the ERDDAP time series
explorer.
I thought that Advanced Search, like tabledap data requests, could use
time values like "now-7days" for time values like "Minimum Time" on pages
like:
https://coastwatch.pfeg.noaa.gov/erddap/search/advanced.html
although I see that the pop up help does not display this as an option.
It's additionally confusing because you can type now-7days into the GUI
for minimum time and do the search, and you get no errors.
But eventually you figure out that ERDDAP is just ignoring your
specification there (so you might as well have typed "foobar"!) , treating
this as no minimum time being specified.
It would be nice if ERDDAP complained that you typed an invalid time value.
It would be nicer if ERDDAP supported "now-7days" style time values in
advanced search!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BobSimons/erddap/issues/15, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABarOFKz0AnC3I2OxLvTPN2ZUZQb-rydks5s8vKQgaJpZM4Qz2B6
.

--
Sincerely,
Bob Simons
IT Specialist
Environmental Research Division
NOAA Southwest Fisheries Science Center
99 Pacific St., Suite 255A      (New!)
Monterey, CA 93940               (New!)
Phone:<PHONE_NUMBER>            (New!)
Fax:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>The contents of this message are mine personally and
do not necessarily reflect any position of the
Government or the National Oceanic and Atmospheric Administration.
<>< <>< <>< <>< <>< <>< <>< <>< <><

@BobSimons , yes this sounds reasonable.   Thanks for putting this on the enhancement list!
Is it useful to keep this open until it's added, or would you prefer I close this?

You can close it.
On Tue, Dec 5, 2017 at 9:33 AM, Rich Signell<EMAIL_ADDRESS>wrote:

@BobSimons https://github.com/bobsimons , yes this sounds reasonable.
Thanks for putting this on the enhancement list!
Is it useful to keep this open until it's added, or would you prefer I
close this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/BobSimons/erddap/issues/15#issuecomment-349379545,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABarOHM1rtnrCPA8i-UzPJe1sZBhaxNUks5s9X5SgaJpZM4Qz2B6
.

--
Sincerely,
Bob Simons
IT Specialist
Environmental Research Division
NOAA Southwest Fisheries Science Center
99 Pacific St., Suite 255A      (New!)
Monterey, CA 93940               (New!)
Phone:<PHONE_NUMBER>            (New!)
Fax:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>The contents of this message are mine personally and
do not necessarily reflect any position of the
Government or the National Oceanic and Atmospheric Administration.
<>< <>< <>< <>< <>< <>< <>< <>< <><


"TypeError: Iteration over 0-d tensor"

I'm trying to run the RNN search on custom data.
I changed the datafiles in data/penn/ and ran the usual command from the rnn directory:
python train_search.py --unrolled
I get the following output and error:
Experiment dir : search-EXP-20190731-110155 torch.Size([667, 256]) torch.Size([89, 256]) torch.Size([2302, 10]) torch.Size([60194, 1]) 07/31 11:02:04 AM param size: 1813545 07/31 11:02:04 AM initial genotype: 07/31 11:02:04 AM Genotype(recurrent=[('relu', 0), ('relu', 1), ('tanh', 2), ('identity', 3), ('tanh', 3), ('relu', 5), ('identity', 6), ('identity', 0)], concat=range(1, 9)) 07/31 11:02:04 AM Args: Namespace(alpha=0, arch_lr=0.003, arch_wdecay=0.001, batch_size=256, beta=0.001, bptt=35, clip=0.25, continue_train=False, cuda=True, data='../data/penn/', dropout=0.75, dropoute=0, dropouth=0.25, dropouti=0.2, dropoutx=0.75, emsize=300, epochs=50, gpu=0, log_interval=50, lr=20, max_seq_len_delta=20, nhid=300, nhidlast=300, nonmono=5, save='search-EXP-20190731-110155', seed=3, single_gpu=True, small_batch_size=256, unrolled=True, wdecay=5e-07) 07/31 11:02:04 AM Model total parameters: 1813545 Traceback (most recent call last):   File "train_search.py", line 272, in <module>     train()   File "train_search.py", line 203, in train     hidden[s_id] = repackage_hidden(hidden[s_id])   File "/home/isucholu/darts/rnn/utils.py", line 12, in repackage_hidden     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in <genexpr>     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in repackage_hidden     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in <genexpr>     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in repackage_hidden     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in <genexpr>     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in repackage_hidden     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in <genexpr>     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/darts/rnn/utils.py", line 12, in repackage_hidden     return tuple(repackage_hidden(v) for v in h)   File "/home/isucholu/.local/lib/python3.5/site-packages/torch/tensor.py", line 422, in __iter__     raise TypeError('iteration over a 0-d tensor') TypeError: iteration over a 0-d tensor
For context, my training data consists of one word per line for ~100k lines.
Are there some changes I need to make to the parameters to run the search on my data?

I get the same error. I think the reason is the pytorch version. However, pytorth0.3.1 match cuda8.0. And My computer is ubuntu18.04.3，which can't install cuda8.0.

Do you try with torch.unsqueeze() ?
This function could change the dimention.

I encountered a similar problem when running with python 3.7, running with python 3.6 fixed the issue for me!

https://github.com/quark0/darts/blob/f276dd346a09ae3160f8e3aca5c7b193fda1da37/rnn/utils.py#L9-L13
For pytorch v1.5.0, replacing this piece of code solved the problem for me.
    if isinstance(h, torch.Tensor):
        return h.detach()
    else:
        return tuple(repackage_hidden(v) for v in h)


Remove target labels in the method comparison example

Hi everyone,
I open this PR to fix a little bug in the plot_method_comparison.py example. Target labels were given to the fit methods, they are now removed (cf. #83).
The reweighting method are still not working, but it should be resolved soon, with PR #90

Quick suggestion to what @rflamary said: return_dataset=True argument for make_shifted_dataset will give you dataset right away.

Ok, it now uses the return_dataset=True argument, then the dataset API


Upgrade to AWS SDK v3

I get messages about v2 nearing end of life. Make sure the CDK version I'm using uses SDK v3.

I don't think I'll be able to do this in backend/. I'm better off focusing on making backend-v2 good enough that I can take backend/ down.


Support for @RolesAllowed on the class level

I'm thinking maybe you should add @PermitAll also. Currently to get authentication with no authorization (using the AuthDynamicFeature), you need @PermitAll on each method. It would also make sense to add the class-level support. This is also consistent with how the RolesAllowedDynamicFeature is implemented.

@psamsotha Good point, thank you.
Added @PermitAll to the list of checked class-level annotations.

You are right. I replaced the unnecessarily general WebApplicationException in the tests

Thanks for the contribution!


fix ruamel.yaml on 0.14.X for now

Thank you for using ruamel.yaml.
There will be API changes in the 0.15+ versions, that might lead to warnings that
your users could see.
Therefore please release a version of your package with this change, so that it will not
automatically take the latest ruamel.yaml release.

Coverage remained the same at 48.002% when pulling e1cc8f8634b3524f0c51b77d425e69647f218151 on AvdN:master into 73e5b495fe1f9e0cf949bb43c21d00522c245412 on Parsely:master.

This has been replaced by #379.


MG+MIS Review - Peers

@KarenKarenWang @LesleyWheat
Hi there,
I got an extension to complete my MG/MIS for this Sunday night. Hopefully, I should be done sooner or later...

Here they are:

MG.pdf
MIS.pdf

Great, thank you both!


gRPC: vcpkg and NuGet packages

If we create a project in Visual Studio 2019 with NuGet packages Google.Protobuf (version 3.13.0) and Grpc.Core (version 2.30.0), can we overwrite \bin\x64\Debug\netcoreapp3.1\runtimes\win\native\grpc_csharp_ext.x64.dll with grpc_csharp_ext.dll (renamed as \grpc_csharp_ext.x64.dll) generated with vcpkg (grpc 1.29.1 and protobuf 3.12.3) and the triplet x64-windows? Which versions of vcpkg (grpc and protobuf) and the NuGet packages Google.Protobuf and Grpc.Core are compatible regarding grpc_csharp_ext.dll?
I have done that and I have the following error in Visual Studio:
Unhandled exception. System.IO.IOException: Error loading native library "C:\example\example\bin\x64\Debug\netcoreapp3.1\runtimes/win/native\grpc_csharp_ext.x64.dll".
   at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
   at Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary()
   at Grpc.Core.Internal.NativeExtension.LoadNativeMethods()
   at Grpc.Core.Internal.NativeExtension..ctor()
   at Grpc.Core.Internal.NativeExtension.Get()
   at Grpc.Core.Internal.NativeMethods.Get()
   at Grpc.Core.GrpcEnvironment.GrpcNativeInit()
   at Grpc.Core.GrpcEnvironment..ctor()
   at Grpc.Core.GrpcEnvironment.AddRef()
   at Grpc.Core.Server..ctor(IEnumerable`1 options)
   at Grpc.Core.Server..ctor()
   at GRPC_CSharpCSharpServer.GRPC_Server.Main(String[] args) in C:\example\example\GRPC_Server.cs:line 44

C:\example\example\bin\x64\Debug\netcoreapp3.1\example.exe (process 12844) exited with code -532462766.

@vicroms Can you please take a look?
Thanks.

@vicroms Can you please take a look?
Thanks.

See https://stackoverflow.com/questions/14711633/my-c-sharp-application-is-returning-0xe0434352-to-windows-task-scheduler-but-it


js/unawaited/await futures lint

my J enabled unawaited futures lint branch kept failing after we did bump flutter v 3.7.0, it broke :(. so decided to start over but I took all of your comments into account. I'm sorry that you have to view it again. thank you

The changes in this PR are delicate, which is why I tested:

meetup
transfer money
onboarding process
delete all accounts
changing network
changing community

And everything was ok.


Adding Community Detection App

Initial stab at adding the CommunityDetection App.  Currently, only the form generation exists with a local store to capture the form values.

I think you mentioned this in the meeting already -- but I would agree the reasonable approach would be to create a form render component and handler specific to each algorithm from that algorithms response from the cdaps server: http://cdservice.cytoscape.org/cd/communitydetection/v1/algorithms

I now have a first take on the onSubmit impl for the Run button.  There is no network sent in the post, but the response looks like the following.  What kind of file/data should I be sending to test that this works?  Here is what I am getting sans actual data in the request:
{"message": "Error requesting CommunityDetection",
"stackTrace": "com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4360)com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4205)",
"threadId": "15412",
"description": "No content to map due to end-of-input  at [Source: (String)""; line: 1, column: 0]",
"errorCode": null,
"timeStamp": "2023-01-24_14:22.55"}

Closing to resync upstream changes, will create PR to capture downstream additions.


ssh_keys only work if gid is provided

I get the following error.
Error executing action `create` on resource 'users_manage[sysadmin]'
================================================================================

Chef::Exceptions::GroupIDNotFound
---------------------------------
template[/home/jenkins/.ssh/authorized_keys] (/var/lib/monsoon/repos/eventticketing/jenkins/chef/cookbooks/users/providers/manage.rb line 121) had an error: Chef::Exceptions::GroupIDNotFound: cannot determine group id for 'jenkins', does the group exist on this system?

with the following user
{
  "id": "jenkins",
  "ssh_keys": "ssh-rsa AAAAB3NzaC1yc2EAAAAD...",
  "groups": ["sysadmin", "users"],
  "shell": "\/bin\/bash"
}

if i provide a gid it works. I think the problem is that the create only the group if the gid is provided.
See https://github.com/sethvargo-cookbooks/users/blob/master/providers/manage.rb#L86
Can we rewrite it to create the group every time and only use the gid if provided?

+1

Just curious here:
@rtrauntvein, @gimler - what platform were you guys working on?

I ran into the issue on SLES 11 SP3 here
Ubuntu worked fine

ok - makes sense.. Thanks!
At least I know the SUSE-specific PR is not as bad now  :D

Looks like this was fixed on master. Feel free to open it back up if I'm mistaken.


[elastalert] Add flag to use_ssl when connecting to elasticsearch

What this PR does / why we need it:
Use ssl connection when talking to a es server with tls enabled

/assign @scottrigby

@pickledrick @jertel

This is a duplicate of #4617 . Not sure what's holding that one up. @AlexRRR?

@jertel that one is ready to go, there was a camelcase issue I was asked to fix so it lost the lgtm label.

@AlexRRR your PR is failing CI (probably missing the newly required Charts.yaml "home" field), and it's falling behind which is causing merge conflicts with master, so the bot can't auto-merge. Since @gianrubio's  PR has the added benefit of detecting the config change I suggest closing your PR out in favor of this new one.

Pet peeve of mine, but should the parameter not be called use_tls instead? As it hope it's not actually using SSL anymore...

I agree with you @timstoop. use_tls is preferred.

Pet peeve of mine, but should the parameter not be called use_tls instead? As it hope it's not actually using SSL anymore...

I don't agree that use_tls it's the right parameter, the configuration parameter in ElastAlert is use_ssl so I'd prefer to follow their parameter

Camel case should be used.
useSsl

done

/ok-to-test

/assign

/lgtm


Adds handling for specialized generics.

Pull Request Checklist

[ ] New code has 100% test coverage
[ ] (If applicable) The prose documentation has been updated to reflect the changes introduced by this PR
[ ] (If applicable) The reference documentation has been updated to reflect the changes introduced by this PR
[ ] Pre-Commit Checks were ran and passed
[ ] Tests were ran and passed

Description

Close Issue(s)

Hey, I did some experimenting with some edge cases and thought might just be easier to PR this stuff in.


Added some computer science resources

Issue Addressed
https://github.com/DoonOnthon/SorcererCoderNet/issues/6
Proposed Changes
Added the following learning resource:
https://www.codecademy.com/learn/learn-python
https://www.geeksforgeeks.org/data-science-tutorial/

Thank you!


[BUG]

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
2024-08-08T12:45:41Z [App::OnStartup] Starting Bloxstrap v2.5.3
2024-08-08T12:45:41Z [App::OnStartup] Compiled Tuesday, 18 June 2024 at 9:39:08 AM from DESKTOP-FGF6DO8\User
2024-08-08T12:45:41Z [App::OnStartup] Loaded from %UserProfile%\AppData\Local\Bloxstrap\Bloxstrap.exe
2024-08-08T12:45:41Z [InstallChecker::FirstTimeRun] Running first-time install
2024-08-08T12:45:41Z [Logger::Initialize] Initializing at %UserProfile%\AppData\Local\Temp\Bloxstrap_20240808T124541Z.log
2024-08-08T12:45:41Z [Logger::Initialize] Finished initializing!
2024-08-08T12:45:41Z [JsonManager<Dictionary2>::Load] Loading from ClientSettings\ClientAppSettings.json... 2024-08-08T12:45:41Z [JsonManager<Dictionary2>::Load] Failed to load!
2024-08-08T12:45:41Z [JsonManager<Dictionary2>::Load] Could not find a part of the path '%UserProfile%\AppData\Local\Bloxstrap\ClientSettings\ClientAppSettings.json'. 2024-08-08T12:45:41Z [FastFlagManager::SetValue] Setting of 'FFlagHandleAltEnterFullscreenManually' to 'False' is pending 2024-08-08T12:45:41Z [FastFlagManager::SetValue] Setting of 'FLogNetwork' to '7' is pending 2024-08-08T12:45:41Z [FastFlagManager::SetValue] Setting of 'DFIntTaskSchedulerTargetFps' to '120' is pending 2024-08-08T12:45:42Z [MainWindow::MainWindow] Initializing menu 2024-08-08T12:46:41Z [BootstrapperIconEx::GetIcon] Failed to load custom icon! 2024-08-08T12:46:41Z [BootstrapperIconEx::GetIcon] System.ArgumentException: Empty path name is not legal. (Parameter 'path')    at System.IO.Strategies.FileStreamHelpers.ValidateArguments(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)    at System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)    at System.Drawing.Icon..ctor(String fileName)    at Bloxstrap.Extensions.BootstrapperIconEx.GetIcon(BootstrapperIcon icon) 2024-08-08T12:46:41Z [BootstrapperIconEx::GetIcon] Failed to load custom icon! 2024-08-08T12:46:41Z [BootstrapperIconEx::GetIcon] System.ArgumentException: Empty path name is not legal. (Parameter 'path')    at System.IO.Strategies.FileStreamHelpers.ValidateArguments(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)    at System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)    at System.Drawing.Icon..ctor(String fileName)    at Bloxstrap.Extensions.BootstrapperIconEx.GetIcon(BootstrapperIcon icon) 2024-08-08T12:46:58Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=True) 2024-08-08T12:46:58Z [HttpClientLoggingHandler::ProcessRequest] GET https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer/channel/LIVE 2024-08-08T12:46:59Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer/channel/LIVE 2024-08-08T12:46:59Z [RobloxDeployment::GetInfo] Getting extra information... 2024-08-08T12:46:59Z [DeployManager::DefaultBaseUrl.Set] Testing connection to 'https://setup.rbxcdn.com'... 2024-08-08T12:46:59Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version 2024-08-08T12:46:59Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version 2024-08-08T12:46:59Z [DeployManager::DefaultBaseUrl.Set] Connection successful! 2024-08-08T12:46:59Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxPkgManifest.txt 2024-08-08T12:46:59Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxPkgManifest.txt 2024-08-08T12:46:59Z [RobloxDeployment::GetInfo] https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxPkgManifest.txt - Last-Modified: Tue, 06 Aug 2024 17:38:46 GMT 2024-08-08T12:47:20Z [NotifyIconWrapper::NotifyIconWrapper] Initializing notification area icon 2024-08-08T12:47:20Z [App::OnStartup] Initializing bootstrapper 2024-08-08T12:47:20Z [App::OnStartup] Initializing bootstrapper dialog 2024-08-08T12:47:20Z [Bootstrapper::Run] Running bootstrapper 2024-08-08T12:47:20Z [Bootstrapper::Run] Performing connectivity check... 2024-08-08T12:47:20Z [Bootstrapper::SetStatus] Connecting to Roblox... 2024-08-08T12:47:20Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=False) 2024-08-08T12:47:20Z [RobloxDeployment::GetInfo] Deploy information is cached 2024-08-08T12:47:20Z [Bootstrapper::Run] Connectivity check finished 2024-08-08T12:47:20Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=False) 2024-08-08T12:47:20Z [RobloxDeployment::GetInfo] Deploy information is cached 2024-08-08T12:47:20Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxPkgManifest.txt 2024-08-08T12:47:20Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxPkgManifest.txt 2024-08-08T12:47:20Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxManifest.txt 2024-08-08T12:47:20Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-rbxManifest.txt 2024-08-08T12:47:20Z [Bootstrapper::SetStatus] Installing Roblox... 2024-08-08T12:47:20Z [Bootstrapper::DownloadPackage.RobloxApp.zip] Downloading... 2024-08-08T12:47:20Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-RobloxApp.zip 2024-08-08T12:47:20Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-RobloxApp.zip 2024-08-08T12:48:30Z [Bootstrapper::DownloadPackage.RobloxApp.zip] Finished downloading! (83843123 bytes total) 2024-08-08T12:48:30Z [Bootstrapper::ExtractPackage] Reading RobloxApp.zip... 2024-08-08T12:48:30Z [Bootstrapper::DownloadPackage.content-avatar.zip] Downloading... 2024-08-08T12:48:30Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-avatar.zip 2024-08-08T12:48:30Z [Bootstrapper::ExtractPackage] Read RobloxApp.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd... 2024-08-08T12:48:30Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-avatar.zip 2024-08-08T12:48:31Z [Bootstrapper::DownloadPackage.content-avatar.zip] Finished downloading! (402097 bytes total) 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Reading content-avatar.zip... 2024-08-08T12:48:31Z [Bootstrapper::DownloadPackage.content-configs.zip] Downloading... 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Read content-avatar.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\avatar\... 2024-08-08T12:48:31Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-configs.zip 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Finished extracting content-avatar.zip 2024-08-08T12:48:31Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-configs.zip 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Finished extracting RobloxApp.zip 2024-08-08T12:48:31Z [Bootstrapper::DownloadPackage.content-configs.zip] Finished downloading! (235542 bytes total) 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Reading content-configs.zip... 2024-08-08T12:48:31Z [Bootstrapper::DownloadPackage.content-fonts.zip] Downloading... 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Read content-configs.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\configs\... 2024-08-08T12:48:31Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-fonts.zip 2024-08-08T12:48:31Z [Bootstrapper::ExtractPackage] Finished extracting content-configs.zip 2024-08-08T12:48:31Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-fonts.zip 2024-08-08T12:48:37Z [Bootstrapper::DownloadPackage.content-fonts.zip] Finished downloading! (6005683 bytes total) 2024-08-08T12:48:37Z [Bootstrapper::ExtractPackage] Reading content-fonts.zip... 2024-08-08T12:48:37Z [Bootstrapper::ExtractPackage] Read content-fonts.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\fonts\... 2024-08-08T12:48:37Z [Bootstrapper::DownloadPackage.content-models.zip] Downloading... 2024-08-08T12:48:37Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-models.zip 2024-08-08T12:48:37Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-models.zip 2024-08-08T12:48:37Z [Bootstrapper::ExtractPackage] Finished extracting content-fonts.zip 2024-08-08T12:48:37Z [Bootstrapper::DownloadPackage.content-models.zip] Finished downloading! (488968 bytes total) 2024-08-08T12:48:37Z [Bootstrapper::ExtractPackage] Reading content-models.zip... 2024-08-08T12:48:37Z [Bootstrapper::ExtractPackage] Read content-models.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\models\... 2024-08-08T12:48:37Z [Bootstrapper::DownloadPackage.content-sky.zip] Downloading... 2024-08-08T12:48:37Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-sky.zip 2024-08-08T12:48:37Z [Bootstrapper::ExtractPackage] Finished extracting content-models.zip 2024-08-08T12:48:37Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-sky.zip 2024-08-08T12:48:39Z [Bootstrapper::DownloadPackage.content-sky.zip] Finished downloading! (2448711 bytes total) 2024-08-08T12:48:39Z [Bootstrapper::ExtractPackage] Reading content-sky.zip... 2024-08-08T12:48:39Z [Bootstrapper::DownloadPackage.content-sounds.zip] Downloading... 2024-08-08T12:48:39Z [Bootstrapper::ExtractPackage] Read content-sky.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\sky\... 2024-08-08T12:48:39Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-sounds.zip 2024-08-08T12:48:39Z [Bootstrapper::ExtractPackage] Finished extracting content-sky.zip 2024-08-08T12:48:39Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-sounds.zip 2024-08-08T12:48:39Z [Bootstrapper::DownloadPackage.content-sounds.zip] Finished downloading! (373629 bytes total) 2024-08-08T12:48:39Z [Bootstrapper::ExtractPackage] Reading content-sounds.zip... 2024-08-08T12:48:39Z [Bootstrapper::DownloadPackage.shaders.zip] Downloading... 2024-08-08T12:48:39Z [Bootstrapper::ExtractPackage] Read content-sounds.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\sounds\... 2024-08-08T12:48:39Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-shaders.zip 2024-08-08T12:48:39Z [Bootstrapper::ExtractPackage] Finished extracting content-sounds.zip 2024-08-08T12:48:40Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-shaders.zip 2024-08-08T12:48:48Z [Bootstrapper::DownloadPackage.shaders.zip] Finished downloading! (8807941 bytes total) 2024-08-08T12:48:48Z [Bootstrapper::ExtractPackage] Reading shaders.zip... 2024-08-08T12:48:48Z [Bootstrapper::DownloadPackage.ssl.zip] Downloading... 2024-08-08T12:48:48Z [Bootstrapper::ExtractPackage] Read shaders.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\shaders\... 2024-08-08T12:48:48Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-ssl.zip 2024-08-08T12:48:48Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-ssl.zip 2024-08-08T12:48:48Z [Bootstrapper::DownloadPackage.ssl.zip] Finished downloading! (132363 bytes total) 2024-08-08T12:48:48Z [Bootstrapper::ExtractPackage] Reading ssl.zip... 2024-08-08T12:48:48Z [Bootstrapper::DownloadPackage.content-textures2.zip] Downloading... 2024-08-08T12:48:48Z [Bootstrapper::ExtractPackage] Read ssl.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\ssl\... 2024-08-08T12:48:48Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-textures2.zip 2024-08-08T12:48:48Z [Bootstrapper::ExtractPackage] Finished extracting ssl.zip 2024-08-08T12:48:48Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-textures2.zip 2024-08-08T12:48:48Z [Bootstrapper::ExtractPackage] Finished extracting shaders.zip 2024-08-08T12:48:59Z [Bootstrapper::DownloadPackage.content-textures2.zip] Finished downloading! (10099249 bytes total) 2024-08-08T12:48:59Z [Bootstrapper::ExtractPackage] Reading content-textures2.zip... 2024-08-08T12:48:59Z [Bootstrapper::DownloadPackage.content-textures3.zip] Downloading... 2024-08-08T12:48:59Z [Bootstrapper::ExtractPackage] Read content-textures2.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\content\textures\... 2024-08-08T12:48:59Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-textures3.zip 2024-08-08T12:48:59Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-textures3.zip 2024-08-08T12:49:01Z [Bootstrapper::ExtractPackage] Finished extracting content-textures2.zip 2024-08-08T12:49:02Z [Bootstrapper::DownloadPackage.content-textures3.zip] Finished downloading! (3713218 bytes total) 2024-08-08T12:49:02Z [Bootstrapper::ExtractPackage] Reading content-textures3.zip... 2024-08-08T12:49:02Z [Bootstrapper::DownloadPackage.content-terrain.zip] Downloading... 2024-08-08T12:49:02Z [Bootstrapper::ExtractPackage] Read content-textures3.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\PlatformContent\pc\textures\... 2024-08-08T12:49:02Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-terrain.zip 2024-08-08T12:49:02Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-terrain.zip 2024-08-08T12:49:02Z [Bootstrapper::DownloadPackage.content-terrain.zip] Finished downloading! (3267 bytes total) 2024-08-08T12:49:02Z [Bootstrapper::ExtractPackage] Reading content-terrain.zip... 2024-08-08T12:49:02Z [Bootstrapper::ExtractPackage] Read content-terrain.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\PlatformContent\pc\terrain\... 2024-08-08T12:49:02Z [Bootstrapper::DownloadPackage.content-platform-fonts.zip] Downloading... 2024-08-08T12:49:02Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-platform-fonts.zip 2024-08-08T12:49:02Z [Bootstrapper::ExtractPackage] Finished extracting content-terrain.zip 2024-08-08T12:49:02Z [Bootstrapper::ExtractPackage] Finished extracting content-textures3.zip 2024-08-08T12:49:02Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-content-platform-fonts.zip 2024-08-08T12:49:13Z [Bootstrapper::DownloadPackage.content-platform-fonts.zip] Finished downloading! (13686751 bytes total) 2024-08-08T12:49:13Z [Bootstrapper::ExtractPackage] Reading content-platform-fonts.zip... 2024-08-08T12:49:13Z [Bootstrapper::ExtractPackage] Read content-platform-fonts.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\PlatformContent\pc\fonts\... 2024-08-08T12:49:13Z [Bootstrapper::DownloadPackage.extracontent-places.zip] Downloading... 2024-08-08T12:49:13Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-places.zip 2024-08-08T12:49:13Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-places.zip 2024-08-08T12:49:13Z [Bootstrapper::ExtractPackage] Finished extracting content-platform-fonts.zip 2024-08-08T12:49:14Z [Bootstrapper::DownloadPackage.extracontent-places.zip] Finished downloading! (1042079 bytes total) 2024-08-08T12:49:14Z [Bootstrapper::ExtractPackage] Reading extracontent-places.zip... 2024-08-08T12:49:14Z [Bootstrapper::DownloadPackage.extracontent-luapackages.zip] Downloading... 2024-08-08T12:49:14Z [Bootstrapper::ExtractPackage] Read extracontent-places.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\ExtraContent\places\... 2024-08-08T12:49:14Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-luapackages.zip 2024-08-08T12:49:14Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-places.zip 2024-08-08T12:49:14Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-luapackages.zip 2024-08-08T12:49:22Z [Bootstrapper::DownloadPackage.extracontent-luapackages.zip] Finished downloading! (9450554 bytes total) 2024-08-08T12:49:22Z [Bootstrapper::ExtractPackage] Reading extracontent-luapackages.zip... 2024-08-08T12:49:22Z [Bootstrapper::DownloadPackage.extracontent-translations.zip] Downloading... 2024-08-08T12:49:22Z [Bootstrapper::ExtractPackage] Read extracontent-luapackages.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\ExtraContent\LuaPackages\... 2024-08-08T12:49:22Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-translations.zip 2024-08-08T12:49:22Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-translations.zip 2024-08-08T12:49:22Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-luapackages.zip 2024-08-08T12:49:23Z [Bootstrapper::DownloadPackage.extracontent-translations.zip] Finished downloading! (422356 bytes total) 2024-08-08T12:49:23Z [Bootstrapper::ExtractPackage] Reading extracontent-translations.zip... 2024-08-08T12:49:23Z [Bootstrapper::DownloadPackage.extracontent-models.zip] Downloading... 2024-08-08T12:49:23Z [Bootstrapper::ExtractPackage] Read extracontent-translations.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\ExtraContent\translations\... 2024-08-08T12:49:23Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-models.zip 2024-08-08T12:49:23Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-translations.zip 2024-08-08T12:49:23Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-models.zip 2024-08-08T12:49:31Z [Bootstrapper::DownloadPackage.extracontent-models.zip] Finished downloading! (9485181 bytes total) 2024-08-08T12:49:31Z [Bootstrapper::ExtractPackage] Reading extracontent-models.zip... 2024-08-08T12:49:31Z [Bootstrapper::DownloadPackage.extracontent-textures.zip] Downloading... 2024-08-08T12:49:31Z [Bootstrapper::ExtractPackage] Read extracontent-models.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\ExtraContent\models\... 2024-08-08T12:49:31Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-textures.zip 2024-08-08T12:49:31Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-models.zip 2024-08-08T12:49:31Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-extracontent-textures.zip 2024-08-08T12:49:42Z [Bootstrapper::DownloadPackage.extracontent-textures.zip] Finished downloading! (14206859 bytes total) 2024-08-08T12:49:42Z [Bootstrapper::ExtractPackage] Reading extracontent-textures.zip... 2024-08-08T12:49:42Z [Bootstrapper::ExtractPackage] Read extracontent-textures.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd\ExtraContent\textures\... 2024-08-08T12:49:42Z [Bootstrapper::DownloadPackage.WebView2.zip] Downloading... 2024-08-08T12:49:42Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-WebView2.zip 2024-08-08T12:49:42Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-WebView2.zip 2024-08-08T12:49:42Z [Bootstrapper::DownloadPackage.WebView2.zip] Finished downloading! (81240 bytes total) 2024-08-08T12:49:42Z [Bootstrapper::ExtractPackage] Reading WebView2.zip... 2024-08-08T12:49:42Z [Bootstrapper::DownloadPackage.WebView2RuntimeInstaller.zip] Downloading... 2024-08-08T12:49:42Z [Bootstrapper::ExtractPackage] Read WebView2.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-6fdcfe060c6440cd... 2024-08-08T12:49:42Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-6fdcfe060c6440cd-WebView2RuntimeInstaller.zip 2024-08-08T12:49:42Z [Bootstrapper::ExtractPackage] Finished extracting WebView2.zip 2024-08-08T12:49:42Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-6fdcfe060c6440cd-WebView2RuntimeInstaller.zip 2024-08-08T12:49:43Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-textures.zip 2024-08-08T12:49:44Z [Bootstrapper::DownloadPackage.WebView2RuntimeInstaller.zip] Finished downloading! (1486447 bytes total) 2024-08-08T12:49:45Z [Bootstrapper::SetStatus] Configuring Roblox... 2024-08-08T12:49:45Z [Bootstrapper::InstallLatestVersion] Writing AppSettings.xml... 2024-08-08T12:49:45Z [JsonManager<Dictionary2>::Save] Saving to %UserProfile%\AppData\Local\Bloxstrap\Modifications\ClientSettings\ClientAppSettings.json...
2024-08-08T12:49:45Z [JsonManager<Dictionary`2>::Save] Save complete!
2024-08-08T12:49:45Z [Bootstrapper::SetStatus] Applying Roblox modifications...
2024-08-08T12:49:45Z [Bootstrapper::ApplyModifications] Checking executable flags...
2024-08-08T12:49:45Z [Bootstrapper::ApplyModifications] Checking file mods...
2024-08-08T12:49:45Z [Bootstrapper::CheckModPreset.Sounds.OldDeath.ogg] Writing 'content\sounds\ouch.ogg' as preset is enabled, and mod file does not exist or does not match preset
2024-08-08T12:49:45Z [Bootstrapper::ApplyModifications] ClientSettings\ClientAppSettings.json has been copied to the version folder
2024-08-08T12:49:45Z [Bootstrapper::ApplyModifications] content\sounds\ouch.ogg has been copied to the version folder
2024-08-08T12:49:45Z [JsonManager::Save] Saving to %UserProfile%\AppData\Local\Bloxstrap\State.json...
2024-08-08T12:49:45Z [JsonManager::Save] Save complete!
2024-08-08T12:49:45Z [Bootstrapper::ApplyModifications] Finished checking file mods
2024-08-08T12:49:45Z [Bootstrapper::Register] Registered application
2024-08-08T12:49:45Z [Bootstrapper::RegisterProgramSize] Registering approximate program size...
2024-08-08T12:49:45Z [Bootstrapper::RegisterProgramSize] Registered as 432828 KB
2024-08-08T12:49:45Z [Bootstrapper::CheckInstall] Checking install
2024-08-08T12:49:45Z [App::OnStartup] Bootstrapper task has finished
2024-08-08T12:49:45Z [NotifyIconWrapper::Dispose] Disposing NotifyIcon
2024-08-08T12:49:45Z [App::OnStartup] An exception occurred when running the bootstrapper
2024-08-08T12:49:45Z [App::OnStartup] System.AggregateException: One or more errors occurred. (Access to the path '%UserProfile%\AppData\Local\Bloxstrap\Bloxstrap.exe' is denied.)
---> System.UnauthorizedAccessException: Access to the path '%UserProfile%\AppData\Local\Bloxstrap\Bloxstrap.exe' is denied.
at System.IO.FileSystem.DeleteFile(String fullPath)
at System.IO.File.Delete(String path)
at Bloxstrap.Bootstrapper.CheckInstall()
at Bloxstrap.Bootstrapper.Run()
at Bloxstrap.Bootstrapper.Run()
at Bloxstrap.App.<>c__DisplayClass56_0.<b__1>d.MoveNext()
--- End of inner exception stack trace ---

that sucks


Show correct CDN ID in Changelog

The Changelog contains informative data to help with review and audit of actions that have been taken. However the CDN ID that is recorded when a CDN snapshot is performed always reads "0". This PR addresses this bug by ensuring the correct ID is displayed in the Changelog.

What does this PR (Pull Request) do?

[X] This PR fixes #5195

Which Traffic Control components are affected by this PR?

Traffic Ops
Traffic Portal

This bug fix addresses what should have been a previously functional changelog statement. There are no references to specific or direct entries in the changelog in documentation, especially since it's subject to change.
What is the best way to verify this PR?

~While I like to think I'm the first to promote automated tests, I believe the effort to add unit tests here would outweigh and overshadow the bug fix itself. Instituting automated tests to validate a text string for a log entry would require a somewhat significant undertaking, mocking at least a dozen DB calls to fake a snapshot, potential refactors, accounting for both current and deprecated paths, etc., would lead to fragile tests to ensure a string that is subject to change is correct.~
EDIT I've since added a check in the tests for one of the existing unit tests to ensure the ID value is validated as well as the previous implementations checking for errors.
Manual Testing can be performed to verify the fix.

Through the Traffic Portal, select CDNs from the menu
Select a CDN from the table
2a. If none exist, create a CDN with +

Note the ID value in the URL (2 in this case): https://localhost:9090/#!/cdns/2

Click the button labeled "Diff CDN Config Snapshot"
Click the button labeled "Perform Snapshot"
In the popup alert, click "Yes" to perform snapshot
Verify the ID is correct in the Changelog entry (The URL will be something like: https://localhost:9090/#!/change-logs)
6a. The entry should contain the correct ID as noted from above

CDN: cdn-name, ID: 2, ACTION: Snapshot of CRConfig and Monitor
-------------------^
If this is a bug fix, what versions of Traffic Control are affected?

master (9597ead3)

The following criteria are ALL met by this PR

[X] This PR includes tests OR I have explained why tests are unnecessary
[X] This PR includes documentation OR I have explained why documentation is unnecessary
[X] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[X] This PR includes any and all required license headers
[X] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Additional Information

I'm gonna re-run the CiaB check, might've just timed out due to ephemeral conditions.

The code changes look good. I also tested and verified manually that we can see the CDN ID in the TP changelog msgs now.
The only change I'm requesting is adding some tests around this functionality. I know the actual method that writes the changelog doesn't return anything so its difficult to write tests for it. However, maybe we could add a test for the GetCDNIDFromName method, and make sure we hit a cse where we get back a valid CDN ID, and another case where we get an error instead.

On a closer look, it appears that we do have a test for the GetCDNIDFromName function, but its not testing the CDN ID in there. So maybe you could just add that part.

@srijeet0406 I've added checks for the ID value within the existing unit tests for GetCDNIDFromName.


Lack of dependence

Hi Artem. Can you share the robustgp_experiments package?

Hi @Corleno,
Thanks for brining this up. It is a bug, it should have been robustgp.robustgp_experiments instead. I will fix it soon.
PS: CGLB model is a part of the GPflow family now: https://github.com/GPflow/GPflow/pull/1706. You can check it by installing the GPflow (from source for now)


Showing all the boons even though i have no boons.

I have checked the box for it to show only during combat. Once I get in combat, all the boons in the grid is showing up even though I don't have any boons. I don't think it is reading what boons I have.

Check your configuration, you need to make sure that at 0 stacks it is set to Alpha 0 (Transparent) while at anything above 0 will show the icon

The default settings currently do not show boons if you have you have them. You can take my options as a starting point.
Replace the existing file in <GW2>/addons/gw2clarity.
(Extract the zip into that folder, i am not allowed to upload json files directly)
config.zip


[chore] Update setup prerequisite card css

Notes for Reviewers
This PR updates the SetupPreReq Card component's CSS to have flex: 1 property.

Signed commits

[x] Yes, I signed my commits.

Thank you! Clarification: this means that if only two cards are present, they will split the landscape 50/50, right? And if only one is present, it will consume 100% of the width, right? @dragon-slayer875

Yes sir. Exactly that.


Update the Doris park connector version description to 1.3.0

Proposed changes
Issue Number: close #27995

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

@LemonLiTree
review code


"nvcc fatal" error with cmake option CUDA_SEPARABLE_COMPILATION

I am compiling DLib on a KUbuntu 20.04 system with an RTX2070, CUDA 11.5 and CUdnn 8
Software:
g++ 9.3.0-17 (Ubuntu 20.04)
dlib: cloned from github 4/3/2022
uname -a: 5.13.0-30-generic #33~20.04.1-Ubuntu SMP Mon Feb 7 14:25:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Expected Behavior
The option "compile CUDA objects with separate compilation enabled" requires CUDA version >= 5, so should work in this case.
Current Behavior
With the option set to OFF, it compiles.
With the option set to ON, compilation exits with the message
[  1%] Building NVCC (Device) object dlib/CMakeFiles/dlib.dir/cuda/dlib_generated_cusolver_dlibapi.cu.o
[  2%] Building NVCC (Device) object dlib/CMakeFiles/dlib.dir/cuda/dlib_generated_cuda_dlib.cu.o
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[  4%] Building NVCC intermediate link file dlib/CMakeFiles/dlib.dir/dlib_intermediate_link.o
nvcc fatal   : Unknown option '-gencode arch=compute_50,code=[sm_50,compute_50]'
make[2]: *** [dlib/CMakeFiles/dlib.dir/build.make:1241: dlib/CMakeFiles/dlib.dir/dlib_intermediate_link.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:97: dlib/CMakeFiles/dlib.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Steps to Reproduce

download dlib: git clone https://github.com/davisking/dlib.git
cd dlib/examples && mkdir build && cd build
cmake .. -DDLIB_USE_CUDA=1; ccmake ..
[t]oggle 'advanced', change the option named above (just hit enter)
[c]onfigure, [g]enerate
make -j6
gives the error.

Repeating 4, 5, 6 (so with the option to OFF again) results in full compilation.
According to
https://developer.nvidia.com/blog/separate-compilation-linking-cuda-device-code
it's better to do use separate compilation/linking so I was wondering if there is a way to enable it.

You will have to edit the cmake scripts to do this I expect.
On Fri, Mar 4, 2022 at 10:16 AM amwink @.***> wrote:

I am compiling DLib on a KUbuntu 20.04 system with an RTX2070, CUDA 11.5
and CUdnn 8
Software:
g++ 9.3.0-17 (Ubuntu 20.04)
dlib: cloned from github 4/3/2022
uname -a: 5.13.0-30-generic #33
https://github.com/davisking/dlib/pull/33~20.04.1-Ubuntu SMP Mon Feb 7
14:25:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Expected Behavior
The option "compile CUDA objects with separate compilation enabled"
requires CUDA version >= 5, so should work in this case.
Current Behavior
With the option set to OFF, it compiles.
With the option set to ON, compilation exits with the message
[  1%] Building NVCC (Device) object dlib/CMakeFiles/dlib.dir/cuda/dlib_generated_cusolver_dlibapi.cu.o
[  2%] Building NVCC (Device) object dlib/CMakeFiles/dlib.dir/cuda/dlib_generated_cuda_dlib.cu.o
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[  4%] Building NVCC intermediate link file dlib/CMakeFiles/dlib.dir/dlib_intermediate_link.o
nvcc fatal   : Unknown option '-gencode arch=compute_50,code=[sm_50,compute_50]'
make[2]: *** [dlib/CMakeFiles/dlib.dir/build.make:1241: dlib/CMakeFiles/dlib.dir/dlib_intermediate_link.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:97: dlib/CMakeFiles/dlib.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Steps to Reproduce

download dlib git clone https://github.com/davisking/dlib.git
cd dlib/dlib/examples; mkdir build && cd build
ccmake ..
[t]oggle 'advanced', change the option named above (just hit enter)
[c]onfigure, [g]enerate
make -j4
gives the error.

Repeating 4, 5, 6 (so with the option to OFF again) results in full
compilation.
According to
https://developer.nvidia.com/blog/separate-compilation-linking-cuda-device-code
it's better to do use separate compilation/linking so I was wondering if
there is a way to enable it.
—
Reply to this email directly, view it on GitHub
https://github.com/davisking/dlib/issues/2536, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPYFR3EFAUAF2VLB6DOG7LU6ISOHANCNFSM5P5Z6NVQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks! Does it mean that the card is too old (because of the warnings ('compute_50 is deprecated' etc) for cudnn8?

Thanks! Does it mean that the card is too old (because of the warnings ('compute_50 is deprecated' etc) for cudnn8?

No, that's a different thing, to get rid of the warning, you can define -DDLIB_USE_CUDA_COMPUTE_CAPABILITIES=75, which card specific. Note that you need dlib 19.23 to be able to set that.


json query sort and filter

Hi,
This branch is about json query sort/filter for jsonpath_rw
I have already created a seprate library for that,
but would like your opinion about have it into the main lib.
Cheers,

This is very cool, thanks!

It appears this has stalled, but it's not clear why: Anything we can do to move this along?

It doesn't work if you are filtering dict, not list. Not sure should it do this by "standart", but http://jsonpath.com/ does.

This feature is really useful, great work @sileht
I think you could merge this and fix pending issues after merged, or maybe merge to a separate branch and evolve that branch instead
my 2 cents


Add option to hash BrowserID usernames

If there's a config option in the browserid called hash_secret, usernames become a hash of the BrowserID email, with hash_secret as salt. If hash_secret doesn't exist - it works just like before (username is the BrowserID email address).

Those are all excellent points.
Is the following statement true?
If users trust each other with a common _users database, then they
trust each other with a common salt.
I wonder if we could exploit that. Somehow copy the salt value (and
while I'm at it, maybe a version of the implementation, for when we
switch to SHA256 or whatever).
Another thought is that each application has different needs. It might
be acceptable for some applications to use no salt (or at least a
hard-coded salt, so you can't yet just google the sha1 sums, at least
until couch becomes ubiquitous).
But I think you are right, BrowserID is optimized for applications
where people participate mostly using their real names.
On Wed, Dec 7, 2011 at 1:50 AM, Nimrod S. Kerrett
<EMAIL_ADDRESS>wrote:

Plain unseeded Sha1sum has the gravatar vulnerability: if you have a guess, it's simple and computationally cheap to verify (even without rainbow tables).
It's not necessarily a problem when _users can't be replicated. In some situations it can even be an advantage: For example you can open two browser tabs at mingle1 and mingle2 (with the same BrowserID credentials) and join the same conversations as two different identities.
If you have some other app where you do want consistency across servers (and maybe even the ability to sync _users), the best way to achieve this would be by implementing an OpenID plugin, and there are many reasons to do so anyway (e.g. blackout resilience).
Server-specific BrowserID hashing started as a compromise out of necessity (the mix between CouchApp's total transparency and BrowserID's choice of email as id is a privacy hazard otherwise). However - the side effect of "the unbearable lightness of trolling" turns out to be a promising feature [IMHO].
If/when I start working on the OpenID plugin, I believe I'll add an option to hash the id (although OpenID doesn't really require this): it's hell for data miners, and for some applications - this is a blessing ;)

Reply to this email directly or view it on GitHub:
https://github.com/iriscouch/browserid_couchdb/pull/2#issuecomment-3036755

--
Iris Couch

Been pondering all this for a bit. First, it's a great discussion and
I'm glad it's finally being had in the "couch world." Second, I think
there's a number of topics here that are all intermingled and would
likely best be solved by a buffet of configuration options. :)
I would like to continue this conversation further (as we do have a
tangle of ideas and options on the table, and I'm afraid we may miss the
forest...), so what do you two think about moving this discussion to the
CouchDB mailing list?
BrowserID's long term goal (afaik) is to have e-mail providers do the
e-mail verifications. If you wanted a layer of privacy on top of that,
you'd need to use the Gravatar "hack" demoed above by TheDod. BrowserID
seems to punt on anonymity leaving that to the address owner (i.e., if I
don't want you to connect my activities between two sites, I shouldn't
use the same e-mail address to log into them).
At any rate, I do think another venue is better, and I am very
interested in knowing more about why OpenID is a better solution than
BrowserID from a privacy as well as security perspective.
Thanks again for kicking this off, TheDod. See you both 'round the
Interwebz.

BrowserID seems to punt on anonymity leaving that to the address owner (i.e., if I don't want you to connect my activities between two sites, I shouldn't use the same e-mail address to log into them).

It wouldn't work (unless the end user is tricky). BrowserID, as a single-sign-on (SSO) service won't let you be logged in at the same time as different ids (email addresses) in different browser tabs.
OpenID is an SSO too, but there are many providers, so I can have an SSO environment as gay, another one as a cancer patient, etc.
If I understand correctly, even in the future (when BrowserID plans to allow for non-mozilla identity providers), an end user has a single identity [at least simultaneously] all over the BrowserID world. The way I see it, this violates tho basic human right to troll :)

I would like to continue this conversation further (as we do have a tangle of ideas and options on the table, and I'm afraid we may miss the forest...), so what do you two think about moving this discussion to the CouchDB mailing list?

Maybe I'll join it mid January (traveling at the moment and don't want to bum-rush my mailbox).
If you feel like raising the identity issue at the mailing list before I'm back, I've written some text about it, and people are welcome to contact me  via github messaging or here.
Maybe we can try and discuss this via mingle itself ;)


What is the purpose of init?(_ map: Map) in Mappable

Hi, I'm struggling to understand what is the purpose of the method init?(_ map: Map) declared on Mappable. All examples on README have an empty implementation. Can you please clarify?

The init method is necessary so that ObjectMapper can create an instance of the object it is trying to map. It also allows you to do some validation before mapping. If a certain key that you need doesn't exist you can return nil from init?(_ map: Map) and the mapping will not happen.

This should definitely be noted in the documentation (README.md)!

Out of interest why is there an init and a mapping function? Can the failable initialiser not be used for both purposes?

@eoinoconnell The mapping could technically occur within the init function, but if we took that approach we would lose the ability write JSON and to map JSON to an existing object.

OK cool, valid point. Thanks!

The readme has now been updated with the information above


Crash HttpSM::setup_cache_write_transfer while handling redirect

We're seeing a crash related to an interaction between cache and handling redirects:
#0  0x0000000000587c7d in HttpSM::setup_cache_write_transfer (name=0x8e1ab5 "cache write", skip_bytes=1395, store_info=0x7fa31d298180, source_vc=0x7fadc0aedc90, c_sm=0x7fa31d29a430, this=0x7fa31d298000)
    at /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0/src/proxy/http/HttpSM.cc:6770
#1  HttpSM::perform_cache_write_action (this=this@entry=0x7fa31d298000) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0/src/proxy/http/HttpSM.cc:6425
#2  0x000000000059d25e in HttpSM::handle_api_return (this=0x7fa31d298000) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0/src/proxy/http/HttpSM.cc:1630
#3  0x000000000059731e in HttpSM::state_api_callout (this=0x7fa31d298000, event=<optimized out>) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0/src/proxy/http/HttpSM.cc:1491
#4  0x000000000059e4a6 in HttpSM::state_api_callback (this=this@entry=0x7fa31d298000, event=event@entry=60000, data=data@entry=0x0)
    at /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0/src/proxy/http/HttpSM.cc:1295
#5  0x00007fadce570813 in TSHttpTxnReenable (txnp=0x7fa31d298000, event=TS_EVENT_HTTP_CONTINUE) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0/src/api/InkAPI.cc:4935
#6  0x00007fac5029cc76 in ?? ()
#7  0x00007fa31d298000 in ?? ()
#8  0x00007fa81fcac1c0 in ?? ()
#9  0x0000000000000000 in ?? ()

Some interesting variables @JosiahWI asked me to look at:
(gdb) p t_state.redirect_info.redirect_in_process
$1 = true

(gdb) f 1
(gdb) p t_state.cache_info.action
$2 = HttpTransact::CACHE_DO_WRITE

(gdb) p t_state.cache_info.write_lock_state
$1 = HttpTransact::CACHE_WL_SUCCESS

This is likely related to: https://github.com/apache/trafficserver/pull/11542

cache_sm->cache_write_vc == nullptr

I've studied the code and written an AuTest to attempt a reproduction (not successful yet).
Investigation

We do, at some point prior to deciding to execute the write, open a cache write connection. This is because it's not possible to have a CACHE_WL_SUCCESS state unless that happens, and that is the precondition for deciding to do a write instead of open a new connection when a redirected request gets a response.
As @bryancall discovered, the connection we opened has vanished when we attempt the write. There are two places where we set the cache_write_vc to nullptr because we moved ownership to another object, and one where we initialize it and it could become nullptr if that's what it was initialized with.

Reproduction Ideas
It's not particularly straightforward to reproduce given what we know so far. My first attempt was to force a redirection using the escalate plugin. This mirrors how we think the crash we observed starts. The escalate plugin overrides all the redirection configuration, and I wanted to make sure the timing of the state change on the plugin's hook wasn't the cause of the issue. There were no issues with this setup and it works exactly as expected.
My conclusion from all this is that something special needs to happen during the redirection, interfering with it and getting rid of the cache write VC while the redirection request or response is being processed. In the crash we're seeing this is very likely initiated by another plugin on one of the request hooks. I suspect this may also be timing dependent.

Attaching the gdb output of the HttpSM history variable:
history.txt


Rebase and Cherry-pick commands

Is there a reason these two aren't included in this library? They would be very helpful, even if you don't use them all the time.

I saw someone started working on a rebase command in #101

yea I'm looking for this as well

+1

+1 :+1:

+1

Damned stupid bot. We are looking for this, stop clause human's issues. Reopen it immediately.

@cabello do you have a fork with the rebase command implemented please?

@zedtux we don't have any, we ended up using system commands for example:
Dir.chdir(project_dir) do
  system("git remote add origin #{github_clone_url(repository_name)}")
  system("git checkout -b #{branch_name}")
  system("git add .")
  system("git commit -m \"Create #{name}\"")
  system("git push origin #{branch_name}")
end

Make sense, thank you @cabello 👍


[EventHubs] Streaming Producer Preview

cross team consensus on the api skeleton

team discussion first
design proposal, review by arch

investigation before: https://gist.github.com/yunhaoling/c0c812747a9a73264d0c22f09281dc1c

ship a preview if time/resourcing allows
idempotent producer feature is an on-going discussion

goals:

api for preview
implementation
optional, preview release

https://apiview.dev/Assemblies/Review/58dd36ca07c14a27b93a1003d5595813
https://gist.github.com/yunhaoling/e77dbed3b7bcc8f8c981b3e7a0043582


Could this tool be extended to include models outside of OpenAI?

I am thinking about trying out models from Anthropic and MistralAI on this tool as well. Given how similar the model APIs are between these companies. Could this be easily achieved on this tool?

Hello @TiansuYu, the providers supported out-of-the box are OpenAI and Azure. However, it should require only a small  code modification to add other providers, given that the the API are the same (with just a different base endpoint)...
I add this suggestion to my "to to list when I find time/motivation" :)
In the meantime, you can try to set the environment variable OPENAI_BASE_ENDPOINT to the base endpoint of Anthropic/Mistral. Also set your API key provided by one of those supplier. If the API interface is exactly the same as OpenAI, in theory, it should work. Let me know if it is the case...

I will experiment around it. Open a PR if my time permits. 😄

Draft PR https://github.com/marcolardera/chatgpt-cli/pull/71
Seems API KEY loading is not working as intended, needs some further work on this.

Some general comments on how to refactor this repo:

Set a Config class responsible for resolving config vars from various places. (Currently, it is bit of a mess.)
Set an abstract Model class for main method to call Model.prompt, resolve to different Model implementations based on supplier.


Also report Cask coverage.

Not actually sure if this is even possible with the current setup, so I might need some help with this.

Not actually sure if this is even possible with the current setup, so I might need some help with this.

I think it's not; pretty sure Coveralls will only take a single test run's worth of coverage so to get this reporting again we'll need to make brew cask-tests part of brew tests and report a single coverage figure for everything.

Nice, it's working now!

@reitermarkus Reporting both?

Yes, just rebased so this will take a while again to show up.

Looks like it's covering a bunch of stuff it wasn't before too 🎉

Looks good to me (particularly the numbers 😍) but will let @UniqMartin give this a once over as he's worked on this coverage stuff in the past for us.

@UniqMartin, feel free to merge this if you don't have any objections.


Stack overflow on Windows when Application::Message gets sent

Hi,
I cannot manage to find out what causes this stack overflow on my application.
Users on Windows reported this to me. I'm developing on Linux and everything works fine.
Depending on whether I build a dev or prod build, the stack overflow happens on different positions.
This is the line that starts causing a stack overflow with a dev build:
https://github.com/Tarnadas/smmdb-client/blob/56b7f9bb987b1c18b22b3939942d2f15e6bb2de0/src/app.rs#L117
It is when the Application::Message gets queried.
You can add a dbg! macro right before that message and it will be displayed, but afterwards the application crashes.
What I tried is increasing the stack size by adding this .cargo/config:
[build]
rustflags = ["-Clink-args=-Wl,-zstack-size=134217728"]

But unfortunately this doesn't fix the issue.
I also tried boxing the query_params, so that they get heap allocated, but no success either.

Do you think this is an issue with the library? In that case, I believe the first step here would be to work on an SSCCE.

It was an error on my side and the huge stack allocated object did not come from iced.


Added EM iterations to repair process, allow multiple init values, and select best init value as current via co-occurrence probability

This PR introduces EM iterations to the repair process where after every iteration as well as supporting multiple init values:

created separate column for init values (1 or more) and current value (singular value, old 'init_value')
all featurizers have been changed to reference current_value and renamed from e.g. InitFeaturizer to CurrentFeaturizer
update current_values in cell_domain with inferred values from inf_vals_dom
re-run featurization + training + inference with new current_values (featurizers such as CurrentAttrFeaturizer or CurrentXFeaturizer) can take advantage of the updated current values
fixed a bug in InitSimFeaturizer where it wasn't computing the similarity metrics correctly between the init_value and values in the domain
fixed a bug where we weren't properly detecting NULL values in NullDetector

I've tested this with 3 iterations with the hospital dataset. On the second iteration we see an improvement in recall (with a slight hit to precision) due to the increased number of repairs made. It seems to converge after the 2nd iteration.
INFO:root:Precision = 1.00, Recall = 0.43, Repairing Recall = 0.48, F1 = 0.60, Repairing F1 = 0.65, Detected Errors = 458, Total Errors = 509, Correct Repairs = 219, Total Repairs = 219, Total Repairs (clean data) = 219

INFO:root:Precision = 1.00, Recall = 0.44, Repairing Recall = 0.48, F1 = 0.61, Repairing F1 = 0.65, Detected Errors = 458, Total Errors = 509, Correct Repairs = 222, Total Repairs = 222, Total Repairs (clean data) = 222

INFO:root:Precision = 1.00, Recall = 0.44, Repairing Recall = 0.48, F1 = 0.61, Repairing F1 = 0.65, Detected Errors = 458, Total Errors = 509, Correct Repairs = 222, Total Repairs = 222, Total Repairs (clean data) = 222

NB: this PR does not currently include the detection process in the EM iterations: this might be worth considering.

How on earth is F1 > 1.0? See repairing F1

Pushed up a patch to update single/co-occur stats for OccurFeaturizer. Interestingly enough for the second iteration our recall goes up but our precision goes down (since we are doing more repairs):
// After iteration 1
INFO:root:Precision = 0.93, Recall = 0.68, Repairing Recall = 0.76, F1 = 0.79, Repairing F1 = 0.84, Detected Errors = 458, Total Errors = 509, Correct Repairs = 347, Total Repairs = 372, Total Repairs (clean data) = 372

// After iteration 2
INFO:root:Precision = 0.89, Recall = 0.71, Repairing Recall = 0.79, F1 = 0.79, Repairing F1 = 0.83, Detected Errors = 458, Total Errors = 509, Correct Repairs = 361, Total Repairs = 407, Total Repairs (clean data) = 407

I attempted to do more iterations but there is an issue with how we use Pools where we allocate a new pool of workers every time. I'll fix this in a separate PR.

@thodrek I forgot to update current_value to init_values for total_repairs_clean. I've since fixed it (https://github.com/HoloClean/holoclean/blob/32ae5efc567dcf839d4310a87e81a71ee002b9d0/evaluate/eval.py#L164).

Sounds good.

Newest results with this patch with fix to InitAttrFeaturizer (now called CurrentAttrFeaturizer
INFO:root:Precision = 1.00, Recall = 0.43, Repairing Recall = 0.48, F1 = 0.60, Repairing F1 = 0.65, Detected Errors = 458, Total Errors = 509, Correct Repairs = 219, Total Repairs = 219, Total Repairs (clean data) = 219

INFO:root:Precision = 1.00, Recall = 0.44, Repairing Recall = 0.48, F1 = 0.61, Repairing F1 = 0.65, Detected Errors = 458, Total Errors = 509, Correct Repairs = 222, Total Repairs = 222, Total Repairs (clean data) = 222

INFO:root:Precision = 1.00, Recall = 0.44, Repairing Recall = 0.48, F1 = 0.61, Repairing F1 = 0.65, Detected Errors = 458, Total Errors = 509, Correct Repairs = 222, Total Repairs = 222, Total Repairs (clean data) = 222

Latest changes:

multiple initial values in raw dataset (values separated by '|||') work now
current_stats=True will enable statistics to be re-collected on new current values after each EM iteration

Ready for another review 👀