RFP - tl:dr for Windows

Checklist

[x] The package I am requesting does not already exist on https://chocolatey.org/packages;
[x] There is no open issue for this package;
[x] The issue title starts 'RFP - ';
[x] The download URL is public and not locked behind a paywall / login;
Package Details
Software project URL : See https://github.com/tldr-pages/tldr
Direct download URL for the software / installer : See https://github.com/tldr-pages/tldr
Software summary / short description:

TL;DR is an index of command descriptions and examples that gets to the point, details see here:
https://github.com/tldr-pages/tldr
See below comment - the Python version would the best one to package up and make available for Chocolatey users.

Researching

@StewAlexanderACC
can you please update the issue with the RFM template, and provide the all the details mentioned in that? Thanks

@AdmiringWorm
My pleasure, where is this form you speak of?

-->
Checklist

[ x] The package I am requesting does not already exist on https://chocolatey.org/packages;
[x ] There is no open issue for this package;
[x ] The issue title starts 'RFP - ';
[N/A ] The download URL is public and not locked behind a paywall / login;

Package Details
Software project URL : none, needs to be made
Direct download URL for the software / installer : N/A
Software summary / short description:
TL;DR is a index of command descriptions that gets to the point, details see here:
https://github.com/tldr-pages/tldr

Using Gerhkin Acceptance Criteria:
Scenario — Individual wants a concise description and example of a command
Given —  A need to lookup concise information and or find a specific command for a process
When —  They type tldr  at a prompt
Then — Collects the specific tldr command information here: https://github.com/tldr-pages/tldr/tree/master/pages/windows
And —  Presents this information in a concise way to either the command line, and or application screen

Is this:

A request to create tldr pages for Chocolatey on the tldr GH repo? Or
A request to create a package that ends up with a working tldr command on Windows?

@pauby #2 specifically - chocolatey commands are already in the repo (see here:https://github.com/tldr-pages/tldr/tree/master/pages/windows)

@StewAlexanderACC Thanks for clarifying that. As soon as you have updated the template in the original message we can make this available.

@pauby Updated I believe

@StewAlexanderACC just so everything will be clear (at least to me), what you are asking about is someone to package one of the clients located in the README? (https://github.com/tldr-pages/tldr#clients)
If so, I would suggest that you mention which one of them you would prefer (if any).

@AdmiringWorm
The bash client won't work natively in the WIndows command line, but if it was ported then that is what I am talking about
So for instance if someone took the time to port the https://github.com/raylee/tldr client to windows, well that would answer the requirements
Or, build it from scratch using the above as a template, either way it answers my request, thanks

@AdmiringWorm
Actually since this already works with python, it may be easier to just package this: https://github.com/lord63/tldr.py
With python being installed as a dependency

@AdmiringWorm all those packages you mention are essentially equal on the front-end (back-end is probably quite different), so whichever is easiest to package, personally I would bet the python package is easiest

@StewAlexanderACC Just so we're on the same page. This request is to create a Chocolatey package for tldr. It's not a request to create a new way for tldr to run on Windows. That might already be clear in your head, I just wanted to make sure we are all on the same page.
There have been a few suggestions and most of them sound like they are requesting a new way for tldr to run (as @AdmiringWorm said above):

The bash client won't work natively in the WIndows command line, but if it was ported then that is what I am talking about
So for instance if someone took the time to port the https://github.com/raylee/tldr client to windows, well that would answer the requirements
Or, build it from scratch using the above as a template, either way it answers my request, thanks

That's not what this package requests page is for.

Actually since this already works with python, it may be easier to modify this https://github.com/lord63/tldr.py for the windows repo and just package it.
With python being installed as a dependency in the package process

That sounds like it might be depending on what you mean by modify this for the windows repo?

Well natively  the app probably will only answer back answers to Linux commands, which isn't very useful for some Windows users.
IDK, I was hoping someone could look into this...
As it stands the python tool would be helpful to a subset of Windows users who use Linux

@StewAlexanderACC As I said above it sounds very much like you're asking for new app / program / software. This is the wrong place for that.
If the Python tool will work for users of Windows then it would seem to be the best course of action to use that. Do you agree?
Note that I don't use tldr so I have no idea how it works so relying on your answers to guide this.

@pauby agreed
For the development concerns, ehh I suppose that will have to be addressed elsewhere.
However the python tool should work "out-of-the-box" for Windows and should be able to be packaged in Chocolatey

The situation around tl;dr clients is complicated (and the official README does not help), but judging by what Scoop uses (https://github.com/ScoopInstaller/Main/blob/master/bucket/tldr.json), this is the preferred client: https://isacikgoz.me/tldr/

I will pick this up for packaging.

@dgalbraith Any update on this?

Packaging is complete - just waiting for verification testing to be completed before marking available for review.

@dgalbraith when you submit a package, please include the link to the package here.
That way we won't have to waste time trying to search for the package (and hopefully find it).

Packages are complete and ready for review.
I have added 2 packages here - tldr and tldr-plusplus.
tldr is a meta-package meant to provide an abstraction to the implementation of the client while the tldr++ client package is captured as the actual implementation to be installed through a package dependency.
Should a more desirable client be identified in the future the base meta-package could be linked to this through a dependency update.

The packages tldr and tldr-plusplus have now been reviewed and are available in the community repository.


CASMTRIAGE-5982 verify "initrd.yaml" exists for desired config

Description

Checklist

[x] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

verify "initrd.yaml" exists for desired config

Styleguide errors resolved. Thanks @rustydb


DRAFT: Photo Sync Status

NOT DONE YET. Sharing early for feedback. @gino-m, @shobhitagarwal1612, @rachaprince FYI.
Fixes #877

Closing this one since it's no longer relevant.


Bump Buildah to v1.14.10

As the title says, bumping to Buildah v1.14.10.
Addresses this BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1844596
Signed-off-by: TomSweeneyRedHat<EMAIL_ADDRESS>

@nalind PTAL

LGTM

/approve
/lgtm

/approve

@adambkaplan How can we get this approved?

/retitle Bug 1844596: Bump buildah to v1.14.10


Argument retries for plugin retryFailedStep is not working

Hello!
What are you trying to achieve?
I'm trying to use the retryFailedStep plugin with Puppeteer helper; to be more precise I want to increase the number of retries globally for flaky steps.
What do you get instead?
The retryFailedStep plugin is still using the default number of retries ( 3 ) even though I've added in the codecept.conf.jsfile the argument retries: 9,  and thus this is unfortunately not working currently.

Provide console output if related. Use --verbose mode for more details.

 I switch to {"name":"app-iframe"}
      › [Url] https://vars.hotjar.com/box-acca23410e696f2ca3087d947271c3d0.html
    Delaying for 100ms
    I click "All Collections"
    [2] Retrying... Attempt #2
    [2] Retrying... Attempt #3
    [2] Retrying... Attempt #4
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] <teardown> Stopping recording promises
 › <screenshotOnFail> Test failed, try to save a screenshot

Provide test source code if related

	plugins: {
		autoDelay: {
			enabled: true,
		},
		retryFailedStep: {
			enabled: true,
			retries: 9,
		},
		tryTo: {
			enabled: true,
		},
		screenshotOnFail: {
			enabled: true,
		},

Details

CodeceptJS version: ^3.3.0
NodeJS Version: v16.14.0
Operating System: MacOS Monterey v12.12.1
puppeteer Version: ^13.4.1
Configuration file:

const { setHeadlessWhen } = require( "@codeceptjs/configure" );
require( "dotenv" ).config();

// Turn on headless mode when running with HEADLESS=true environment variable
// Export HEADLESS=true && npx codeceptjs run
setHeadlessWhen( process.env.HEADLESS );

exports.config = {
	tests: "!(node_modules)/*_test.js",
	output: "./output",
	helpers: {
		Puppeteer: {
			url: "https://myurl",
			show: true,
			waitForNavigation: [ "load", "domcontentloaded" ],
			windowSize: "1280x1024",
			keepCookies: true,
			restart: false,
			keepBrowserState: true,
			smartWait: 12000,
			timeouts: {
				script: 60000,
				pageload: 100000,
			},
			chrome: {
				args: [
					"--no-sandbox",
					"--disable-setuid-sandbox",
					"--disable-web-security",
					"--disable-features=IsolateOrigins,site-per-process",
				],
			},
		},
		ElementHelper: {
			require: "./helpers/element_helper.js",
		},
	},
	include: {
		I: "./steps_file.js",
	},
	bootstrap: null,
	mocha: {},
	name: "integration",
	plugins: {
		autoDelay: {
			enabled: true,
		},
		retryFailedStep: {
			enabled: true,
			retries: 9,
		},
		tryTo: {
			enabled: true,
		},
		screenshotOnFail: {
			enabled: true,
		},
		allure: {
			enabled: true,
		},
	},
};

Some problem here. It's been broken for ages. I can't even upgrade past version 3.2.0 because of that, because 3.2.1 reduces the number of default retries to 3 along with the timeouts between them, and it just breaks all of my existing tests.

I looked into the code base, wrote a unit test for more than default retries, but it passes. So the issue is probably with the puppeteer integration. Unfortunately I don't have enough context of the implementation details, otherwise would give fixing it a shot. Unless anyone from CodeceptJS core team would be able to provide me some hints how it's currently implemented? Not sure this is a good time to ask, though.

Related to #2829.
I have the same issue with Playwright in CodeceptJS 3.3.3.
In my config when I set more retries than the default value 5, still 5 is used.
It seems that a workaround is patching of
https://github.com/codeceptjs/CodeceptJS/blob/03bf08f71bad884906a6693e1909d836e133856a/lib/helper/Playwright.js#L396
to value you want, e.g. to 10

I have also the same problem. If i comment the recorder.retry part in puppeteer.js then it runs with my retryfailedsteps config values.
I don't know what is the right way for the problem.
My ideas are:
a new puppeteer paramter if puppeteer should to set the his default retry. Then i think  a standard retry for some situations is right.  or
Puppeteer looks for plugin retryfailedsteps and if is it active. If true then not retry from puppeteer.
same for playwright...
retry at playwright is 5 and puppeteer 3


Memoize validation

Look to reselect for inspiration.

Haven't looked at reselect, but couldn't we just check whether the passed in data object is a new one? And if it's not just return the last error state.

I think so. I don't know if reselect is doing anything smarter than === or not.

It seems that by default they do just that - ===. But they allow passing of a custom function. So maybe the first step could be to just use ===.

PRs accepted. ;-)

I thought so ;) Will try to do something tomorrow morning :)

@erikras sorry didn't have the time yet, did not forget about this!

I've decided that this is not in the scope of this project. It's the job of the person passing the validation function to memoize it. I've written a library called lru-memoize to enable this in react-redux-universal-hot-example.

Oh ok, also cool :+1:


Button for minimizing the terminal panel(& shortcuts)

Given that we are able to maximize the terminal panel, an additional feature for minimizing it would also be handy(rather than closing them down).
Also, key combinations for this would be an efficient addition(rather than aiming at the up or down(potential) arrow & hitting the 'X' instead.

Keybindings already exist (can be modified for these commands) in the keyindings editor.
workbench.action.toggleMaximizedPanel and workbench.action.closePanel ... Minimizing the panel is effectively the same as restoring panel down when it is maximized which is covered by the first command. If the panel is not maximized, closing is effectively the same as minimizing. Feel free to comment if I have missed something.

Very clearly put. I'll work on my own key bindings. & I hadn't done my research on minimizing/restoring the terminal. Thank you.


Add prettyprint (part 1/3 refactor text representation of objects)

Summary
This is part 1 of #184.
This PR introduces prettyprint function and QuadraticProgram.prettyprint method to generate a pretty-printed string of a QuadraticProgram object.
Details and comments
We use Docplex's export_as_lp_string as a kind of pretty print of QP now.
But, it's good to have our own pretty printing format that is more comprehensive than Docplex's.
Moreover, it makes us easier to deal with pretty printing of planned new features such as higher order polynomials and semi-definite programming (Docplex cannot handle them).
The format is based on the discussion https://github.com/Qiskit/qiskit-optimization/pull/184#issuecomment-899025806
A minor modification is that I omitted a symbol * of the multiplication of two variables, e.g., x * y (before) -> x y (current) because the discussion did not have * of the multiplication of a scalar coefficient and a variable, e.g., 2 x (before and current). So, I make them consistent. The output of the multiplication of a scalar and two variables would be 2 x * y (before) -> 2 x y (current)
Example:
from qiskit_optimization.problems import QuadraticProgram

qp = QuadraticProgram('problem 1')
qp.integer_var(-1, 2, 'x')
qp.integer_var(-1, 2, 'y')
qp.continuous_var(-1, name='z')
qp.binary_var('u')
qp.binary_var('v')
qp.binary_var_list(10)
qp.integer_var_list(3)
qp.continuous_var_list(3)
qp.minimize(constant=3, linear={'x': 2, 'y': 3}, quadratic={('u', 'x'): -1})
qp.linear_constraint({'x': 1, 'y': -2}, '>=', 2, name='lin_GE')
qp.linear_constraint({'x': 2, 'y': -1}, '==', 1, name='lin_EQ')
qp.quadratic_constraint({'x': 1, 'u': 1}, {(3, 4): 1, (5, 6): -1}, '<=', 1, name='quad_LE')
qp.quadratic_constraint({'x': 2, 'y': -1}, {('z', 'z'): -1}, '<=', 1)

print(qp.prettyprint())

# the following generates the same output as `print(qp.prettyprint())`.
#
# from qiskit_optimization.translators.prettyprint import prettyprint
# print(prettyprint(qp))

output
Problem name: problem 1

Minimize
  -x u + 2 x + 3 y + 3

Subject to
  Linear constraints (2)
    x - 2 y >= 2  'lin_GE'
    2 x - y == 1  'lin_EQ'

  Quadratic constraints (2)
    u v - x5 x6 + u + x <= 1  'quad_LE'
    -z^2 + 2 x - y <= 1  'q1'

  Integer variables (5)
    -1 <= x <= 2
    -1 <= y <= 2
    0 <= x15
    0 <= x16
    0 <= x17

  Continuous variables (4)
    -1 <= z
    0 <= x18
    0 <= x19
    0 <= x20

  Binary variables (12)
    u v x5 x6 x7 x8 x9 x10 x11 x12 x13 x14

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

124 of 129 (96.12%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 91.137%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit_optimization/problems/quadratic_program.py
1
3
33.33%

qiskit_optimization/translators/prettyprint.py
114
117
97.44%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
4185

Relevant Lines:
4592

💛  - Coveralls

I must admit I find having spaces there, instead of *, makes it that I need to look more closely at things. Its not so easy to see at a glance. The spaces can be interpreted either as separation or multiply and that duality, for me, makes the one with spaces take more effort to look at (versus one with explicit *) as per below
u v - x5 x6 + u + x <= 1

u*v - x5*x6 + u + x <= 1

I see that docplex leaves out the multiply, as you say, on constants, but why not have it, and then have consistency with it present in all places.
x - 2 y >= 2

x - 2*y >= 2

I think removing the space, or multiply, and simply putting the variables together
uv  - x5x6 + u + x <= 1

x - 2y >= 2

while that might work it could become ambiguous depending on the user choice of variables should I also have a variable 'uv' or a variable '2y' (I don't think there are any naming restrictions on doing that right). So that seems like a non-starter.

Thank you for the feedback on the appearance. I want a format that is easy to see at a glance.
I think we need at least one character to separate variables because variable name "uv" might be possible.
I'm fine to use "*" for multiplication. What do you think of the following examples?
option 1: 2 u v - 3 x5 x6 + 4 u - x <= 1 (current)

option 2: 2*u*v - 3*x5*x6 + 4*u - x <= 1 (use "*" without space)

option 3: 2 * u * v - 3 * x5 * x6 + 4 * u - x <= 1 (use "*" with space)

I notice that the output would be complicated If users use "*" or " " as part of variable names. Perhaps it's good to warn it when prettyprint recognizes "*" and " " in the variable names.

For me personally, of what you have above option 2 seems easier to look at. How about adding ( ) to that as below...
2 * u * v - 3 * x5 * x6 + 4 * u - x <= 1

(2 * u * v) - (3 * x5 * x6) + (4 * u) - x <= 1

For option 3 with all spaces the grouping does not stand out so easily. One could add brackets - makes it a bit more verbose but for me its easier to look at. So that or option 2, though this would help if they have * in the name; though I guess if you really want to cause yourself problems with the output you can have a variable like '-x' as well as one called 'x' then good luck working out what '-x' is in the output. I guess the first one negated would be '--x'!

Thank you for your idea. I prefer a short format because these strings will be used in debuggers of PyCharm and vscode.
I tried the option 2 in the latest commit and updated the description. https://github.com/Qiskit/qiskit-optimization/pull/366#issue-1214171077
As for problematic symbols (" ", "-", "+", "*"), which are used in pretty-printed expressions, I tried to display them with ("{name}")`. See the example of the description.
I see Docplex rename such names with the symbols into a different names with a warning message. I think it might be confusing to users. So, I didn't try this approach.
from docplex.mp.model import Model

mod = Model()
mod.binary_var(' x')
mod.binary_var('*x')
mod.binary_var('/x')
mod.binary_var('+x')
mod.binary_var('-x')

print(mod.export_as_lp_string())

output
Warning: Some identifiers are not valid LP identifiers: 1 (e.g.: "*x")
\ This file has been generated by DOcplex
\ ENCODING=ISO-8859-1
\Problem name: docplex_model1

Minimize
 obj:
Subject To

Bounds
 0 <= _x <= 1
 0 <= x2 <= 1
 0 <= _x#2 <= 1
 0 <= px <= 1
 0 <= mx <= 1

Binaries
 _x x2 _x#2 px mx
End

I prefer a short format because these strings will be used in debuggers of PyCharm and vscode.

This here though is some more user friendly pretty printed string right - more so than repr or perhaps str. Maybe there will be similarities hence the comment.
I agrees this "*a*"*"*b*" is hard on the eyes but does it need to be wrapped with both ( and " ie ("*a*")*("*b*") which makes it longer but I agree a bit more readable. Maybe it doesn't matter too much as hopefully the user would avoid using those characters in the name anyway so what we are talking about is more of an edge case. We could choose to do nothing special and just note that a poor choice of names, ones that include spaces etc may lead to various string outputs being harder to parse.
In looking at LP format they do have a definition of what a variable name can be https://www.ibm.com/docs/en/icos/<IP_ADDRESS>?topic=representation-variable-names-in-lp-file-format hence I guess docplex cannot legitimately put them into the LP output.

I tried the corner case with docplex and gurobipy. Docplex has prettyprint and export_as_lp_string.
Here is a summary of a sum of various corner cases.
docplex - prettyprint:  x^3 + 2x + .4 + *x + y%4 + a_m_b + θ + x10 [ 1.2*[5] ];
docplex - lp string:    x1 + x2 + x3 + x6 + y%4 + a_m_b + x9 + x10 + [ 2 x4*x5 ]/2
gurobipy:  <gurobi.QuadExpr: x^3 + 2x + .4 + *x + y+0x1.cp-1072 - b + θ + C9 + [ 1.2 * [5] ]>

LP format has various restrictions as you pointed out and it converts many variable names into default one (x_{}).
But, pretty-printed format of both docplex and gurobipy transform only some specific corner cases.
I think our pretty-printed format can take a similar approach with docplex and gurobipy, i.e., we leave symbols as is.
But, we have to convert an empty name into a default name.
Btw, gurobipy has a strange output such as 0x1.cp-1072. They might have an issue with %.

Details
from docplex.mp.model import Model

mod = Model()

a = mod.binary_var('x^3')
b = mod.binary_var('2x')
c = mod.binary_var('.4')
d = mod.binary_var('1.2')
e = mod.binary_var('[5]')
f = mod.binary_var('*x')
g = mod.binary_var('y%4')
h = mod.binary_var('a - b')
i = mod.binary_var('θ')
j = mod.binary_var('')

mod.minimize(a + b + c + d * e + f + g + h + i +j)

mod.prettyprint()
print('-----------------')
print(mod.export_as_lp_string())

output:
// This file has been generated by DOcplex
// model name is: docplex_model1
// single vars section
dvar bool x^3;
dvar bool 2x;
dvar bool .4;
dvar bool 1.2;
dvar bool [5];
dvar bool *x;
dvar bool y%4;
dvar bool a_m_b;
dvar bool θ;
dvar bool x10;

minimize
 x^3 + 2x + .4 + *x + y%4 + a_m_b + θ + x10 [ 1.2*[5] ];

subject to {

}
-----------------
Warning: Some identifiers are not valid LP identifiers: 7 (e.g.: "x^3")
\ This file has been generated by DOcplex
\ ENCODING=ISO-8859-1
\Problem name: docplex_model1

Minimize
 obj: x1 + x2 + x3 + x6 + y%4 + a_m_b + x9 + x10 + [ 2 x4*x5 ]/2
Subject To

Bounds
 0 <= x1 <= 1
 0 <= x2 <= 1
 0 <= x3 <= 1
 0 <= x4 <= 1
 0 <= x5 <= 1
 0 <= x6 <= 1
 0 <= y%4 <= 1
 0 <= a_m_b <= 1
 0 <= x9 <= 1
 0 <= x10 <= 1

Binaries
 x1 x2 x3 x4 x5 x6 y%4 a_m_b x9 x10
End

import gurobipy as gp

mod = gp.Model()

a = mod.addVar(vtype=gp.GRB.BINARY, name='x^3')
b = mod.addVar(vtype=gp.GRB.BINARY, name='2x')
c = mod.addVar(vtype=gp.GRB.BINARY, name='.4')
d = mod.addVar(vtype=gp.GRB.BINARY, name='1.2')
e = mod.addVar(vtype=gp.GRB.BINARY, name='[5]')
f = mod.addVar(vtype=gp.GRB.BINARY, name='*x')
g = mod.addVar(vtype=gp.GRB.BINARY, name='y%4')
h = mod.addVar(vtype=gp.GRB.BINARY, name='a - b')
i = mod.addVar(vtype=gp.GRB.BINARY, name='θ')
j = mod.addVar(vtype=gp.GRB.BINARY, name='')

mod.setObjective(a + b + c + d * e + f + g + h + i + j, gp.GRB.MINIMIZE)
mod.update()
mod.display()

output
Minimize
  <gurobi.QuadExpr: x^3 + 2x + .4 + *x + y+0x1.cp-1072 - b + θ + C9 + [ 1.2 * [5] ]>
Subject To
Binaries
  ['x^3', '2x', '.4', '1.2', '[5]', '*x', 'y 0x1.ffdefa1fe7p-1028 - b', 'θ', 'C9']

I updated the PR as follows.

Remove the special care ("{name}") similar to docplex.prettyprint and gurobipy.dispaly
Set the default variable name if an empty name is given

The corner case with this PR
from qiskit_optimization.problems import QuadraticProgram

mod = QuadraticProgram()

a = mod.binary_var('x^3')
b = mod.binary_var('2x')
c = mod.binary_var('.4')
d = mod.binary_var('1.2')
e = mod.binary_var('[5]')
f = mod.binary_var('*x')
g = mod.binary_var('y%4')
h = mod.binary_var('a - b')
i = mod.binary_var('θ')
j = mod.binary_var('')

mod.minimize(linear=[1, 1, 1, 0, 0, 1, 1, 1, 1, 1], quadratic={(3, 4): 1})

print(mod.prettyprint())

output
Problem name:

Minimize
  1.2*[5] + *x + .4 + 2x + a - b + x9 + x^3 + y%4 + θ

Subject to
  No constraints

  Binary variables (10)
    x^3 2x .4 1.2 [5] *x y%4 a - b θ x9

I think it's easy for users to avoid such problematic cases (not use white spaces, etc.). So, I'm fine not to include a special care for corner cases similar to docplex.prettyprint and gurobipy.display.

I updated the warning and error message to include repr(name) and simplify the problem name setting.

I updated the PR 88f28d9 as follows

Remove prettyprint function in __all__ of translators
Mention default name in QPs methods ("if name` is None or empty, the default name is used").
Adds qp.prettyprint and the unit test of prettyprint.


Issue add uniqueness to emails

This is causing issues in the adminbro login, multiple people with the same email. OR we move the adminbro login to another entity

This is serious as we are having duplicated users with different wallets but same email, this can also conflict many other log ins.
@MoeNick

This could be the reason people can't see their projects.
They log in, but the db matches a duplicate without their project, the UI says they are logged in with correct address/email but in reality they aren't. So they can't see their project. I remember there was 1 report of this issue before.

Maybe adding uniqueness isn't the solution. But moving the adminUser to another entity would reduce login issues.

I didn't get the point, sorry
we added uniqueness of email for admin bro login?

No. Look at the image:

So while testing with Ashley some other stuff. We found she had in prod 6 accounts. 1 of them is the admin account too.
So when trying to log in by email in the adminbro. The db was selecting the wrong user (that doesn't have password) and returning error that it didn't match hers.

Admins from adminbro use the same entity as the normal Users, so they can overlap, we should separate them.

And as we can see, emails are not unique. They can be repeated.

Oh thanks @CarlosQ96 I got it.

Thank for making it clear @CarlosQ96, another solution might be adding roles to the user table, so only admins are considered as AdminBro users.
We may need this for further multi-level account feature in the future.


Update wiki to indicate how to use System.Text.Json instead of Newtonsoft.Json

https://github.com/RicoSuter/NJsonSchema/wiki/JsonSchemaGenerator links to #1014 which is closed. That wiki page should therefore be updated to show how to use STJ instead of Json.NET when generating schemas.

https://github.com/RicoSuter/NJsonSchema/wiki/JsonSchemaGenerator#systemtextjson-vs-newtonsoftjson


additional currency

hi can you please add MYR as part of the currency ?
Thank you

@raphson93 will be adding additional currencies that in the next release

@miguelmota
Can you please add Ukrainian Hryvnia (UAH)?

@NotStatilko added (commit). Available on main branch.

@NotStatilko added (commit). Available on main branch.

Thank you very much!


test

Input: ---
Here's a sentence with a tooltip.[^2]

_****_

https://github.com/ahmarkhhan/tasksAutomation/issues/1#issuecomment-2249253908


API for surfacing active SPMD axis names

For example,
@partial(pmap, axis_name="i")
def foo():
  @partial(pmap, axis_name="j")
  def bar():
    print(lax.axis_names())  # ("i", "j")

The semantics would be "the set of axis names currently valid inside a psum or axis_index"; the order would be the pmap nesting order.
cc @dmrd

The implementation would be something like list(jax.interpreters.pxla._thread_local_state.dynamic_axis_env.keys()).

I think we should move the axis env to be part of the tracer state in core.py, for at least two reasons:

it centralizes the global state, which is useful when forming thunks, and
it'll let vmap easily reuse the same axis environment.

If we compare axis names to regular variables, so that pmap binds axis names to axes like lambda binds variable names to values, does this correspond to something sensible? “Give me all lambda-bound variables”?
Can the user just do this plumbing themselves? It might not need a jax feature.

Another weird bit: this would be like functions being able to ask “how deep in the call stack am I?”

It does sound a little weird! One use case (the one from David’s collaborator that prompted this) is to ask if e.g. there’s a “batch” axis in the environment, so that metrics-computing code can be polymorphic over whether it needs to reduce (pmean) across the batch.
It would need to be “a JAX feature” simply because I don’t think we want the axis environment itself to be seen as a public API.

I see, though the alternative to "JAX feature" I had in mind would be just for the user to keep track of all the axis names they'd passed to pmap in their own stack. Then they'd see the ones from their own pmaps, but not necessarily from others' pmaps. Also it'd keep our API smaller :P

Another weird bit: this would be like functions being able to ask “how deep in the call stack am I?”

Yeah, this worries me a bit. This feels like a feature that might be good not to have, to ensure compositionality.
The batch normalization use case is real, though. I wonder if there could be a more hygenic way to do support this, e.g., only surfacing active axis names defined by a particular library?


allow active_support (and thus rails) 5

I'm pretty sure rails 5 works for us with 0.9.11, we use gcs, speech, calendars and contacts.   I didn't see anything 0.9.11->0.9.13 that looked scary wrt recent activesupport.

It is allowed on 9.x. There's no long a runtime dependency on activesupport. Are you seeing a particular issue?
0.8.x was recently locked down to activesupport < 5. Mostly it's because:

No work planned for the 0.8.x line nor plans to ensure it works with newer versions of rails.
The version specifier was a little too loose and caught a lot of apps by surprise, particularly since activesupport 5 requires ruby >=2.2.2.

I was referring to https://github.com/google/google-api-ruby-client/blob/master/Gemfile, where for development at least, you limit to activesupport < 5.  But that's not a runtime dep, it seems.  All's well, then!


Method for serialize to non-strict json

It's method will be very useful for work with Jquery and for parsing java script objects

@sungam3r

It seems to me that this PR (as many others) is unlikely to be merged. This is new functionality, not a bugfix. The introduction of new functionality assumes its support in the future, but support for this repository is likely to be phased out in favor of System.Text.Json. Over time, the emphasis has gradually shifted in favor of ystem.Text.Json as a reworked, improved, faster and non-allocating serializer. It will be easier for you to apply this method in your own projects. I think with the release of .NET 5, the System.Text.Json development team will gradually equalize its capabilities with those of Newtonsoft.Json and then this repository will become deprecated officially.


Add dynamic polling function

Would have a signature like this:
enum class TimeoutActions { / *... */ }
// ...
template<Typename F>
Status Wait(std::chrono::milliseconds duration, TimeoutActions timeout_action, F check_function);

F would be a lambda expression that the developer will insert to check the state of something. F should return false if the something this is being checked isn't ready yet and should return true if it is.
Duration is the time in milliseonds.
TimeoutActions would include actions like, kAssertFatal, kAssertWarning, kSilent.

Resolved with #231


"This base cannot be created with PLA"

When trying to access the openldap directory with any other account, then the admin account (e.g. "cn=test,ou=people,dc=example,dc=org"), phpldapadmin shows the following error message:
"This base cannot be created with PLA"
I already tried adding a base to the config.php file with this line:
$servers->setValue('server','base',array('dc=example,dc=org'));
But it didn't work. Any help is greatly appreciated.

I tried accessing it with ApacheDirectoryStudio and it seems to be an issue with how openldap returns the basedn and access rights. Specifying the new user himself as base when accessing openldap with ApacheDirectoryStudio you will get that entry returned.
However I just tried accessing 'cn=admin,cn=config' and without setting the base to be cn=config i wouldnt get anything returned. I will close this issue, since it seems to be an openldap config issue.


chore: add XO linter

Note that we need to use commit prefixes to automatically add changes to changelog. In this case I've changed the PR title to prefix it with chore: .
See https://github.com/semantic-release/semantic-release

See the hidden conversations.


Add SessionContext flag to enable semi joins

This disables semi joins by default and introduces a flag to enable semi joins
on a per-session base.

Codecov Report

Merging #6182 into j/semi-join will decrease coverage by 0.05%.
The diff coverage is 88.88%.

@@                Coverage Diff                @@
##             j/semi-join    #6182      +/-   ##
=================================================
- Coverage          83.17%   83.11%   -0.06%
- Complexity         12557    12559       +2
=================================================
  Files               1456     1456
  Lines              47617    47629      +12
  Branches            5857     5858       +1
=================================================
- Hits               39604    39588      -16
- Misses              5288     5315      +27
- Partials            2725     2726       +1

Impacted Files
Coverage Δ
Complexity Δ

...adata/settings/session/SessionSettingRegistry.java
94.11% <100%> (+3.2%)
6 <2> (+2)
:arrow_up:

...va/io/crate/planner/consumer/ConsumingPlanner.java
88.57% <100%> (+0.33%)
6 <3> (ø)
:arrow_down:

.../main/java/io/crate/action/sql/SessionContext.java
100% <100%> (ø)
12 <2> (+2)
:arrow_up:

.../io/crate/planner/consumer/OptimizingRewriter.java
66.66% <60%> (-33.34%)
3 <1> (ø)

...n/java/io/crate/exceptions/JobKilledException.java
0% <0%> (-66.67%)
0% <0%> (-1%)

...main/java/io/crate/planner/consumer/SemiJoins.java
74.68% <0%> (-16.46%)
14% <0%> (-3%)

.../java/io/crate/exceptions/ValidationException.java
57.14% <0%> (-14.29%)
2% <0%> (-1%)

...ticsearch/indices/recovery/BlobRecoveryStatus.java
63.63% <0%> (-9.1%)
3% <0%> (-1%)

.../java/io/crate/planner/node/dql/join/JoinType.java
75% <0%> (-8.34%)
4% <0%> (-1%)

...va/io/crate/planner/projection/EvalProjection.java
54.16% <0%> (-8.34%)
9% <0%> (-1%)

... and 28 more

Continue to review full report at Codecov.

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

Rebased and merging to semi-joins after tests pass.


Fingerprints

Description
This PR extends the support for X.509 fingerprints to support all the options used by step. It also adds support for SSH fingerprints.
These functions will allow migrating more crypto-related code from step to go.step.sm/crypto

I think most of the code came from smallstep/cli already, right?

I think most of the code came from smallstep/cli already, right?

Yes


Log user out on 403 or 401 response

On second thought, this is only necessary when a jwt has expired.
Should catch this server side and return a 401 with appropriate message, then check for the message client side.


AttributeError: 'DiGraph' object has no attribute 'node'

C:> androguard cg some.apk

Traceback (most recent call last):
File "c:\python38\lib\runpy.py", line 192, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\python38\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Python38\Scripts\androguard.exe_main.py", line 7, in
File "c:\python38\lib\site-packages\click\core.py", line 764, in call
return self.main(*args, **kwargs)
File "c:\python38\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "c:\python38\lib\site-packages\click\core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\python38\lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\python38\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "c:\python38\lib\site-packages\androguard\cli\entry_points.py", line 319, in cg
androcg_main(verbose=verbose,
File "c:\python38\lib\site-packages\androguard\cli\main.py", line 105, in androcg_main
CG = dx.get_call_graph(classname,
File "c:\python38\lib\site-packages\androguard\core\analysis\analysis.py", line 1432, in get_call_graph
_add_node(CG, orig_method, entry_points)
File "c:\python38\lib\site-packages\androguard\core\analysis\analysis.py", line 1406, in _add_node
if method not in G.node:
AttributeError: 'DiGraph' object has no attribute 'node'

androguard, version 3.3.5
Python 3.8.0
Windows 10
dot - graphviz version 2.38.0 (20140413.2041)

JFYI, this is preventing the package to be included in the upcoming Debian stable release, a fix would be highly appreciated. thanks! :)

https://ci.debian.net/data/autopkgtest/testing/amd64/a/androguard/3495118/log.gz

--- a/androguard/core/analysis/analysis.py
+++ b/androguard/core/analysis/analysis.py
@@ -1403,7 +1403,7 @@ class Analysis:
             """
             Wrapper to add methods to a graph
             """
-            if method not in G.node:
+            if method not in G.nodes:
                 if isinstance(method, ExternalMethod):
                     is_external = True
                 else:

this ensures compatibility with networkx 2.4

hmm I remembering changing this back and forth, because networkx changed a few things there as well. Yes, G.nodes seems to be the current syntax.

@reox The master works alright for me.

I have the exact same issue on androguard 3.3.5 installed via pip on Pop!OS. Can somebody clarify in detail on how to fix this error?
Python version 3.8.6
graphviz version 2.42.2-4

Installing the master branch instead of the 3.3.5 release works fine @Kushagra2000


Game covers are not centered anymore

Bug Description
I don't know if this was a deliberate choice, but since the last release all game covers aren't centered anymore.
To Reproduce
No response
Extensions log
No response
Screenshots

This change was made along with the new library banners feature in the new version. Personally I think it looks better this way, what do you think? My reasoning is that it looks very weird and inconsistent when games have covers with different sizes and aspect ratios. This way it looks much more uniform and consistent.

Thanks for the quick response! Well, I do believe that centered covers looks cleaner but I do undestand that this is totally subjective. Since this wasn't a bug, I'm closing this issue. Thanks a lot for all the hard work, btw!

Hey! I know I've closed this issue before, when I thought it was a bug, but I've realized that this would be a great option if doable. I do think this is the best Playnite theme that exists right now and these covers are the only dealbreaker that i'm struggling with...


jsconfig & tsconfig schemas: Description improvements

http://json.schemastore.org/tsconfig contains the JSON schema of the tsconfig.json file. I assume it is maintained by the TS team, that's why I thought I directly file the issue here.
VSCode fetches the tsconfig schema from that URL and uses it for completion and hovers.
Now that there's also a public schema for jsconfig, we also plan to do the same for the jsconfig schema. Currently we have our own local version as none was available before.
In our own version of the jsconfig schema we changed the description of all options that only apply when downlevel compile.
e.g.
"outFile": "When down-level compiling, concatenate and emit output to single file.",
"outDir": "When down-level compiling, redirect output structure to the directory."
...
We did this following consultations with @billti and @mhegazy in order for us to understand which properties work when, which is quite tricky unless you are an insider. We think the additional information is valuable and it would be great if it could be applied in the schemastore as well.
See https://github.com/Microsoft/vscode/blob/master/extensions/javascript/schemas/jsconfig.schema.json for our version.
Also, for new options, can you mention in which TS version it is supported?
Recently new options such as 'exclude' and 'include' have been added. It would be nice if the description can mention that these options require TypeScript 2.0

@aeschli The schema for tsconfig.json was recently updated, so you may want to update you current custom versions. Regardless there is definitely room for improvement here. As you say, descriptions of various items, especially with respect to versioning, could be dramatically improved.
With regard to versioning, I would actually like this to be taken a step further. Once a version of the language is officially released, it would be great if the subset of tsconfig and jsconfig settings it supports were captured in a versioned release of the schema.json. Then a reliable version, supporting the settings understood by the version of TypeScript detected, could be picked up and retrieved accordingly.
This has three main advantages:

It removes the need for "requires TypeScript >= 2.0" to be included in the setting description, saving valuable space for explanatory text.
Tooling could detect deprecated/superseded settings as well as settings requiring a new versions and issue warnings or upgrade path suggestions accordingly
Tooling could detect deprecated/superseded settings as well as settings requiring a new versions and issue warnings or upgrade path suggestions accordingly
It preserves previous sets of settings for posterity.

That said, I love tsconfig it's an awesome feature, it is wonderfully cross IDE and cross platform, I just think these scenarios are important.

@yui can you update the files, since you last touched them, and add the missing documentation from  https://github.com/Microsoft/vscode/blob/master/extensions/javascript/schemas/jsconfig.schema.json

Awesome work. Very helpful

if anyone of you will be interested in the update, let me know what you think or whether it is good to be merged. Here is the PR in schema store: here


Add open API for accessing our data

We should make sure event structures are somewhat standardized before exposing an API, but we should make this data accessible to other apps.

https://github.com/xcv58/meteor-collectionapi seemed promising in initial investigations

I took a look into collectionApi using https://github.com/kahmali/meteor-restivus as it looks like its more extensible.  Collection API gives basic CRUD functionality, and it's got the basics around what needs to be there, stuff like:
GET /api/reports/{id} //gets a specific report
GET /api/reports/ //gets all non-expired reports
But if we' ever think about expanding it to more RESTful style we'd need the routing in restivus that comes in by default.  It'd let us do things like:
GET /api/reports/line/{line} //gets non-expired reports by line
GET /api/reports/stop/{station} //gets non-expired reports by station
quite easily as well as allowing us to build out the base collections quickly as it's built on top of collectionapi
I'll see if I can get something put together tomorrow night at hacknight.


Add Resample transform

This PR:

Adds a new implementation of a Resample transform to change the sampling rate of time series features.

Probably superseeds #23 as this uses the new time series format.
The implementation could possible still be improved quite a bit. As I use interpolation methods from scipy there is probably no way around moving the data from polars to python and back. @schmidma maybe you have another clever idea how to optimize it further / make it more polars.

one minor thing... For now I also do not have any more fancy ideas on how to do that, unless we extend polars and do it in Rust

Then we'll have to deal with the map_elements for now. Once we see how the performance impact is for real data we can still re-evaluate imho.


Metrics are not in preview anymore

The metrics are not called ... (preview) anymore.

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

ID: 5c5374f1-66b3-0d14-ddf6-2073ce8ccc58
Version Independent ID: d942fd64-3d07-894b-fec6-2b7a0e6621c9
Content: Metrics in Azure Monitor (preview) - Azure Event Hubs
Content Source: articles/event-hubs/event-hubs-metrics-azure-monitor.md
Service: event-hubs
GitHub Login: @ShubhaVijayasarathy
Microsoft Alias: shvija

@ChiragMishra-MSFT doesn't this still need to be updated? There are "deprecated" metrics but nothing is listed as being in "preview", three months after this issue was closed.

The article was updated sometime ago.
#please-close


small quickstart guide updates

Signed-off-by: mawhitby<EMAIL_ADDRESS>

Coverage decreased (-0.01%) to 52.436% when pulling 1c71217e986caba7c34151ce0254ada7d5f09135 on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.436% when pulling 1c71217e986caba7c34151ce0254ada7d5f09135 on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.436% when pulling 1c71217e986caba7c34151ce0254ada7d5f09135 on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.436% when pulling 1c71217e986caba7c34151ce0254ada7d5f09135 on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.436% when pulling 1c71217e986caba7c34151ce0254ada7d5f09135 on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.433% when pulling 848704cb337c705d55287f191fced38eae969acf on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.433% when pulling 848704cb337c705d55287f191fced38eae969acf on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.01%) to 52.433% when pulling 848704cb337c705d55287f191fced38eae969acf on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.

Coverage decreased (-0.002%) to 52.444% when pulling ee8c63038d190bf8773e4593831fa8b9156717c1 on quickstart-hotfix into 8373c6765daf15573cd5b111cd142bd8cb77cb91 on master.


Replace instructions and and xor by nand or nor

The current set of binary instructions available in Triton VM, and and xor, is functionally complete, but not minimally so. Replacing them by either nand or nor

does not change completeness,
marginally decreases usability (or and not are not natively available anyway),
simplifies the instruction set architecture, and
simplifies the U32 Table.

(Originally issue number 41 in the internal issue tracker.)

This is pretty tightly coupled with #8. Furthermore, we need a benchmark target before the question can be answered – the investigation is blocked by #7.

(Originally posted by @aszepieniec.)
Also worth noting, for u32s:
A + B == (A ^ B) + ((A & B) << 1)
and so
A ^ B == A + B - ((A & B) << 1)
Please verify. Credit goes to @bobbinth who, IIRC, credited Daniel Lubarov.


[Release 1.3.5] Version increment

Signed-off-by: prudhvigodithi<EMAIL_ADDRESS>Description
Incremented version to 1.3.5.
Issues Resolved
Part of: https://github.com/opensearch-project/opensearch-build/issues/2348
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #513 (c39e285) into 1.3 (0355c42) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                1.3     #513   +/-   ##
=========================================
  Coverage     83.46%   83.46%
  Complexity      895      895
=========================================
  Files           127      127
  Lines          3852     3852
  Branches        366      366
=========================================
  Hits           3215     3215
  Misses          475      475
  Partials        162      162

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


Extract 'regular' thing

Generalize regular periods idea to some period index container, or keep it where it is now? I already had issues with it being on too many lines intertwined with other code, but a separate sorted IList is not good without the corresponding values.

This only relevant with high frequency data, and in that case it is easy to check if keys are equal. E.g. for daily grouped by year, weekends and holidays make dates irregular. But with seconds within an hour one need only to compare the first period and number of periods - if they are equal for reqular keys, value arrays could be treated as aligned.


Spectrum/FFT dialog Crashes GUI if simulation was stopped by stop component

Describe the bug
FFT/Spectrum dialog causes program to crash if simulation run was stopped by component.
To Reproduce

Add component and connect as per screenshot:

Simulate the model
View the scope graph, use the FFT button to view spectrum.
The program will crash

Expected behavior
I would expect a spectrum of the signal up to the point the simulation was stopped to be displayed, as with the signal graph

Add component and connect as per screenshot:

Simulate the model
View the scope graph, use the FFT button to view spectrum.
Screenshots, Model or Data files
If applicable, add screenshots, models or data files, that display or cause the bug.

Hopsan version (please complete the following information):
Version information is shown in the message widget when HopsanGUI is started

OS: Windows 10
Version: HopsanCore: <IP_ADDRESS>11105.2150
HopsanGUI : <IP_ADDRESS>11105.2150
Build: Official build

Additional information
Add any other context/information about the problem here.
min_crash_stopped_sim.zip

This seem to happen because simulation time is always logged using specified number of log samples, while the data variables are only logging the part that is actually simulated. If simulation is not stopped, time and data vectors will have the same size. The FFT code expects equal size and will crash otherwise. A simple fix should be to limit the size of the time vector as well.


Whether can write log with buffer?

When write log very fast, i want to use buffer relieve the pressure of IO.
If it also can flush timely will be better.

Why not just wrap *RotateLogs with bufio.Writer ?

it work, thanks


BUG: Infinite Recursion Error

I am not sure if I am doing something wrong here or this is an issue with the flake but I am getting this error
I also have a normal nixpkgs minecraft server running on this pc but I don't think it is causing this issue
Is this user error or a problem with the flake?
[root@Server:/etc/nixos]# ./update.sh
warning: Git tree '/etc/nixos' is dirty
error:
       … while calling the 'seq' builtin

         at /nix/store/rj6pqzx66pliiwdfk2wjnnlk40rm3mpd-source/lib/modules.nix:320:18:

          319|         options = checked options;
          320|         config = checked (removeAttrs config [ "_module" ]);
             |                  ^
          321|         _module = checked (config._module);

       … while evaluating a branch condition

         at /nix/store/rj6pqzx66pliiwdfk2wjnnlk40rm3mpd-source/lib/modules.nix:261:9:

          260|       checkUnmatched =
          261|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |         ^
          262|           let

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: infinite recursion encountered

       at /nix/store/rj6pqzx66pliiwdfk2wjnnlk40rm3mpd-source/lib/modules.nix:506:28:

          505|         builtins.addErrorContext (context name)
          506|           (args.${name} or config._module.args.${name})
             |                            ^
          507|       ) (lib.functionArgs f);

Here is the full log, abridged configuration.nix, and flake.nix
log.txt
{ config, pkgs, lib, inputs, ... }:
{
  imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ];
  nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];
  services.minecraft-servers.survival-mods =
    let
      modpack = pkgs.fetchPackwizModpack {
        url = "https://github.com/Silverdev2482/Survival-mods";
        packHash = "1ml91nibaizymhiak7fwhb74wgn6x3j16fnqfarhh2nar9c62c53";
      };
      mcVersion = modpack.manifest.versions.minecraft;
      fabricVersion = modpack.manifest.versions.fabric;
      serverVersion = lib.replaceStrings [ "." ] [ "_" ] "fabric-${mcVersion}";
    in
    {
      enable = true;
      package = pkgs.fabricServers.${serverVersion}.override { loaderVersion = fabricVersion; };
      symlinks = {
        "mods" = "$modpack}/mods";
      };
    };
}

{
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nix-minecraft.url = "github:Infinidoge/nix-minecraft";
  };

  outputs =
    { self
    , nixpkgs
    , ...
    }@inputs:
    let
      system = "x86_64-linux";
    in
    {
      formatter.${system} = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
      nixosConfigurations = {
        Server = nixpkgs.lib.nixosSystem {
          inherit system;
          specialArgs = inputs;
          modules = [
            ./hardware-configuration.nix
            ./configuration.nix
          ];
        };
      };
    };
}```

I think this might actually just straight up be a nixpkgs issue.
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
  };

  outputs = { nixpkgs, ... }: {
    nixosConfigurations.test = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [ ];
    };
  };
}

Running nix eval .#nixosConfigurations.test leads to something that is (effectively) infinite recursion, in that it endlessly prints the same error then stack overflows.
This is... wild, to say the least.

Nevermind, I think I found it.
Change specialArgs = inputs; to specialArgs = { inherit inputs; };

Thanks, that fixed that issue, should a note be added for flake requirements in the documentation?
I have been getting miscellaneous errors, some being errors about having incorrect hashes, which I eventually fixed, now it isn't caring about anything, there are no process running that have java or minecraft in their names, nor are there any systemd units I can start.
Rebuild output:
[root@Server:/etc/nixos]# nixos-rebuild switch --option eval-cache false --flake ./
building the system configuration...
updating GRUB 2 menu...
activating the configuration...
setting up /etc...
reloading user units for sddm...
reloading user units for silverdev2482...
setting up tmpfiles

[root@Server:/etc/nixos]# ```
Updated Flake:
```nix
{
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nix-minecraft.url = "github:Infinidoge/nix-minecraft";
  };

  outputs =
    { self
    , nixpkgs
    , ...
    }@inputs:
    let
      system = "x86_64-linux";
    in
    {
      formatter.${system} = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
      nixosConfigurations = {
        Server = nixpkgs.lib.nixosSystem {
          inherit system;
          specialArgs = { inherit inputs; };
          modules = [
            ./hardware-configuration.nix
            ./configuration.nix
          ];
        };
      };
    };
}

updated configuration.nix
# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running `nixos-help`).

{ config, pkgs, lib, inputs, ... }:

{
  # Use the systemd-boot EFI boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.device = "nodev";
  boot.loader.grub.efiSupport = true;
  boot.loader.efi.canTouchEfiVariables = true;

  nixpkgs.config.allowUnfree = true;

  networking.hostName = "Server"; # Define your hostname.
  # Pick only one of the below networking options.
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
  # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.

  # Set your time zone.
  # time.timeZone = "Europe/Amsterdam";

  # Configure network proxy if necessary
  # networking.proxy.default = "http://user:password@proxy:port/";
  # networking.proxy.noProxy = "<IP_ADDRESS>,localhost,internal.domain";

  # Select internationalisation properties.
  # i18n.defaultLocale = "en_US.UTF-8";
  # console = {
  #   font = "Lat2-Terminus16";
  #   keyMap = "us";
  #   useXkbConfig = true; # use xkbOptions in tty.
  # };

  # Enable the X11 windowing system.

  nix.settings.experimental-features = [ "nix-command" "flakes" ];

  imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ];
  nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];

  services.minecraft-servers.servers.survival =
  let
    modpack = pkgs.fetchPackwizModpack {
      url = "https://raw.githubusercontent.com/Silverdev2482/Survival-mods/main/pack.toml";
      packHash = "Yes this is a totaly normal hash and not a random string";
    };
    mcVersion = modpack.manifest.versions.minecraft;
    fabricVersion = modpack.manifest.versions.fabric;
    serverVersion = lib.replaceStrings [ "." ] [ "_" ] "fabric-${mcVersion}";
  in
  {
    enable = true;
    eula = true;
    autoStart = true;
    nonExistantOptionThatShouldThrowError = true;
    dataDir = "/srv/survival";
    openFirewall = true;
    package = pkgs.fabricServers.${serverVersion}.override { loaderVersion = fabricVersion; };
    symlinks = {
      "mods" = "${modpack}/mods";
    };
  };
  services.minecraft-servers.servers.idk = {
    pleaseThrowAnError = true;
    enable = true;
    eula = false;
    };

  # Enable the Plasma 5 Desktop Environment.
  services = {
    xserver = {
      displayManager.sddm.enable = true;
      desktopManager.plasma5.enable = true;
      enable = true;
    };

#    minecraft-server = {
#      enable = false;
#      eula = true;
#      jvmOpts = "-Xmx6144M -Xms4096M";
#      dataDir = "/persist/minecraft";
#      openFirewall = true;
#
#      package =
#        let
#          version = "1.20.2";
#          url = "https://meta.fabricmc.net/v2/versions/loader/1.20.2/0.14.23/0.11.2/server/jar";
#          sha256 = "1mac4sv7d0r4z4lh78kqfq2kwj43612z2ch9jqnc2y4j05g6v9nj";
#        in
#        (pkgs.minecraft-server.overrideAttrs (old: rec {
#          name = "minecraft-server-${version}";
#          inherit version;
#
#          src = pkgs.fetchurl {
#            inherit url sha256;
#          };
#        }));
#    };
  };
  #
  # Configure keymap in X11
  # services.xserver.layout = "us";
  # services.xserver.xkbOptions = "eurosign:e,caps:escape";

  # Enable CUPS to print documents.
  # services.printing.enable = true;

  # Enable sound.
  # sound.enable = true;
  # hardware.pulseaudio.enable = true;

  # Enable touchpad support (enabled default in most desktopManager).
  # services.xserver.libinput.enable = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users = {
    mutableUsers = true;
    users.silverdev2482 = {
      isNormalUser = true;
      extraGroups = [ "wheel" ];
    };
  };
  users.users.storage-server = {
    isNormalUser = true;
    extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
    #   packages = with pkgs; [
    #     firefox
    #     tree
    #   ];
  };

  # List packages installed in system profile. To search, run:
  # $ nix search wget
  environment.systemPackages = with pkgs; [
    mimalloc
    qjoypad
    wget
    neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
    firefox
    openjdk17-bootstrap
    git
    packwiz
    neofetch
    btop
  ];

  # Some programs need SUID wrappers, can be configured further or are
  # started in user sessions.
  # programs.mtr.enable = true;
  # programs.gnupg.agent = {
  #   enable = true;
  #   enableSSHSupport = true;
  # };

  # List services that you want to enable:

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;
  programs.mosh.enable = true;
  # Open ports in the firewall.
  # networking.firewall.allowedTCPPorts = [ ... ];
  networking.firewall.allowedUDPPorts = [ 24454 ];
  # Or disable the firewall altogether.
  # networking.firewall.enable = false;

  # Copy the NixOS configuration file and link it from the resulting system
  # (/run/current-system/configuration.nix). This is useful in case you
  # accidentally delete configura[{"name":"Silverdev2482","uuid":"2674143f-9e1b-4a43-b685-0332e9a01956",tion.nix.
  # system.copySystemConfiguration = true;

  # This value determines the NixOS release from which the default
  # settings for stateful data, like file locations and database versions
  # on your system were taken. It's perfectly fine and recommended to leave
  # this value at the release version of the first install of this system.
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "23.05"; # Did you read the comment?

}```

The only way I have been able get errors from in that code block is syntax errors.

after uncommenting the normal minecraft server now for some reason that one isn't working either. no sysemd units or running processes like before. I have no idea what is going on.

You forgot to do services.minecraft-servers.enable = true;
If the main enable option isn't set to true, nothing gets setup at all.

Oh I know why the normal minecraft server isn't working. You set enable = false;

It appears to be working but I need to figure out how to move my world. Thank you so much for the help

Moving the world is pretty straight forward. The original server should be in /var/lib/minecraft, while your new server should be in /srv/minecraft/servernamehere

I decided /srv would be the better directory to put stuff, I just wasn't sure where to put the server before, I have manually moved the world files. however the server is crashing when I attempt to start it with the old world, works fine on the automatically created world however.

May I ask where the original fetch code snippet was supposed to go? Outside the { } inside configuration.nix? As for documentation should a full configuration be included in it? I would be willing to help make a boilerplate config based on the one I arrived at.

Is there a better way to update the mod pack than deleting the hash and getting the new one from nixos-rebuild?

There are better ways, but they generally require a lot more infrastructure. I personally just rebuild and fill in the hash for those kinds of things.
As written, the snippet is the body of a module. So in this case, it would be the body of a configuration.nix, missing module the inputs at the top.
A complete configuration, flake and all, is a bit out of scope of the documentation, but could be put as a template instead.

I personally would have found it useful. Should I try and make a full tutorial in a seperate repo, with a complete boilerplate config? I am somewhat busy, and don't have the best of knowledge, but I could work on it and improve it. If it got good enough you could redirect people to it or import it into the docs. Also can't the documentation from the services.minecraft-server just be copied from the file as it appears to be there?


Testing on Custom Images

Hello,
Thank you for your great implementation. Can you kindly tell me how can I use the pretrained model to test on my own images.
Thanks

Hi @Jnasic,
It's a great idea. But my code supports testing on only CelebA and CelebA-HQ at the moment.
If you'd like to do it yourself, what you need to do is to make a custom dataset class and replace test_dataset with it in this line. The custom dataset is similar to CelebA dataset (see here). There is no need to read the CelebA files but paths of your testing image. And you need appropriate transform functions when loading images, which are resizing them to args.img_size and normalizing them to [-1, 1].
I'll try to make a custom image loader if I have time this weekend. If you are not in a hurry, you can just wait for a couple of days.

I forgot to mention that you will also need to build an attribute list for your custom images like the ./data/list_attr_celeba.txt. AttGAN encodes an image (somehow disentangles its characteristics) and then decodes it with a set of given attributes. So the model needs to know what specific attributes the image has as well as all the target attributes that you want to change it into. It requires a lot of work though.

Hi, I've added custom image dataset in 2f8cb3e. You can test on your custom images after preparing images and the attribute list in ./data. Please read the instruction here.

Thanks, I will look at it.
Too many thanks.


Incorrectly getting io.EOF before the end of file when using Decoder.Decode

When there is a very long line (specifically, 64 * 1024 = 65536 characters or longer) in a file processed by Decoder.Decode, the Decode method returns io.EOF when it reaches the very long line, even when it is not the end of the file.
To reproduce this bug, see the sample code and test file in this small repo. These are based off of the sample code in the fixedwith repo's README here. In the small repo I provided, the test file contains 4 data lines, similar to the sample data in the README, except the 2nd line has over 65536 characters. The sample code uses the Decoder to read each line and print out the struct version of the line. It prints out the first line correctly, then prints a message indicating io.EOF was returned from the second line, e.g.:
go run main.go
{ID:1 FirstName:Ian LastName:Lopshire Grade:99.5 Age:20 Alive:false Github:f}
Got EOF%

I believe this may be happening because lines 108-113 of decode.go return io.EOF if, after calling readLine, the Decoder’s done flag is true and the returned values of readLine are err == nil && !ok. Looking into readLine (specifically, lines 162-166), if the result of the Decoder’s underlying Scanner object’s call to Scan() returns false, these conditions will be met. Looking into the Scan function in bufio/scan.go here, if the buffer length is greater than the maxTokenSize (which is 64 * 1024 = 65536), the method returns false. This false is then being used by Decoder to return io.EOF, even though this is not the end of the file.

@kate-mcardle This has been fixed by #48 and v0.9.2 has been released containing the fix.
If you currently have a use case that requires reading very long lines, please open another issue.

@kate-mcardle Thanks so much for submitting this detailed bug report! I've opened #48 that changes the behavior to return ErrTooLong and documented to maximum line length.
Do you currently have a use case that requires reading lines longer than 65,536 characters?

Regarding your question about a use case that requires reading lines longer than 65,536 characters - not exactly. Some data I process does contain lines longer than that, but such lines are always data errors. So I don't need to actually process those lines, but I do need to access any lines that come after such a line. The fix you made is sufficient for this, as it alerts me that there is such a line and I then know to separately remove it.


Negative answers not being handled correctly.

Summary
Negative answers are being returned without their negative symbols.
What is the current bug behavior?
Failing tests for the operations 1-2. Returns 1  Same for any other operations with a negative number.
What is the expected correct behavior?
The correct response should be to return the number, and the sign in front of it where it is negative. In the case of the operation 1-2 the correct response should be -1.
Possible fixes
The error looks like it occurs in the evaluatePostFix method. Specifically, when it is choosing the correct case in the switch statement.
The line calculationStack.push( calculationStack.pop() - calculationStack.pop() ); seems to be the cause of the issue.
Prior to it's execution, the value of calculationStack is [1,5] in this example. The operations are correct. So this might be something to do with how values are being popped off the calculationStack. My guess is that it's getting the values wrong and subtracting 1 from 5 instead of 5 from 1. So the fix probably has to fix the order which elements are popped off the array.

As an addenda, the order which elements are being popped off the calculationStack is probably affecting some other operations.

Fixed in #30 . Issues was to do with the stack and popping. Added a subtrahend and minuend variables with the correct operations.


missing workflow figure?

This may be a trivial correction, but may helpful for any other outsiders looking at your code.
I was looking through skimpy/tutorials/ORACLE/tutorial_toy.py and on line 53, it says "A simplified version of the workflow presented in figure S9." S9 does not exist in the supplementary material. Did you mean S8? Thanks.

@janisshin, Thank you for your comment. The code is revised to reflect changes that were part of the revision process. We are currently in the process of reviewing if an updated version of the paper can be posted while not violating the submission protocol. Should it be possible to post an update to bioRxiv of the current state of the paper we will do so as soon as possible.


data(mental-health): add wgm 2018 report

This PR adds the WGM 2018 dataset on Mental Health.
The original data comes as a questionnaire. We build two types of variables:

Share: share of a particular answer to a particular question.
Count: number of a particular answer to a particular question.

Variables have long naming convention:
Share - Question: [QUESTION] - Answer: [ANSWER] - Gender: [GENDER] - Age_group: [AGE GROUP]

e.g.
Share - Question: After the COVID crisis ends, your government should spend money on preventing and curing dieases ONLY if they pose a risk to poeple in your country - Answer: DK/Refused - Gender: all - Age_group: 15-29

Other points

shared.py contains ID to label mappings.
Percentages are obtained by weighing the answers. Source provides these weights, which aims to minimise bias in survey estimate
Also minor fixes in variable names from WGM 2020 dataset. Basically aligning names between 2018 and 2020 versions.

FYI, @pabloarosado, this is practically identical to https://github.com/owid/etl/pull/1035. Just the questionnaire back then was slightly different, hence some questions have differed.


pass a parameter from local python script to the function in the script in Opentrons

Hi, I'm trying to pass a parameter looped in my local python script to the python script in Opentrons.

current behavior

I connected local computer with Opentrons via paramiko, ssh. and I have a function in local, which loops i from 0-24:
for i in range(25):
stdin,stdout,stderr=ssh_client.exec_command('bash -lc "python3 /data/test.py dist_sample(i)"')
and I need to pass the parameter i in local computer  to opentron script so it can execute this:
the python script in Opentrons:
def dist_sample(i):
pipette.pick_up_tip()
pipette.distribute(400, sample.wells(i), p12.rows('A'),new_tip='never')
pipette.drop_tip()

I'm expecting the i passed from local, would be in dist_sample(i). For example, if i is 0 in local, when I call stdin,stdout,stderr=ssh_client.exec_command('bash -lc "python3 /data/test.py dist_sample(i)"'), the dist_sample should also take parameter i as 0.
For some reason, I can't pass the parameter from local script to the function in the script in Opentrons.
Any help would be appreciated. Thanks for your time!

Hi @ffffffrank! A few things here:

python3 /some/file.py function_name() is not a valid way to call a function from the command line
In your local code sample, it looks like your sending the literal character "i" instead of inserting the value via .format or similar

When you execute a python script from the command line, all values after the script file name get passed to the program as string command line arguments. I would recommend researching how to use the argparse module to read CLI arguments on your remote script.
You'll also need to modify your local script to pass the value of i into the call:
I don't know if this will work, but hopefully this could be a jumping off point for you to get something working:
# local file
for i in range(25):
    stdin, stdout, stderr = ssh_client.exec_command(
        f'bash -lc "python3 /data/test.py {i}"'
    )

# remote file
import argparse

parser = argparse.ArgumentParser(description="Distribute liquids")
parser.add_argument("source", metavar="S", type=int, help="Source well")

args = parser.parse_args()
dist_sample(args.source)

def dist_sample(i):
    pipette.pick_up_tip()
    pipette.distribute(400, sample.wells(i), p12.rows("A"), new_tip="never")
    pipette.drop_tip()

I'm going to close this seeing as it's a support request, but feel free to continue using this thread for questions if you're still having trouble getting this to work

Hi @ffffffrank! A few things here:

python3 /some/file.py function_name() is not a valid way to call a function from the command line
In your local code sample, it looks like your sending the literal character "i" instead of inserting the value via .format or similar

When you execute a python script from the command line, all values after the script file name get passed to the program as string command line arguments. I would recommend researching how to use the argparse module to read CLI arguments on your remote script.
You'll also need to modify your local script to pass the value of i into the call:
I don't know if this will work, but hopefully this could be a jumping off point for you to get something working:
# local file
for i in range(25):
    stdin, stdout, stderr = ssh_client.exec_command(
        f'bash -lc "python3 /data/test.py {i}"'
    )

# remote file
import argparse

parser = argparse.ArgumentParser(description="Distribute liquids")
parser.add_argument("source", metavar="S", type=int, help="Source well")

args = parser.parse_args()
dist_sample(args.source)

def dist_sample(i):
    pipette.pick_up_tip()
    pipette.distribute(400, sample.wells(i), p12.rows("A"), new_tip="never")
    pipette.drop_tip()

I'm going to close this issue since it's a support request, but feel free to continue using this thread for questions if you're still having trouble getting this to work

Hi Mike,
Thanks for your help.
just a quick question. So if I don't need to pass any value to the remote script. Can I just call the function directly in local like this?
stdin, stdout, stderr = ssh_client.exec_command('bash -lc "python3 /data/test.py dist_sample()"' )

Can I just call the function directly in local like this?
stdin, stdout, stderr = ssh_client.exec_command('bash -lc "python3 /data/test.py dist_sample()"' )

No, unfortunately that's not how executing Python from the command line works. When you call python (or python3) on a file, you're doing python file_name.py args.... Every space-separated thing in args... is simply treated as a string. Python doesn't know (or care) that you've written a function name.
If you'd like to execute dist_sample remotely, I'd recommend one of these options depending on your needs:

Add a call to dist_sample in your remote Python file to execute if the script file is called directly

This will work if you don't ever need to call other methods in the file
Local:

stdin, stdout, stderr = ssh_client.exec_command('bash -lc "python3 /data/test.py"')

Remote:

def dist_sample():
    pipette.pick_up_tip()
    pipette.distribute(400, sample.wells(), p12.rows("A"), new_tip="never")
    pipette.drop_tip()

if __name__ == "__main__":
    dist_sample()

If you need to call other methods, configure argparse to expect a method name as the first argument, e.g. python3 my_file.py method_name arg1 arg2 arg3

This could get a little complicated depending on the needs of your other methods
I would recommend generally researching Python command-line interfaces and argparse
That should be more helpful than I am able to be

Depending on how your import paths, you may also want to look into python -c "...", but I'm not sure how to get that to work with an absolute path to a script remotely, which is why I recommended the options above

Can I just call the function directly in local like this?
stdin, stdout, stderr = ssh_client.exec_command('bash -lc "python3 /data/test.py dist_sample()"' )

No, unfortunately that's not how executing Python from the command line works. When you call python (or python3) on a file, you're doing python file_name.py args.... Every space-separated thing in args... is simply treated as a string. Python doesn't know (or care) that you've written a function name.
If you'd like to execute dist_sample remotely, I'd recommend one of these options depending on your needs:

Add a call to dist_sample in your remote Python file to execute if the script file is called directly

This will work if you don't ever need to call other methods in the file
Local:

stdin, stdout, stderr = ssh_client.exec_command('bash -lc "python3 /data/test.py"')

Remote:

def dist_sample():
    pipette.pick_up_tip()
    pipette.distribute(400, sample.wells(), p12.rows("A"), new_tip="never")
    pipette.drop_tip()

if __name__ == "__main__":
    dist_sample()

If you need to call other methods, configure argparse to expect a method name as the first argument, e.g. python3 my_file.py method_name arg1 arg2 arg3

This could get a little complicated depending on the needs of your other methods
I would recommend generally researching Python command-line interfaces and argparse
That should be more helpful than I am able to be

Depending on how your import paths are set up, you may also want to look into python -c "...", but I'm not sure how to get that to work with an absolute path to a script remotely, which is why I recommended the options above

Got it, thanks for your help!


ZUMBLE Changeset

This is a very large PR and its understandable if you don't want to add these changes
A brief summary of this PR is (but by no means a full list)

Swap to using rustls 0.23
Swap rustls 0.23 to use ring so we don't have to worry about cmake/llvm for windows
Generate our own key for TLS so we don't have to worry about generating it via OpenSSL
Swap to a concurrent hashmap
Fix many cases where deadlocking could happen (hopefully fixes all of them)
Move some stuff away from async io when its not needed
Remove a lot of the RwLocks and swap them out with atomics/atomic pointers
Reduce the amount of allocations we need when we're handling packets for players by wrapping the packet in an Arc

Thanks a lot for contributing back your changes.

is is a very large PR and its understandable if you don't want to add these changes

Yeah it's a bit large, but i have already see some of your changes in your fork, and most of them seems needed.
However will not do this in the near future we have a lot on our plate with other devs and changes, we have also a lot of PR backlog to check on our other repos, so this wont be reviewed in the near time.
Anyway thanks a lot for you contribution :heart:


Ixrec I hope this works and doesn't bother you

Realized that I'd need to make a branch off your repo for it to work this way


Cannot find module './../../rtp_media_config' on ./initLicode.sh

Hello I'm trying to install licode but I'm getting stuck with this error for 2 days already.
I tried to reinstall absolutly everything, had some problems with boost but I think it's already fixed.
I get a similar error before "Cannot find module 'uuid/v4'", I fixed it easily with:
npm install uuid
I can't find any info about this error, could someone help me please?
Error: Cannot find module './../../rtp_media_config'
    at Function.Module._resolveFilename (module.js:476:15)
    at Function.Module._load (module.js:424:25)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/user/licode/erizo_controller/erizoJS/erizoJS.js:10:21)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)

I'm working in ubuntu 14.04

./scripts/installUbuntuDeps.sh
./scripts/installErizo.sh -f
./scripts/installNuve.sh
./scripts/installBasicExample.sh
then
./scripts/initLicode.sh
./scripts/initBasicExample.sh
in ./scripts/installErizo.sh
cp $PATHNAME/rtp_media_config_default.js $ROOT/rtp_media_config.js

rtp_media_config_default.js in scripts folder

download the latest code...rtp_media_config.js has been added


ARROW-10164: [Rust] Add support for DictionaryArray to cast kernel

NOTE: this builds on #8333 and https://github.com/apache/arrow/pull/8340
This PR adds support to the rust compute kernal casting DictionaryArray to/from  PrimitiveArray/StringArray
It does not include other types such as LargeString or Binary (though the code could be extended fairly easily following the same pattern) -- but my usecase doesn't need LargeString or Binary.

Closing so I can make a draft PR. Sorry for noise


Output Blank on Windows Server Core

General description of bug:

What happened: Running fastfetch.exe produced no output.
What should happen: Output should be written to the console when runnig fastfetch.exe
Did it work in an older version: N/A
Where did you get the binary: Github Release
Does this issue still occurs in the latest dev build? Unsure

Often helpful information:
Output of fastfetch --list-features:
//None

I guess it's because Windows Server Core lacks some system dlls required by fastfetch, so fastfetch crashes at start. Although fastfetch is a CLI program, it does require some dlls to fetch desktop / GUI related information

Please check if these dlls exist in C:\Windows\System32
    bthprops.cpl
    dwmapi.dll
    GDI32.dll
    IPHLPAPI.DLL
    ole32.dll
    OLEAUT32.dll
    OPENGL32.dll
    WS2_32.dll
    ntdll.dll
    VERSION.dll
    SETUPAPI.dll
    HID.DLL
    WTSAPI32.dll
    dxva2.dll
    KERNEL32.dll
    USER32.dll
    SHELL32.dll
    ADVAPI32.dll
    ucrtbase.dll

We now have full support for Windows Server 2022 Core edition


docs: Add docker example

Related to #844

Hmm, it might make sense to remove the other https://github.com/prefix-dev/pixi/tree/main/examples/docker-build example?

Hmm, it might make sense to remove the other main/examples/docker-build example?

Yeah I think it does make sense!

Thanks pavel!


4.19.15-rt12 -> 4.19.25-rt16

This verison works. Been running it for couple days and see no issues.

Apologies for the latency.  Much obliged!

No problem. Thanks.


[stable/jenkins] Agent service does not support NodePort at deployment time

Is this a request for help?:
No

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
Feature Request

Version of Helm and Kubernetes:
Helm:
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}

Kubernetes:
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b", GitTreeState:"clean", BuildDate:"2018-01-18T10:09:24Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Which chart:
stable/jenkins
What happened:
When creating a new deployment using helm upgrade -i -f ./some-values stable/jenkins with Master.SlaveListenerServiceType=NodePort the service is created with the external port using a randomized value. Jenkins has no knowledge of what this value should be and will continue using its default SlaveListenerPort=50000. This results in an agent external to the cluster being unable to connect without manually configuring the JNLP port to match the randomized service port.
What you expected to happen:
To be able to configure the nodePort on the service at install time.
How to reproduce it (as minimally and precisely as possible):

Install the stable/jenkins chart setting Master.SlaveListenerServiceType=NodePort
Observe the creation of the agent service with the external port getting set to a random value.
Attempt to attach a external "Permanent Agent" to the newly create Jenkins instance.
Observe failure to connect due to dialing into the wrong port.

Anything else we need to know:
I have a proposed minimalist fix for this but I am waiting on my org to accept the CLA. Basically it's checking if the Master.SlaveListenerServiceType=NodePort and that Master.SlaveListenerPort is set and then setting the service's nodePort=Master.SlaveListenerPort.
This is an on-prem installation and to my knowledge is the only way to get something like this to work. I have an ingress configured on the master but I don't believe it's possible to configure multiple back-ends on the ingress without different subpaths.

Please provide a temp detail solution until the issue resolved  i.e. how to "manually configuring the JNLP port to match the randomized service port"


Implemented folders feature

added folders to UserDAOImpl
modified RecipeListView to accommodate for the new FolderView class
added dropdown menus to BookmarkView to create and access folders
added dropdown menu to IndividualRecipeView to allow users to add that recipe to their folders
refactored SpoonacularRecipeDAO to get number of results to display from the AppConstant class

commented out some newly added files so that the programs still runs while I fix them


Add date format for ES

Codecov Report

Merging #371 into release-1.14-sp3 will increase coverage by 1.03%.
The diff coverage is n/a.

@@                  Coverage Diff                   @@
##             release-1.14-sp3     #371      +/-   ##
======================================================
+ Coverage               39.99%   41.02%   +1.03%
- Complexity                727      768      +41
======================================================
  Files                     103      110       +7
  Lines                    7301     7588     +287
  Branches                  826      867      +41
======================================================
+ Hits                     2920     3113     +193
- Misses                   4075     4148      +73
- Partials                  306      327      +21

Impacted Files
Coverage Δ
Complexity Δ

...va/org/sunbird/common/models/util/ProjectUtil.java
72.06% <ø> (ø)
36 <0> (ø)
:arrow_down:

...n/java/org/sunbird/common/models/util/JsonKey.java
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...otification/sms/providerimpl/Msg91SmsProvider.java
74.57% <0%> (ø)
25% <0%> (?)

...rg/sunbird/notification/utils/PropertiesCache.java
0% <0%> (ø)
0% <0%> (?)

...notification/sms/providerimpl/ProviderDetails.java
54.54% <0%> (ø)
1% <0%> (?)

...rc/main/java/org/sunbird/notification/sms/Sms.java
57.14% <0%> (ø)
1% <0%> (?)

...tion/sms/providerimpl/Msg91SmsProviderFactory.java
100% <0%> (ø)
4% <0%> (?)

...ava/org/sunbird/notification/utils/SMSFactory.java
83.33% <0%> (ø)
2% <0%> (?)

.../java/org/sunbird/notification/utils/JsonUtil.java
87.5% <0%> (ø)
5% <0%> (?)

...ain/java/org/sunbird/common/ElasticSearchUtil.java
61.2% <0%> (+0.67%)
88% <0%> (+3%)
:arrow_up:

Continue to review full report at Codecov.

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


Implement credential auto-refresh in authorization_policy

Here are some starting points in other Azure SDKs:

https://github.com/Azure/azure-sdk-for-net/blob/6afdb92e398d63280f2225b54c19386a91b50485/sdk/core/Azure.Core/src/Pipeline/BearerTokenAuthenticationPolicy.cs#L195-L337
https://github.com/Azure/azure-sdk-for-java/blob/e5b28c9da4ad7e7601f106ff1dfe23644885e9f2/sdk/core/azure-core/src/main/java/com/azure/core/implementation/AccessTokenCache.java#L64-L146

Token caching landed in #1484.


Sails is not binding oneToMany association URLs

Node version: 8.11
Sails version (sails): 1.2.2
ORM hook version (sails-hook-orm): 2.1.1
Sockets hook version (sails-hook-sockets): 1.5.5
Organics hook version (sails-hook-organics):
Grunt hook version (sails-hook-grunt): 3.1.0
Uploads hook version (sails-hook-uploads):
DB adapter & version (e.g. sails-mysql@5.55.5<EMAIL_ADDRESS>Skipper adapter & version (e.g. skipper-s3@5.55.5):
Operating system: Ubuntu 18.10

I have a problem trying to reproduce a OneToMany association like Owner -->Pets in the official documentation but in my case is Client--> Bugets where a Client could have one or N budgets.
The fact is that I run the server with command sails lift --prod --silly or sails lift --silly where I can see that some interesting routes were binded:

Binding route :: get /client/:parentid/budgets POLICY: localize
Binding route :: get /client/:parentid/budgets POLICY: isauth
Binding route :: get /client/:parentid/budgets BLUEPRINT: populate

After that I create a Client, and after a Budget where I set the clientID for example to 1 to associate to the first and only client that I've created.
So after that I do:
GET /budget/1 which returns the budget and 1 for the clientID
GET /budget/1/client which returns just clientID and I've seen in official documentation that this route should return the populated entire client, but is just returning the value of the id. I can workaround this making a new request GET /client/1 what It's ok but I prefer normal flow and get the client in just one request.
GET /client/1/budgets which returns 404 Not Found while this route was binded as you can see at the start of this issue. Also using the --silly logger shows:

verbo: In populate blueprint action: Specified parent record (1) does not have a budgets.

thrown by populate.js from Sails core files.
After that I went deeper and I've launched sails console where I introduced the following command: Client.findOne({id: 1}).populate('budgets').then((client)=>{console.log(client)}) which printed rightly the budget/s associated to that client so the relationship is properly generated internally but not accessible via URL.
I've asked in Gitter chanel and StackOverflow with no luck.
There follows the most specific code but I can push my entire project excluding the most sensitive parts or any kind of configuration of my project if is required:
//Client.js
module.exports = {
  primaryKey: 'id',

  attributes: {
    id: {
      type: 'number',
      unique: true,
      autoIncrement: true
    },
    name: {
      type: 'string'
    },
    phone: {
      type: 'string',
      unique: true
    },
    email: {
      type: 'string',
      unique: true
    },
    budgets: {
      collection: 'budget',
      via: 'client'
    },
  }
};

// Budget.js
module.exports = {
  primaryKey: 'id',

  attributes: {
    id: {
      type: 'number',
      unique: true,
      autoIncrement: true
    },
    client: {
      model: 'client'
    },
    budgetItems: {
      type: 'json'
    }
  }
};

Hi @jmelich You mentioned you could provide a repo to help the Sails team poke around in. That would be extremely helpful and expedite any tips/ advice we could give you.

I've cleaned sensitive data or code from my project and I've uploaded to github. There is the link: https://github.com/jmelich/sailsjs_error. Even in these project I tried to create a Client and a pair of Budgets and associate to it and GET /client/1/budgets still returning not found in a project that contains just models...

Hi, @jmelich! We took a look at your associations and tested out the "populate" blueprint URL. After a bit of fiddling, it appears that sails-hook-deep-orm is causing the binding URLs to behave unexpectedly. If you uninstall sails-hook-deep-orm, it looks like everything should work just fine.
We've actually never used sails-hook-deep-orm, so we're not sure how else it may impact the documented usage.
Thanks for reaching out, and happy sailing! ⛵

@jmelich: Also, looks like this issue has already been reported at emahuni/sails-hook-deep-orm#6.

Omg third party packages conflicts as always... I've spent a lot of time looking for the cause and I've never thought it could be related to an installed package, anyway I'm going to warn sails-hook-deep-orm owner and see if my project could be useful for him to fix or improve that. I really appreciate your help, so thanks and excuse me to make you losing your time with this... Thanks and happy sailing!


Warn about analytics on first join

Addresses #187

@bloxgate can we move this into the organization repository? It can't run the build tests from your personal GitHub. Just change remotes and push a branch.

@bloxgate can we move this into the organization repository? It can't run the build tests from your personal GitHub. Just change remotes and push a branch.

Done, though that feels like something we should fix for the future. We can't expect everyone opening a PR to be able to push to here.


[Backport release-23.11] stdenv: substituteStream: deprecate --replace in favor of --replace-{fail,warn,quiet}

Description of changes
Backport the following changes:
https://github.com/NixOS/nixpkgs/pull/260776
https://github.com/NixOS/nixpkgs/pull/286526
https://github.com/NixOS/nixpkgs/pull/287111
This should allow backporting changes like this: https://github.com/NixOS/nixpkgs/pull/292041

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Tested by building https://github.com/NixOS/nixpkgs/pull/292041 on top of this change

Functionality LGTM, but I'm not sure if we should backport the release note and deprecation warning.

Removed. Should I remove the changes to the docs too?

Should I remove the changes to the docs too?

Don't think that is necessary. LGTM, Thanks!


Nick: Watch peypallogs.com

Nick requests the watch of the watch_keyword peypallogs\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

peypallogs\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.


Add a repeat option for extractors to WebsiteAgent

This is useful such as when you want to include the title of a page in all events created from the page.  In combination with the template option (#1743) and the _loop_ variable (#1768), I guess you could finally achieve crawling of paginated contents properly, by adding the link to the next page to the last event created by a check, incrementing the nest level, feeding it back to the agent via a TriggerAgent with conditions on the presence of the said link and the nest level.
The implementation with regard to Repeater may be too tricky, and the wording of documentation seemed far beyond me, and I'm not 100% certain as to the naming of the option, so any feedback is welcome!

This allows user to include a value that only appears once in a resource in all events created from it, for all extraction types, which has been possible only in the html/xml extraction types owing to the power of XPath, but never in regexp/json.
@cantino What do you think?


Add a Gitter chat badge to README.md

githubteacher/dev-oct-13 now has a Chat Room on Gitter
@githubteacher has just created a chat room. You can visit it here: https://gitter.im/githubteacher/dev-oct-13.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

@brianamarie What do you think of this change? Is it 👍 to 🚢 ?

👍


Don't import all of primeflex in box-form.component.scss

The @import added all of primeflex to the output css. I don't think that's intended at this point.
This PR replaces this with equivalent css.

Thank you very much @Epskampie