What to do with 4 documents in docs that do not belong to the website

The /docs directory is where the chrono website is served from. It also contains 4 documents that do not seem to belong to the website, but that are "documents":

Feature Report - ChronometricAge Extension.pdf
Feature Report.md
Implementation Experience Report- ChronometricAge Extension.pdf
Implementation Experience Report.md

If these should be served from the website, it is better to place them in docs/assets/documents
If not, they maybe they can go in a /reports directory?

@baskaufs That all sounds very good.  I like the idea of the TAG making that recommendation about the VMS. Should it go for public commentary since the VMS is a standard?
@peterdesmet Let's go with the /reports directory. Are you willing to make those other changes Steve recommended while doing that? If you want me to, let me know and I will do it after the /reports directory is populated with those four docs.

Yeah, I think it could essentially be managed using the same process as vocabulary changes, but with the TAG standing in the place of the vocabulary Maintenance Group.
One of the problems with the VMS is that it's scope is restricted to vocabulary standards. That's because the charge of the task group that created it was restricted to that and not to standards in general. I think that the Process doc says something about the Interest Group that charters the Task Group taking responsibility for maintaining the standard after it's adopted, but at this point I don't even remember which group the Vocab TG was under. @tucotuco, do you remember? It may have been the TAG anyway. It would be useful to clear this up because other orphaned standards like the GUID AS are in the same situation. If the TAG continues to be a functioning group, maybe the TAG could just be given that responsibility.

No, I don't remember under which group that was spawned, but the TAG makes good sense in any case.

Those documents are critical for extension efforts. I think we should formalize a reports directory for standards.

@tucotuco as this is unrelated to the website work, I'll let you make the necessary changes (including moving to /reports).

Accepted.

Done.


Removing unnecessary spread plugin proposal since it's in @babel@7

Related to the issue #5310 that's a correct observation since "@babel/core": "7.1.0" is already a dependency make this plugin unnecessary.
https://babeljs.io/blog/2018/08/27/7.0.0#tc39-proposals-https-githubcom-tc39-proposals-support

I see that trevis is failing to run e2e-installs.sh, what locally runs just fine. Any idea what should be done here?

We should probably add a E2E test with the old regression test to make sure this doesn't break again.

The error is happening for the --use-pnp flag, that's creating the node_modules anyway.

This behavior still seems buggy, see unreleased patch to fix these interactions: https://github.com/babel/babel/pull/8793


[Feature request] Make internal links work in PDF export

Would be nice if the internal links set on shapes would also work in the exported pdf.
I know it is possible in PDF to link to certain pages within the pdf itself.

I see this is still in triage since Jan, so I think I should go with PPT for my current course till this feature is added.
Looking forward to using this feature with the super power that draw.io has in creating charts.

Hello.  This would be a great feature, but all issues related to this have been closed.  Is there a reason this is no longer on the low priority list?

For future readers, another possible way to make links work is to export the .drawio file as HTML instead of PDF. After pressing on a shape with an associated link, the associated page will open.

For future readers, another possible way to make links work is to export the .drawio file as HTML instead of PDF. After pressing on a shape with an associated link, the associated page will open.

It's true that exporting to HTML preserves the internal links, but I've noticed that Sharepoint does not properly display HTML files. So when working in Sharepoint, exporting to HTML isn't an option.
Adding my vote to making internal links work when exporting to PDF.

It would be an amazing feature for wireframes.
Adding my vote to making internal links work when exporting to PDF.

Working with external clients and peers for review makes this feature absolutely a must.
Adding my vote to making internal links work when exporting to PDF.

+1

Can somebody finally realize this "most wanted" feature? Almost 4 years have passed since the first request. PowerPoint can do these internal links between pages in PDF. MS Visio can do it either. But these tools are not convenient enough. Drawio is extremely useful and easy to use but still can`t do such an obvious thing as exporting to PDF with hyperlinks between pages. How come?

Looking for a Visio alternative, linking pages in a PDF export was the first thing I tested in draw.io and it doesn't work :(
+1 to have this added, please

Try Print, Save as PDF instead of Export as, PDF.

Try Print, Save as PDF instead of Export as, PDF.

Not an option on my end. I can print to Adobe, or print to Microsoft PDF. Neither results in functioning links. There is no 'save' option.

Fix in 24.3.0

Thank you so much for this fix! It makes a massive difference to my work. Appreciate your efforts.


Add Docker for Python Developers - Documentation

Riffed off Golang to create the Docker for Python devs section.

Awesome ! Thanks for all your great effort @bhavaniravi


Change returned reflect.Value in Rows.ColumnTypeScanType to UniqueIdentifer for GUID types

The Rows.ColumnScanType is returning reflect.TypeOf([]byte{}) for GUID types (typeGuid). This changes it so that it instead returns reflect.TypeOf(UniqueIdentifier{}), which has the knock down effects of using packages being able to correctly ascertain the column type for for UniqueIdentifier's.
This is needed for use by usql (see xo/usql#439) in order to correctly format/display GUIDs cleanly and as users expect.

thx for opening a PR. Is your change based on the desire to have the driver swap the bytes instead of clients having to know about SQL's difference in byte order?
This change feels like it needs a broader community discussion, though. What applications could it break?
sqlcmd
already expects it to be []byte. Does this change warrant a major version upgrade to make it clear that apps like sqlcmd will need to change their code appropriately?

Related issues from the original driver
https://github.com/denisenkom/go-mssqldb/issues/405
https://github.com/denisenkom/go-mssqldb/issues/732
Does this change affect the ability to scan a null value? See https://github.com/denisenkom/go-mssqldb/issues/725

@shueybubbles Prior to submitting this PR, I did not look at what other SQL drivers do, nor did I read the Go sql/driver documentation properly. This driver is likely doing the right thing and returning reflect.TypeOf([]byte{}) in this instance. I believe I know what I should do in usql that will not require any changes to this driver.

@shueybubbles Apologies for the time involved reviewing this, and do appreciate it. Thanks!


PartitionKeyExtractorStrategy instances do not have access to application context

When selecting the partion of a kafka topic using a custom PartitionKeyExtractorStrategy, the instantiated objects are not initialized to use configuration values or beans from the application context. This would be very useful when selecting the partition based on a configurable value.
I have a provided a demo. When starting it, the logging shows that the inserted @Value  is null and not properly initialized.
If this is on purpose the documentation should provide more information what is initialized into the this object.

If you configure your strategy implementation as a @Bean in the application context with a bean name of the fully qualified class name, that bean will be fully initialized by Spring and used by the binder. If the binder doesn't find a bean with that name, it will create one (and add it to the context), but it won't get a full Spring initialization.
@Bean(name="com.example.MyKeyExtractor")
public MyKeyExtractor extractor() {
	return new MyKeyExtractor();
}

Alternatively, you can implement ApplicationContextAware and the application context will be injected and you can get values from its environment (as well as beans etc).

Thanks @garyrussell for the input. I will update the documentation with this info.

@garyrussell @ilayaperumalg I am reviewing https://github.com/spring-cloud/spring-cloud-stream/issues/760 - wondering if we should consider deprecating this mechanism in a future release (1.2?) - at the risk of disabling creating such configurations per-binding. The whole mechanism is somewhat un-Spring-like.

Maybe replace it with a beanName ?
This was a carry-over from Spring XD where it was less-easy to add custom beans to the context.


Dynamic calendar system

This is a good library, however we need our application to be a little more dynamic i.e. we need to let the user switch between calendar systems. With the current version of moment-jalaali it is only possible through a lot of conditional development i.e. one needs to check for the flag and call the appropriate method (e.g. year or jYear) with the appropriate arguments (mostly formatting).
Following issue #30 I have a proposal.
I would suggest using a flag as well as the custom methods, so the following conditions would be true:
var dt = new moment(Date.now(), 'll', 'en', moment.SYSTEM.JALALI),
    currentJalaliYear = 1394,
    currentGregorianYear = 2015;

dt.year() == currentJalaliYear;
dt.format('YYYY') == currentJalaliYear;

dt.switchSystem(moment.SYSTEM.GREGORIAN); // Changes the calendar system to Gregorian
dt.year() == currentGregorianYear;
dt.format('YYYY') == currentGregorianYear;

dt.jYear() == currentJalaliYear;
dt.format('jYYYY') == currentJalaliYear;

dt.gYear() == currentGregorianYear;
dt.format('gYYYY') == currentGregorianYear;

Of course the formatting is just a suggestion which I suspect may even conflict with the week year tokens.

I want this project to be as identical to moment itself as possible. Doing what you proposed, makes maintaining it harder and I don't want to do that.
I suggest you create your own little utility functions which do the condition checking you said and call either year or jYear, or use YYYY format or jYYYY.

IMHO, using a flag to manage the calendar system is more integrated. The extra functions can be swapped with new parameters or eliminated completely.
My point is that, the calendar system should not affect formatting and method calls.
That being said, it's your decision and I completely respect it. :)

I'm convinced. Let me think a little more about it.

Great :+1:

I don't think the api needs changing. As it is, it's very readable and very easy to reason about how you want your dates formatted. In my opinion you, if you want to support both calendars in the same application you should follow the Provider Pattern. Take the code below for example:
// dateFormatProvider.js
export default (persian) => ({
  dateOnly: persian ? 'jYYYY/jM/jD' : 'YYYY/M/D',
  dateTime: persian ? 'jYYYY/jM/jD HH:mm' : 'YYYY/M/D HH:mm',
  // ...
});

So you can use it like:
const dateFormatProvider = require('./path/to/dateFormatProvider');

let persian = true;
let date = moment('1391/12/30', dateFormatProvider(persian).dateOnly);
//...

This pattern also wraps your formats inside a single file so you will have consistent formatting throughout your application.
And about the functions... yeah it would have been nice to have consistent api with the moment-js itself :sweat_smile:. So a flag on the object would do. But for the formatting I think this api should stay as it is.

You are right about formatting, but the problem is not formatting. Date pickers that use moment, are calling year, month, ... methods. As currently, moment-jalaali adds some other methods like jYear, jMonth, ... those date pickers need substantial rewrite to call these methods. This makes converting them a lot harder.
I have a plan for adding a flag and a global default to moment-jalaali and override year, month, ... methods, so that depending on the flag, it will switch to Gregorian or Jalaali, and I think this will make integration a lot easier.

Yeah it does. but have that flag defaulting to Georgian and keep the j... functions (but deprecate them). Don't introduce unnecessary breaking changes.
I love your library it awesome :D

Yes, that would be great and I appreciate your help.
Here is what I thought:
moment object will have a static property (like calendarSystem or system), defaulting to Gregorian. If it is not changed to Jalaali, everything works as normal. If it is set to Jalaali new instances will be created in that system.
When creating new instances, there can be an additional parameter to the constructor (the last parameter), which sets the system for that instance. If it is not provided, it defaults to previous static property.
When an instance is created, it's system can be changed by setting a property on the instance.
When methods of the instance are called, depending on the system, they do the appropriate job. If system is Gregorian, they just call their parent methods. If system is Jalaali, they do the conversion.
Thanks

moment object will have a static property (like calendarSystem or system), defaulting to Gregorian. If it is not changed to Jalaali, everything works as normal. If it is set to Jalaali new instances will be created in that system.

I would suggest against this. Because changing that on a global object has global side effect which is always bad. And very hard to trace.

When creating new instances, there can be an additional parameter to the constructor (the last parameter), which sets the system for that instance. If it is not provided, it defaults to previous static property.

If we do it on the constructor every time someone wants an instance of moment they have to invoke or bind calls to the constructor like moment('1360/5/26', 'jYYYY/jM/jD', null, false, 'jalali') or something like that. Since all moment instances are supposedly immutable a context switching might not be a bad idea! Something like:
m = moment('1360/5/26', 'jYYYY/jM/jD');

m.year(); // 1981
m.month(); // 8
m.date(); // 17

// switch context
m.calander = 'jalali';
m.year(); // 1360
m.month(); // 4
m.date(); // 26
m.dayOfYear(); // 150
m.week(); // 22
m.weekYear(); // 1360

// Switch back
m.calander = 'georgian';

m.year(); // 1981
m.month(); // 8
m.date(); // 17

This way, you can easily incorporate this side-effect into external libraries too:
m = moment('1360/5/26', 'jYYYY/jM/jD');
if(persian) m.calander = 'jalali';
require('./some/large/library').prettyFormatDateAndShow(m);
m.calander = 'georgian';
require('./some/database/connection').storeDate(m); // must be Georgian to store efficiently.

Easy, effortless and very easy to trace in case of bugs or errors (you just have to trace the instance, which is easier than tracing static property mutation) :D
Sorry I'm an API freak :D :D convention matters!
If this is ok with you I'll make the required changes (with tests) and open a PR in a day or two.

Yes and No.
The problem is, with this solution, we can't use other date pickers easily. They would still need a rewrite or somehow overwriting their usage of moment.
For example, imagine that there is a date picker field, and user can enter a text into the text input field and then click on the picker icon to show the picker. Since that picker might have implemented this functionality using normal date formatting string like this:
m = moment(userInput, 'YYYY/M/D')
// use m to update picker month view

then we can't use it easily with Jalaali calendar system.
I think we need a breaking change and change major version number. Then remove jYYYY, jM, ... formatting strings. And then somehow, depending on something else, decide weather parsing and formatting should be done in Gregorian or Jalaali.
When I created the project, I thought that having this ability to use a formatting string like YYYY/M/D [is] jYYYY/jM/jD is really interesting. But now, I think there is no actual real world use for this. Instead, having the ability to switch between calendar systems (like what you proposed) is a lot more useful. So, we can discard j prefixed format and parse strings and use normal format and parse strings.
What do you think?

Hmmm... I understand your point. Although we still don't need to remove those formats just yet. Deprecate them (show warning if they are used) and remove them with the next major release at least 1-2 months from after you deprecate them. Switch formatting context with that flag but still keep those formats (deprecate and document that the next major release removes them). Increment the minor version number and after a month or two remove them in the major release.
Sound good?
Do I get to work? :D
P.S. I don't know the api moment gives... does it allow overriding formatters? I mean... can we actually even change the behavior of YYYY or MM formatters?

If I was going to implement it, I would remove them and increase major version number. Users of the old version won't notice since package managers will not automatically upgrade to the new major version, and those who choose to upgrade, will be required to change their usage. I think this is safer, since they will notice it explicitly. I think they might miss or ignore deprecation warnings, and suddenly, by an automatic minor version update, their apps will stop working.
But the decision is yours. Your approach also works and users are familiar with deprecation concept.
About your last question, it doesn't allow overriding formatters. In current implementation, some methods are overridden. For example, format method first replaces j prefixed formatters with Jalaali values, and then calls super method and let it replaces Gregorian formatters.
Anyway, thanks for your time.

I think you misunderstood. What I'm saying it that you should increment one minor version deprecating them and adding the new features. Then with the next major release remove them. This way, their app will not fail, only show warning saying Next major release will remove this, use that instead. This prevents chaos. They are warned one or two months before the breaking changes are introduced. Instead of saying "If you want the shiny new version you have to review a million lines of code like RIGHT NOW" we say "if you want shiny new futures from now on you have one or two months to adept your code, and if you don't want those features then just don't do anything" :D
So I will mark the current formatting as deprecated, add the new functionality and then when you wish to release the next major version, you can remove the deprecated codes.
Okay then, I will try to work around that problem. Thanks a lot :+1:
I'll get to work as soon as I can ^^

Great. Thanks.
On Thu, Oct 8, 2015 at 8:01 PM, Ali Taheri Moghaddar
<EMAIL_ADDRESS>wrote:

I think you misunderstood. What I'm saying it that you should increment one minor version deprecating them and adding the new features. Then with the next major release remove them. This way, their app will not fail, only show warning saying Next major release will remove this, use that instead. This prevents chaos. They are warned one or two months before the breaking changes are introduced. Instead of saying "If you want the shiny new version you have to review a million lines of code like RIGHT NOW" we say "if you want shiny new futures from now on you have one or two months to adept your code, and if you don't want those features then just don't do anything" :D
So I will mark the current formatting as deprecated, add the new functionality and then when you wish to release the next major version, you can remove the deprecated codes.
Okay then, I will try to work around that problem. Thanks a lot :+1:
I'll get to work as soon as I can ^^
Reply to this email directly or view it on GitHub:
https://github.com/jalaali/moment-jalaali/issues/31#issuecomment-146606010

After spending some days trying to achieve what we discussed I bumped into an ugly truth. Moment.js itself is dependent on the api it provides! We can't touch some of the methods. Even if we do touch them and do some ugly hacks to get around it, we can't guarantee that our code will work with different versions of their api. take for example this:
I traced the add function to this line:
dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));

I did finish the functions with some hacks! but hacks are bad ideas! If we actually want the api we discussed we have to come up with some entirely different solution -_- I never expected moment.js to use it's own api like that :|
You can pull my fork and take a look. I'm not going to make a PR.

I looked at your fork, and it looks great and your hacks are great too :)
And I agree with you, but I don't have any ideas for a different solution. Your change is working now, but formatters are not changed. What should we do? Do you have any ideas?

Thanks ^^
All I can come up with is the constructor constructor. If we want to do this right we have to respect the api. We can have 2 simultaneous approaches. One being a constructor that can create 2 constructors one only constructing Gregorian moments with Gregorian static functions, and the other one only constructing Jalaali moments with Jalaali static functions. This way we can have exactly identical apis across the both realms. everything will be the same, except for the names, formats, inputs and outputs. all function names, properties and formats will remain identical.
The other approach is the context switching. We should have functions returning new instances of the other realm.
For example:
// To have both constructors simultaneously.
var gMoment = new moment.Gregorian();
var jMoment = new moment.Jalaali();

var gM = gMoment('1981/8/17', 'YYYY/M/D');
var jM = jMoment('1360/5/26', 'YYYY/M/D');

// To be able to switch constructors seamlessly.
// A little setup.
var Moment = moment;
Moment.g = new Moment.Gregorian();
Moment.j = new Moment.Jalaali();

// Make Gregorian the default.
moment = Moment.g;

var gM = moment('1981/8/17', 'YYYY/M/D'); // Gregorian instance

// Later on, switch to Jalaali:
moment = Moment.j;

var jM = moment('1360/5/26', 'YYYY/M/D'); // Jalaali instance

jM.equals(gM) // true

// To switch instances: (Will also respect immutability)
var gm = gMoment.fromJalaali(jm);
var jm = jMoment.fromGregorian(gm);

This will introduce a whole lot of breaking changes. I don't think we can deprecate the old api, we should outright replace it :grin:

Looks good. Please, go for it.

Alright, I'll try.

Nope... The only solution I came up with is the whole rewrite of the entire library so that it always keeps an original moment object and proxies all the operations with input/output conversion. There is no way to override the original api without introducing catastrophic side effects! So, the solution is to rewrite the library, and follow the Composition/Forwarding Pattern. I don't have the time for that unfortunately :cry:

Ok, nice try. Thanks anyway.

Very hard to implement. So it's a no-go


[Question]: Uniqe device ID redistributable?

What is your question?
I realized, that after i generate the deviceId on iOS got a good one, but after deleted the application and reinstall i've got another one. So it means this is not uniqe. I am wondering, that if i've got device 'A' with XYZ123 uniqe device id. And someone has device 'B' is there any chance that device 'B' got XYZ123 (same) device id, after i've deleted the application on device 'A'.
ios:  'identifierForVendor': data.identifierForVendor -> I'm talking about this id.
Thank you!
Checklist before submitting a question

[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I am using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

Same thing happening for me too. Once I am uninstalling the application, I am getting the new id. Is there any workaround for this?


Clone with git util in go-dapp

Instead of using go-git. Make sure authorization works with ssh or https.

No need to use plain git, because performance of git-clone procedure does not affect average build times: git clone result is cached.


Add support for Ansible vault password GPG encryption

Purpose
Managing Ansible vault passwords for each customer/environment could be a tough task when these passwords are shared among a team of developers. Dealing with those passwords is not that easy because we want the whole process to be painless and secure. Painless and secure, two words that could appear contradictory and thus force us to compromises.
One reasonable choice is to store Ansible vaults password for a customer in a particular environment in an encrypted file that is committed and versioned in a private git repository along with the customer's configurations.
Proposal
Using GnuPG is a classical approach to encrypt those passwords as we can use the GPG public keys of the whole developer team to make sure only those identities will be able to decrypt the passwords.
Once decrypted, the Ansible vault password can be injected in Arnold's container (via en environment variable), that will display it via a small bash script located in ANSIBLE_VAULT_PASSWORD_FILE (see Ansible's documentation).
By doing so, the developer doesn't have to know what the password is (or even type it), as everything will rely on its local GPG configuration.
Constraint
This feature should be optional as GnuPG would be a strong requirement that may not fit with companies security policy.

@jmaupetit I propose to close this issue as we are now confortable that this is best located in Matsuo.

Maybe we can let this issue open and change the label as a reminder to integrate this in the documentation?


🐛 Explore: The tool provider has already been set error with new backend system

Plugin Name
explore-backend
📜 Description
I've been trying to migrate our backend to the new backend system. One of the last plugins I need to migrate over is the explore backend plugin. I was holding on that until there was support for a custom tool provider, which is now possible as of 0.1.1.
However after following the provided docs I'm getting the following error:
[1] ForwardedError: Module 'exploreModuleToolProvider' for plugin 'explore' startup failed; caused by Error: The tool provider has been already set
[1]     at <anonymous> (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackendInitializer.ts:276:23)
[1]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[1]     at <anonymous> (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackendInitializer.ts:275:15)
[1]     at processNode (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/lib/DependencyGraph.ts:234:22)
[1]     ... 7 lines matching cause stack trace ...
[1]     at BackstageBackend.start (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackstageBackend.ts:38:11) {
[1]   cause: Error: The tool provider has been already set
[1]       at Object.setToolProvider (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage-community/plugin-explore-backend/src/plugin.ts:41:17)
[1]       at Object.init (/Users/jmezach/Code/rr/Backstage/packages/backend/src/modules/exploreToolProviderModule.ts:120:29)
[1]       at <anonymous> (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackendInitializer.ts:275:37)
[1]       at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[1]       at processNode (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/lib/DependencyGraph.ts:234:22)
[1]       at async Promise.all (index 0)
[1]       at processMoreNodes (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/lib/DependencyGraph.ts:226:7)
[1]       at DependencyGraph.parallelTopologicalTraversal (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/lib/DependencyGraph.ts:242:5)
[1]       at <anonymous> (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackendInitializer.ts:268:11)
[1]       at async Promise.all (index 2)
[1]       at BackendInitializer.#doStart (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackendInitializer.ts:239:5)
[1]       at BackendInitializer.start (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackendInitializer.ts:149:5)
[1]       at BackstageBackend.start (/Users/jmezach/Code/rr/Backstage/node_modules/@backstage/backend-app-api/src/wiring/BackstageBackend.ts:38:11)
[1] }

👍 Expected behavior
I expect my backend to start and use my custom tool provider implementation
👎 Actual Behavior with Screenshots
I'm seeing the error described above.
👟 Reproduction steps
I've followed the steps provided at https://github.com/backstage/community-plugins/blob/main/workspaces/explore/plugins/explore-backend/README.md#explore-tool-customization.
📃 Provide the context for the Bug.
Looking at this code I'm thinking there is bug there. The if there checks if a provider instance is provided, but then throws an error that one has already been set. I think the if should check the local toolProvider variable instead.
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Closing as fixed by: https://github.com/backstage/community-plugins/pull/914


Documentation on Managing Volumes gives the wrong local directory path

In https://docs.docker.com/kitematic/userguide/#managing-volumes the Managing Volumes section says that the local directory will be ~/Kitematic/<container's name>/but it is ~/Documents/Kitematic/<container's name>/ instead.

Fixed in #832 Thanks!


Update DG for mark order

Added sequence diagram
Added implementation details
Added design considerations

Codecov Report

Merging #127 (6566181) into master (124b0a8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #127   +/-   ##
=========================================
  Coverage     66.00%   66.00%
  Complexity      501      501
=========================================
  Files            95       95
  Lines          1721     1721
  Branches        193      193
=========================================
  Hits           1136     1136
  Misses          530      530
  Partials         55       55

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 124b0a8...6566181. Read the comment docs.


Issue #SB-9661 fix: Course/Resource: Take Notes Bold/Italic font style not reflecting

JIRA LINK

closed this PR as this is too old and this branch has reached end of life


[monkeys-audio] Update library to 4.8.3

Happened to notice that the current link returns a 404 http://monkeysaudio.com/files/MAC_SDK_433.zip

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

Thanks for the PR!


Better control of modal page layout

It would be nice to have more control over the layout of charts in the modal page.
As a minimum, I'd like to be able to have a singe table chart maxed-out on the entire modal page.

Yes that is a good idea, I have 2 ideas I'm thinking about. Let me know your thoughts/suggestions as well.
Option 1:

Allow the user to define the number of columns

Option 2:

Use some automatic logic, perhaps:
1 query - max modal
2 queries - split half/half
3 queries and above - tile in columns of 3

Option 1 seems to provide more control.
I don't know if that's possible at all, but maybe there's a way to load another dashboard's page as the modal?

Sounds good.

@j4zzcat you will see the new functionality once the below PR is merged to update the catalog version
https://github.com/newrelic/nr1-catalog/pull/472


Spanner schema admin functions for parent-child relationships

related #853

@meltsufin @dmitry-s changes made from in-person discussion, PTAL

@ChengyuanZhao I think you need to resolve conflicts before merging.


mapping between transcript ID to gene ID

Hello,
I am working with stable transcript and would like to map to stable gene ID.
I am using the rest API with python and was able to map between transcript_id.version_id to gene_id not version (ENST00000631435.1': 'ENSG00000282253')
Please advice what is the right way to map from transcript_id.version_id to gene_id.version_id.
My code is the following:
ext = "/overlap/id/{}?feature=transcript;species=human;prune_species=human".format(transcript_id)
r = requests.get(server+ext, headers={ "Content-Type" : "application/json"})
decoded = r.json()
for i in range(len(decoded)):
    decoded_trascript_id = str(decoded[i].get(u'transcript_id'))
    print('decoded_trascript_id is ',decoded_trascript_id)
    decoded_version = str(decoded[i].get(u'version'))
    print('decoded_version is ',decoded_version)
    if (decoded_trascript_id.strip() == transcript_id.strip()) and (decoded_version.strip() == version_id.strip()):
       print("i that was selected: ",i)
       idx_to_extract = i
       decoded_gene_id = str(decoded[i].get(u'Parent'))
       print("decoded_gene_id is: ",decoded_gene_id)
       trans2gene = {x: decoded_gene_id}  # full transcript with the version. gene ID without version

Hi,
One possibility would be plugging the fetched gene stable ID back into the lookup endpoint to extract its version: https://rest.ensembl.org/documentation/info/lookup
Hope that helps,
Michal

Thank you so much for the support. I have used the following code. Please
let me know if it does not make sense to you.
IN = 'ENST00000619216.1'
OUT = ENSG00000227232.5
import requests, sys
transcript_id = 'ENST00000619216.1'
ENST = transcript_id.split(".")[0]
T_VER =  transcript_id.split(".")[1]
server = "https://rest.ensembl.org"
ext =
"/overlap/id/{}?feature=transcript;species=human;prune_species=human".format(ENST)
r = requests.get(server+ext, headers={ "Content-Type" : "application/json"})
decoded_1 = r.json()
print(repr(decoded_1))
GENE_VER_ID = None
dictDecoded = decoded_1[0]
decoded_ver = str(dictDecoded['version'])
print(type(decoded_ver))
print('decoded_ver is ',decoded_ver)
if (decoded_ver.strip() == T_VER.strip()):
ENSG = dictDecoded['Parent']
print(ENSG)
ext = "/lookup/id/{}?expand=1".format(ENSG)
r = requests.get(server+ext, headers={ "Content-Type" :
"application/json"})
decoded_2 = r.json()
print(repr(decoded_2))
print(type(decoded_2))
G_VER = decoded_2['version']
print(G_VER)
GENE_VER_ID = "{}.{}".format(ENSG,G_VER)
print (GENE_VER_ID)
else:
print("version is not matching")
print(GENE_VER_ID)
Thanks,
Eila
On Thu, Apr 16, 2020 at 6:27 AM michalszpak<EMAIL_ADDRESS>wrote:

Hi,
One possibility would be plugging the fetched gene stable ID back into the
lookup endpoint to extract its version:
https://rest.ensembl.org/documentation/info/lookup
Hope that helps,
Michal
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Ensembl/ensembl-rest/issues/425#issuecomment-614561482,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHGYKZRORECNBFXHCJ4VGADRM3MSPANCNFSM4MHOIUDA
.

--
Eila
http://www.orielresearch.com
Meetup https://www.meetup.com/Deep-Learning-In-Production/

Hello Eila,
Sorry for the late reply, but I would request some clarification here.
Are you looking to find overlapping features for a given transcript id or trying to find the gene of the transcript?
Thanks,
Ameya

Hi,
As per Michal's message above, one possibility would be to use the lookup/id endpoint with the transcript stable id first, and with the gene stable id afterward:

https://rest.ensembl.org/lookup/id/ENST00000619216?content-type=application/json
https://rest.ensembl.org/lookup/id/ENSG00000278267?content-type=application/json

If you are interested in the features overlapping a gene - say ENSG00000278267 - the endpoint to use is instead overlap/id. For instance,
https://rest.ensembl.org/overlap/id/ENSG00000278267?content-type=application/json;feature=gene
Closing the issue because of its ageing; feel free to re-open it, if needed.
Thanks,
Stefano


Update contributors.coffee

tweaking before things go live. thxx :)

Will add these edits, but closing this pr


err="gas limit reached in the pool"

err="gas limit reached in the pool"
Description
We are currently using Graph Node to index transactions on the Edge network. The Graph Node Subgraph works as expected when getting data from events and add it to the graph entities. But for a specific event, it starts to make calls to the RPC endpoint in a loop and the Edge RPC instance starts to throw lots of the warnings as attached below and also consumes 100% of the CPU limits.
Graph Node

The graph has a listener to check each blockchain block.
This listener has some events linked to handler (Handler is a function that triggers when event is triggered onchain)
We have a handler that call erc20Contract.name(). When this call fails, the graph keeps calling on the same block until the request succeeds.

Logs
# Edge
polygon-edge 2023-11-06T14:05:15.484Z [INFO]  polygon.server.polybft: sync block notification received: block height=306344 current height=306344
polygon-edge 2023-11-06T14:05:15.581Z [WARN]  polygon.server.dispatcher: failed to dispatch: method=eth_call err="gas limit reached in the pool"
polygon-edge 2023-11-06T14:05:16.102Z [WARN]  polygon.server.dispatcher: failed to dispatch: method=eth_call err="gas limit reached in the pool"
polygon-edge 2023-11-06T14:05:16.390Z [WARN]  polygon.server.dispatcher: failed to dispatch: method=eth_call err="gas limit reached in the pool"
polygon-edge 2023-11-06T14:05:16.509Z [WARN]  polygon.server.dispatcher: failed to dispatch: method=eth_call err="gas limit reached in the pool"
polygon-edge 2023-11-06T14:05:16.566Z [WARN]  polygon.server.dispatcher: failed to dispatch: method=eth_call err="gas limit reached in the pool"
polygon-edge 2023-11-06T14:05:16.580Z [WARN]  polygon.server.dispatcher: failed to dispatch: method=eth_call err="gas limit reached in the pool"

# Graph Node
Nov 06 14:05:13.863 INFO Possible reorg detected, retrying, error: failed to process trigger:
block #295732 (0x056b…235b), transaction 9c39e240a06edb5bd90d14b206d19de350195b7674873043754e76921f28135e:
Ethereum node returned an error when calling function "name" of contract "ERC20Token":
RPC error: Error { code: InvalidRequest, message: "gas limit reached in the pool", data: None }

Notes

This works on Besu.

Your environment

Edge 1.3.2
Kubernetes

Related

#2023

This should not happen, if the Gas on transaction that is being passed to eth_call is set to 0. Can you please check how this eth_call is set up in that handler? How is he calling the eth_call? Can you give us the parameters he used in rpc call?

Hi @goran-ethernal , I just checked and the Graph Node has the Gas set to 50kk when doing RPC calls. Unfortunately, it's hard-coded as you can see here: https://github.com/graphprotocol/graph-node/blob/139f3144d8d878b528416fcd4f9a34353dc3dfb1/chain/ethereum/src/runtime/runtime_adapter.rs#L37
What are the possible solutions here?
Edge:

Does it makes sense to Ignore this value if Edge is running a zero gas network?

Graph Node:

Fork Graph Node and change it to zero
Ask for maintainers to make it configurable (it was once, but now it's hard-coded)

@goran-ethernal Thanks for the support. I'll see what I can do on my side.


Terminal access also seconding the question of lxc use instead of vm

First thanks a bunch! for this. I was just wondering if I should have access to xterm. I thought it was mentioned on DR ZZ's video but I could not get access once your virtual machine started. I needed to set the ip address and I couldnt copy and paste to novnc or spice so I typed it out and got it wrong once or twice lol.
Before giving up I tried to install hass.io on docker nested in an ubuntu 18.04 container. I had several containers in docker running nicely. Portainer, home assistant, and watch tower all ran fine in docker that way but I could not install hass.io . The install method Alternative: install on generic Linux server  only created a hypervisor and not fully functional hass.io. Wondered if you knew why? or would consider making a container running a similiar setup as the overhead for lxc containers is better than a virtual machine.
If you do get back to reading this than big thanks for the proxmox virtual machine

There is no SSH server install on the Hass.io OS. There is a HA Addon which add SSH, but it is confined and does not have the access needed to change the Hass.io IP address. Manually typing the commands are necessary at the moment.
I've attempted to get a properly functioning Hass.io deployment in an LXC, but there are a lot of limitations due to the security implementations. Proxmox has a set of security parameters that are very restrictive (by design, which is a good thing). Docker has a different set of security parameters, most of which assumes is running unconfined on the host OS. By the time you remove all of the limitations on the LXC so that Docker works properly, you've eliminated the purpose of running a LXC.
If you are desiring to run Docker containers on Proxmox, the best solution would be to install Docker natively on Proxmox. You will find people talking about that not being a good idea. The reason for their concern is because Docker will require many packages to be installed. This is ill advised because Proxmox is purpose built to be a hypervisor. If you are desiring to use Docker against best practices, follow the guides for installing onto a Debian system.

Thanks so much for taking the time to answer my questions. Gotcha in terms of the LXC. My reason for using the LXC was simply a resource one (hoping to use an older but decently spec'd system) but I defer to your judgement in terms of security. I really do like the versatility of a docker set up. I think I was just looking for someone who knows what there doing to say there is more to a LXC set up than setting up an Ubuntu LXC and following the directions for an alternative Hass docker install


[CHANGE]: dont allow national emergency as priority

Desired Change
State emergency please leave out.

Staatsnot bitte rauslassen.
Reason/Motivation for Change
Feedback from Schuhmacher via Mail from 2023-04-26
Impact of Change
No response

I think it makes sense to wait for further details about the possible priorities.
Comment from Schuhmacher: For importance, however, you should not only be able to specify "Simple - Immediate - Flash", but also something finer.
Flash", but should be more finely graded.

Bei Wichtigkeit sollte man aber nicht nur „Einfach - Sofort -
Blitz“ angeben können, sondern etwas feiner abstufen.
See: https://cloudstore.uni-ulm.de/apps/files/?dir=/MDS&openfile=80053910

National emergency should not be included


Feature/mnist visualization

Adding some functionality here to make it easy to quickly audit whether or not we're downloading and loading the mnist dataset properly. This is kind of just a visual assert statement, and will accomplish the same thing.
How to use:

Follow steps in main README.md to install dependencies and get the poetry shell up and running
Run python visualizations/audit_mnist.py to get a pop-up visualization of a random sampling of the dataset
If you want to change the size of the grid in the visualization, you can run python visualizations/audit_mnist.py --grid_size=10 to make the grid 10x10 (or any other integer). The figsize variable should scale appropriately to the labels are visible.

Updated original comment with updated directory/file names


show transcript as subtitles in the video player

Feature requested by stakeholders: show transcript as subtitles in the video player

It would be better if the video player used one of the generated SRT/VTT outputs that were produced off the transcripts; including subtitles in other translated languages.

duplicate of #51


Problem with html and js when deploying to Kubernetes

Checklist

[X] The bug is reproducible against the latest release or master.
[X] There are no similar issues or pull requests to fix it yet.

Describe the bug
When i run in docker my app with your admin library all works fine, design looks fine. But when i deploy this to kuber, somehow css and js not working and i see only row html. Core logic works ok but design not working
Have this error on frontend page: Mixed Content: The page at 'https://resources.app.1.dev.hedge-fund.tech/admin/login' was loaded over HTTPS, but requested an insecure stylesheet 'http://resources.app.1.dev.hedge-fund.tech/admin/statics/css/tabler.min.css'. This request has been blocked; the content must be served over HTTPS.
Steps to reproduce the bug
No response
Expected behavior
No response
Actual behavior
No response
Debugging material
No response
Environment
Latest Python and latest SqlAdmin
Additional context
No response

https://aminalaee.dev/sqladmin/cookbook/deployment_with_https/
This is already discussed in the issues, you can find the answer there too.


Have pictures of children on their website/facebook/instagram on the vol. Portal

Slideshow also available on the volunteer portal

TODO: Picture Gallery on Splash screen and volunteer dashboard.

When given more pictures, I will add 2 rows to make it look better. Limiting to 1 row to keep responsiveness, good. Could add Horizontal scroll.


Add test for installer properties override

[x] Have you signed the Contributor License Agreement?
[x] Are you working against an Issue?
Related to #211

After #409 got merged, I looked at the issue tracker and realized the PR also fixed another issue i.e., #211. PR #409 introduced the behavior that at the start of the update (both autonomous and interactive) the root fields are shifted to installer level and any previous values are overwritten by the root values.
Expected flow:

Installer level fields are overridden by root fields at the start of the update.
The update flow modifies the installer level fields if needed. (e.g. ProductCode in case of MSI upgrade)
At the end of the update, the common installer fields are moved to the root level.

So now, you won't get a behavior of root fields and installer fields being different/not updated as described in the linked issue.
This PR simply adds a test case to verify this behavior. The root values are different from installer level and will become common between all installers after the override so they're shifted back to the root at the end of the update. I know I may been overkill with the assert statements but just wanted to be very sure 😄 Though I wish there was a way to update the ProductCode in the test update for more coverage.

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-create/pull/413&drop=dogfoodAlpha

/azp run


New experiment config

This PR defines the new experiment config schema.
Example Usage
Following code snippet will generate a valid config.yaml file:
from ruamel import yaml
from nni.experiment.config import ExperimentConfig, AlgorithmConfig, LocalConfig, convert

config = ExperimentConfig(
    experiment_name = 'MNIST',
    trial_concurrency = 1,
    max_experiment_duration = '10m',
    max_trial_number = 10,
    search_space_file = 'search_space.json',
    tuner = AlgorithmConfig(name='TPE', class_args={'optimize_mode': 'maximize'}),
    trial_command = 'python3 mnist.py',
    trial_code_directory = '.',
    training_service = LocalConfig(use_active_gpu=True)
)

config = convert.to_old_yaml(config)
yaml.dump(config, open('config.yaml', 'w'))

Or alternatively:
from ruamel import yaml
from nni.experiment.config import ExperimentConfig, convert

config = ExperimentConfig('local')
config.trial_concurrency = 1
config.max_experiment_duration = '10m'
config.max_trial_number = 10
config.search_space = {
    "dropout_rate": {"_type": "uniform", "_value": [0.5, 0.9]},
    "conv_size": {"_type": "choice", "_value": [2, 3, 5, 7]}
}
config.tuner = AlgorithmConfig(name='TPE', class_args={'optimize_mode': 'maximize'})
config.trial_command = 'python3 mnist.py'
config.trial_code_directory = '.'
config.training_service.use_active_gpu = True

config = convert.to_old_yaml(config)
yaml.dump(config, open('config.yaml', 'w'))

Design Notes
The schema should be expressible in both YAML/JSON object and Python dataclass.
In YAML/JSON the keys are expected to be camelCase and in Python they should be snake_case.
This technically is not a problem since Config.load() and Config.json() have routines to do the convert.
I think the consistency with old schema is not a case. Because consistence is to help migration, while we should not push exist users to migrate at all.
The most important goal of this refactor is to reduce users' learning cost. And for exist users, to not learn the cost is zero.
I believe we will continue to support old schema for very long time, maybe until NNI v3.0. So it basically benefits no body to push the migration unless a user is unsatisfied old schema and proactively want a new one.
And in the other hand, the more difference between two schema, the smaller possibility NNI may fail to detect schema version.
Taking Yuge's advice, the config is divided into platform-independent part and nested training service config.
Trial config is no longer nested because I can't find a reason to do so. While tuner/assessor/advisor config is still nested because the same format may repeats for more than one algorithms.
There is a problem that whether training service config should share the same key. Using same key is definitely better in Python, but using "localCofing" / "remoteConfig" may looks better in YAML.
The problem might affect heterogeneous training service. If training services use same key "training service config", it will be a object/dict for heterogeneous. And if they use different keys, there will be multiple training service config objects.

- experiment name: string | undefined
    Mnemonic name of the experiment. This will be shown in web UI and nnictl.

- training service: string
    Supported value: "local", "remote", "openpai"

- search space file: string | undefined
    Path to a JSON file containing the search space.
    If it is a relative path, it relates to the directory containing this experiment config.
    Search space format is determined by tuner. Common format for built-in tuners is documeted here <LINK>
    Mutually exclusive to `search space`.

- search space: Object | undefined
    Search space object.
    The format is determined by tuner. Common format for built-in tuners is documented here <LINK>
    Mutually exclusive to `search space file`.

- trial command: string | list<string>
    Command(s) to launch trial.
    Bash will be used for Linux and macOS, while PowerShell will be used for Windows.

- trial code directory: string = "."
    Path to the directory containing trial source files.
    All files in this directory will be sent to training machine, unless there is a `.nniignore` file <LINK>
    If it is a relative path, it relates to the directory containing this experiment config.

- trial concurrency: int
    Specify how many trials should be run concurrently.
    The real concurrency also depends on hardware resources and may be less than this number.

- trial gpu number: int | undefined
    Number of GPUs used by each trial.
    If set to zero, trials may not have access to any GPU.
    If not specified, trials will be created as if they require no GPU, but they can still access all GPUs on the training machine.

- max experiment duration: string | undefined
    Limit the duration of this experiment if specified.
    When the time runs out, the experiment will stop creating trials but continue to serve web UI.
    Format: number + "s"/"m"/"h"/"d" (stands for seconds/minuts/hours/days respectively)
    Examples: "10m", "0.5h"

- max trial number: int | undefined
    Limit the number of trials to create if specified.
    When the budget runs out, the experiment will stop creating trials but continue to serve web UI.

- nni manager ip: string | undefined
    IP of current machine, used by training machines to access NNI manager. Not used in local mode.
    If not specified, this will be the default IPv4 address of outgoing connection.

- use annotation: bool = false
    Enable annotation <LINK>
    When using annotation, search space should not be specified manually.

- reuse mode: bool = false
    Enable reuse mode <LINK>

- debug: bool = false
    Enable debug mode.
    Logging will be more verbose and some internal validation will be loosen.

- log level: string | undefined
    (might hidden)
    Supported value: "trace", "debug", "info", "warning", "error", "fatal"
    Defaults to "info" if `debug` is false, otherwise "debug".
    This option will affect all modules except trials, including tuner, NNI manager, training service, etc.
    For Python modules, "trace" acts as `logging.DEBUG` and "fatal" acts as `logging.CRITICAL`.

- experiment working directory: string | undefined
    (might hidden)
    Specify the directory to place log, checkpoint, metadata, and other run-time stuff.
    `<home>/nni-experiments` will be used by default.
    NNI will create a subdirectory named by experiment ID, so it is safe to use same directory for multiple experiments.

- tuner gpu indices: list<int> | string | undefined
    Limit the GPUs visible to tuner, assessor, and advisor.
    This will be the `CUDA_VISIBLE_DEVICES` environment variable of tuner process.
    Because tuner, assessor, and advisor run in same process, this option will affect them all.

* tuner / assessor / advisor: Algorithm

  - name: string | undefined
      Name of a built-in algorithm, or an algorithm registered with `nnictl package install` <NEED UPDATE>
      Mutually exclusive to `class`.

  - class: string | undefined
      Qualified class name.
      Mutually exclusive to `name`.
      Example: `hyperopt_tuner.HyperoptTuner`

  - code directory: string | undefined
      Path to directory containing the `class`.
      If not specified, the class will be looked up in Python module search path <https://docs.python.org/3/tutorial/modules.html#the-module-search-path>
      If it is a relative path, it relates to the directory containing this experiment config.

  - class arguments: Object = {}
      Arguments of the algorithm.
      See algorithm's document for supported value.

* local

  - use active gpu: bool
      Specify whether NNI should submit trials to GPUs occupied by other tasks.
      If your are using desktop system with GUI, set this to `true`.

  - max trial number per gpu: int = 1
      Specify how many trials can share one GPU.

  - gpu indices: list<int> | string | undefined
      Limit the GPUs visible to trial processes.
      This will be the `CUDA_VISIBLE_DEVICES` environment variable.

* remote

  - machine list: list<RemoteMachine>

    - host: string
        IP or hostname (domain name) of the remote machine.

    - port: int = 22
        SSH service port.

    - user: string
        Login user name.

    - password: string | undefined
        Login password.
        If not specified, `ssh key file` will be used instead.

    - ssh key file: string = "~/.ssh/id_rsa"
        Path to ssh key file (identity file).
        Only used when `password` is not specified.
        If it is a relative path, it relates to the directory containing this experiment config.

    - ssh passphrase: string | undefined
        Passphrase of SSH identity file.

    - use active gpu: bool
        Specify whether NNI should submit trials to GPUs occupied by other tasks.

    - max trial number per gpu: int = 1
        Specify how many trials can share one GPU.

    - gpu indices: list<int> | string | undefined
        Limit the GPUs visible to trial processes.
        This will be the `CUDA_VISIBLE_DEVICES` environment variable.

    - trial prepare command: string | list<string> | undefined
        Command(s) to run before launching each trial.
        This is useful if preparing steps vary for different machines.

* openpai

  - host: string
      Hostname of OpenPAI service.

  - user name: string
      OpenPAI user name.

  - token: string
      OpenPAI user token.
      This can be found in your OpenPAI user settings page.

  - trial cpu number: int = 1
      Number of CPUs used by each trial.

  - trial memory: string
      Memory used by each trial.
      Examples: "1gb", "512mb"

  - docker image: string = "msranni/nni"
      Label for docker image.

  - docker auth file: string | undefined
      Path to user authentication file. Used for private docker registry.
      See OpenPAI's document for auth file format. <LINK>
      If it is a relative path, it relates to the directory containing this experiment config.
      # FIXME: Seems OpenPAI does not recommend to use authFile now. Consider expand it to multiple fields.

* [temporarily removed]

  - multiThread
      reason: I think it should be customized in dispatcher subclass, not experiment config

  - versionCheck
      reason: hard to explain what it does ("trial keeper" should not be shown to users)

  - logCollection
      reason: seems not under maintaince

  - tuner.includeIntermediateResults
      reason: suggest to re-design the feature

  - trial.shmMB (openpai)
      reason: can't find in openpai's doc

  - trial.portList (openpai)
      reason: can't find in openpai's doc

Does this pr support heterogeneousConfig?


Add webhooks to loot tracker

Is your feature request related to a problem? Please describe.
No problem mainly an ADDON to the loot tracker.
Describe the solution you'd like
An API added to the Loot Tracker portion and being able to hook it up to discord, so if you were to hit an item over 5m and in the discord they have runelite drops enabled it'll send a message.
Describe alternatives you've considered
I've seen something similar done with this but it was in WoW other than that just adding the API and such would be

This can be done with any of the following hub plugins:

https://runelite.net/plugin-hub/show/discord-loot-logger
https://runelite.net/plugin-hub/show/discord-rare-drop-notificater
https://runelite.net/plugin-hub/show/better-discord-loot-logger


Automated cherry pick of #4678: Remove config for Endpoints API when feature gate

Cherry pick of #4678 on release-1.10.
#4678: Remove config for Endpoints API when feature gate
For details on the cherry pick process, see the cherry pick requests page.

/skip-all


Improve HTMLSpace styles reset function

Currently, once a style is applied to one element, it will get applied to all elements (as stored in a single ctx.style object). There's a reset function but it's not consistent with the default.
We should also allow user to set their own default options.

Maybe also let it reset the _ctx.currentClass? Then it is completely the same as when the form was constructed.


Piackaxe and Hoe lost

Hi, I would like to report that every time a logout, i lose the pickaxe and hoe that was inside the totem.

Thanks.  I assume an update broke it at some point.


Styling the Button

How to styling the button? (e.g: when user click his user avatar, then it trigger the UploadButton)
Thanks.

Right now, we don't support styling the button, it is on my list of planned features though.
In the mean time, you would need to create your own button and hook it up using the useUploadThing() hook

@markflorkowski how can one use the useUploadThing hook? the package doesn't export it

Sorry, just seeing this now. You can use the generateReactHelpers() function to get it.

I didn't import the styles and provided new styles as overrides in my css file.
.ut-hidden {
  @apply hidden;
}
.ut-bg-blue-600 {
  @apply flex h-10 w-36 cursor-pointer items-center justify-center rounded-md bg-blue-600 hover:bg-blue-500;
}

.ut-text-white {
  @apply text-white;
}

.ut-text-xs {
  @apply text-center text-xs leading-5 text-gray-600;
}

Could be way better but quick fix for the moment.

@kitze Sorry, just seeing this now. You can use the generateReactHelpers() function to get it.

where's the generateReactHelpers function?

There's a CSS style conflict for reset and submit button's with shadcn UI forms. Upload thing's styling overrides shadcn UI's form's default button styles.

The quick workaround for this is to change the order of imports. Making sure that the uploadthing component styles are imported before others usually does the trick
import<EMAIL_ADDRESS>import "../styles/globals.css";

The quick workaround for this is to change the order of imports. Making sure that the uploadthing component styles are imported before others usually does the trick
import<EMAIL_ADDRESS>import "../styles/globals.css";

This workaround works in dev, but after building and/or publishing to Vercel there are still conflicts.

Also very another simple thing i would expect is to be able to change the button name. I had to change it with element.innerText. no time to open a featue request but this should be a default option anyways.

As of<EMAIL_ADDRESS>custom styling of the components is now supported. Please see the docs for more info on how to


Why is Docker so Popular

Article checklist
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
If you have not already please go over our Resources Page for more tips and tricks on how to improve our overall technical writing.
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
Fixes #2212

Fixes #2212

@srishilesh , I saw self-assigned this #2232 PR. I've updated it with this new PR.

@mosesreigns Thanks for letting me know.
Currently, I'm held up reviewing other PRs in my queue. Some other peer reviewer will review this PR.
Thanks

Hello @mosesreigns 👋
I will review your article. Please add a hero image. Consider using this template and take a look at the containers folder.👀

Thank you @ahmadmardeni1 , I've added a hero.

Hello @mosesreigns 👋
This is a great article, good job!
Please add a conclusion and further reading sections. And make sure to go through my minor changes.

@mosesreigns 👋
Good job, this is a great article and it will be ready for a final review when the plagiarism check is done.

Hello 👋 @mosesreigns
As you know, we were working on a new structure for our EngEd Repo, which has led to a slight slow down of article publishing. Everything is almost ready now.
In order to publish your article as soon as possible please do the following:

Download the most recent files off this PR (Make sure to pick the latest one with my revisions and edits).
Close this PR.
Open new PR in our new folder. You can find the article folder inside content.
Mention me in a comment to let the other peer reviewers know that am the one responsible for your PR.

Ping me via Slack if you have any problems.

Check it out @ahmadmardeni1

Thank you v much for your patience as we worked through our Repo re-structuring process.
The purpose behind this restructure - was to better allow us to handle more volume and allow students to publish more articles and get more involved with the community (with open-source contribution and suggestions).
With most of the changes coming to completion - we will be sure to get your article published asap.
Thank you again - and we are looking forward to more amazing articles.

folder structure is not correct - I dont think you have done a git pull to your forked branch.


Add support for more media players - Denon/Marantz receiver

I really like this plugin, hope it will become part of HA core
Would it be possible to add additional media players?  To be more precise: https://www.home-assistant.io/integrations/denonavr/
I did create a HA core issue on this, but seems work is needed on music-assistant side:
https://github.com/home-assistant/core/issues/71786

Like I already mentioned in the HA core issue report, the denon integration within HA does not have playback support. So we can't send a playback request directly to the receiver, you can only send control commands such as "go to this source" or "change volume".
The easiest bet is to just connect a playback device (streamer) to the Denon receiver such as a chromecast.
Most modern receivers have that already builtin. Look in the receivers settings if you can enable Airplay or Chromecast.

Sorry, I misunderstood, after reading again it is clear. The receiver should support Airplay (1) according to specifications, but I do not seen an integration supporting this in HA. Guess it is not possible to connect to this receiver via music-assistant, I'll close this issue.


Fetch master branch of libdeflate on main

Rather than pinning libdeflate to a specific version, we should have the OpenEXR main branch fetch from libdeflate's master branch, so our bleeding edge uses their bleeding edge. Then, we pin to the most recent libdeflate release on our minor release, or patch release if it's ABI compatible. Similar to what we do with Imath.

@meshula I prepared a Bazel equivalent here: https://github.com/AcademySoftwareFoundation/openexr/pull/1882
This adds again a bit more Bazel clutter - if we do not want to have this, we need to go with version numbers in the Bazel build


Getting "message is incomplete" when sending request after Hyper upgrade

I'm trying to upgrade hyper, but getting the message "message is incomplete" from the client when trying to send the following
Request::builder().method(Method::GET).uri(uri).header::<&str, &str>("Authorization", &format!("Bearer {}", self.api_key)).body(Body::empty())
It seems I can get the client to send the request if I specify an additional header like the one below, but that's clearly not correct as the 0 is not supposed to be a string, how can I specify an integer header value instead of the string?
.header::<&str, &str>("Content-Length", "0")
I'm using a Client based on RustTLS HttpsConnector that uses an underlying regular hyper HttpConnector if that has anything to do with it.

The "message is incomplete" error usually means the message read from the server wasn't complete... That's likely the problem we should look at!
For the second question, there's nothing wrong with specifying the content-length the way you did. However, it's not needed, since the body is Body::empty().

Ok! Updated the title to reflect problem in the issue.

This seems fixed when upgrading from 0.12.2 -> 0.12.3. Thanks!


Unmount USB thumbdrive from commadline

Not sure what I wanted w/o description. sudo umount %MOUNT_POINT_DIR% should work in general.


Rename Entry to entity

It's rather a question than an issue. According to c# and MS docs the rows in a table storage are called entity and my original entry naming was a typo.
What do you think about renaming entry to entity ?
including functions, types, etc:

TableEntity
get_entity
insert_entity
etc.

I'll prepare a new, global version ASAP.


Bump Service Catalog release to 0.3.0-beta.0

Description
This PR bumps Service Catalog to 0.3.0-beta.0 release.
Release notes which will be added to GitHub release:

🚨Service Catalog v0.3.0-beta.0 is now available! This is the first beta release for Service Catalog 0.3.0 milestone.
In this release, we've focused on replacing the Aggregated API Server with the CustomResourceDefinitions (CRDs) and Admission Webhook solution. The whole Service Catalog documentation is already updated. Check it out for more details.
To install the Service Catalog from this release, run:
helm install svc-cat/catalog —version 0.3.0-beta.0

If you have installed Service Catalog on your cluster using the helm install svc-cat/catalog command, then migration process is automated for you and you can just run:
helm upgrade <release_name> svc-cat/catalog --version 0.3.0-beta.0

The migration process is described here in details. There you will also find information on how to upgrade Service Catalog manually.
We'd really appreciate any feedback on the upgrade procedure and any issues or tips you may run into.
Changes

Update the run-migration-tests.sh script (#2710)
Adjust test after fixing the repetitive update issue  (#2710)
Create script for executing migration tests on CI  (#2710)
Fix webhook definition in migration code after introduction k8s 1.15  (#2710)
Update doc about migration from apiserver to crd  (#2710)
Move creating PVC functionality to migration tool  (#2710)
Add option to rollback to the previous SC version  (#2710)
Blocks mutations of CRDs during backup  (#2710)
Service Catalog upgrade tester  (#2710)
Add migration job to chart  (#2710)
Update migration docs  (#2710)
Migrate apiserver to crds  (#2710)
Replaces the Aggregated A PI Server with the CustomResourceDefinitions (CRDs) solution (#2630)
Change controller manager deployment charts template (#2708)
svc-cat depends on k8s v1.13+ (#2703)
change pmorie lib import to kubernetes-sigs location (#2702)
bump chart versions to 0.2.2 (#2699)
Add controller Service Instance test (#2667)
Bump github.com/pmorie/go-open-service-broker-client dependency (#2689)
Change creates statements in walkthrough.md (#2695)
Add information about the current project status (#2691)

SVCat Binaries
macOS: https://download.svcat.sh/cli/v0.3.0-beta.0/darwin/amd64/svcat
Windows: https://download.svcat.sh/cli/v0.3.0-beta.0/windows/amd64/svcat.exe
Linux: https://download.svcat.sh/cli/v0.3.0-beta.0/linux/amd64/svcat

/test pull-build-all-images-for-s390x

/test pull-build-all-images-for-s390x

/test pull-build-all-images-for-s390x


Quick fix for edit obs form "MOObservationMapper" js

My button bindings were still jQuery syntax. Converted here.

coverage: 94.441%. remained the same
when pulling 6122027f7bd2b649c5494cb9d046409c925301d6 on nimmo-quick-fix-mo_observation_mapper
into 3020c43c4a6b2501e9da84f363f6b81b19100c45 on main.


[SPARK-17311] [MLLIB] Standardize Python-Java MLlib API to accept optional long seeds in all cases

What changes were proposed in this pull request?
Related to https://github.com/apache/spark/pull/14524 -- just the 'fix' rather than a behavior change.

PythonMLlibAPI methods that take a seed now always take a java.lang.Long consistently, allowing the Python API to specify "no seed"
.mllib's Word2VecModel seemed to be an odd man out in .mllib in that it picked its own random seed. Instead it defaults to None, meaning, letting the Scala implementation pick a seed
BisectingKMeansModel arguably should not hard-code a seed for consistency with .mllib, I think. However I left it.

How was this patch tested?
Existing tests

Test build #64465 has started for PR 14826 at commit 8ac4a9b.

Test build #64465 has finished for PR 14826 at commit 8ac4a9b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64465/
Test PASSed.

Merged build finished. Test PASSed.

Just a small comment, and I also vote for changing the the default BisectingKmeans to seed=None to be consistent.  Other than that, LGTM!

@mengxr what do you think about this narrower change? just double-checking.

@srowen I like your decisions.  Just the one issue as far as I can see.

Actually, was this a problem before?  With the current master, I am able to avoid setting a seed in PySpark KMeans, and doing so gives me a different result on each call.

This is bisecting k-means? and the .mllib version? I think that's all this change could affect. All of the .ml classes have their own higher-level seed handling mechanism that would randomly pick a seed and send that through this API.

Test build #64714 has started for PR 14826 at commit ae248c2.

Test build #64714 has finished for PR 14826 at commit ae248c2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64714/
Test PASSed.

Merged build finished. Test PASSed.

Assuming my interpretation of the last comment was right, I think this is good to go. Even if somehow it 'worked' before this is a cleaner implementation of the same behavior in that case.


Multi-interface support

Fixes #549

[x] Create networks table with proper fields, validations
[ ] Create migration to move config-file settings into first row of networks table, add network_id to devices
[ ] Add new UI section, forms, modal
[ ] Update existing device form, fields to be network-aware
[ ] Generating configs should be network-aware
[ ] Propagate interface creation, configuration, and deletion to fz_vpn
[ ] Propagate interface creation to fz_wall
[ ] Remove old WireGuard interface cruft from Chef recipes / scripts
[ ] Remove WireGuard interface config from config file
[ ] Add appropriate telemetry events
[ ] Update docs

@princemaple This PR still has a ton of work left to do, but the data piece is (mostly) complete. This PR essentially moves the WireGuard interface config to the app layer and will allow users to create multiple WireGuard subnets, each with their own privatekey and associated devices.

What happend in https://github.com/firezone/firezone/commit/83adf0e7e57cad5732ae6a59109a134e75c265dd ? All parameters removed.


Add DNS Provider for AliBaba Cloud

Add AliBaba Cloud provider.

Added tests for provider AliBaba Cloud.

I'm swamped right now -- @XdaTk can you update with the latest master?


Fragments Stash tab is not supported.

The Fragments stash tab (with type FragmentStash in the JSON) does not show up properly in Procurement.  Only any "Sacrifice at Dusk/Dawn/etc." are displayed, and other items can not be searched for in the UI.
How a fragment stash tab currently looks:

How it probably should look (taken from the official website):

If you could attach a fragment stash tab json I will slap one together. I don't own one myself.

I've included the BIN file for a fragments stash tab.  It basically has the same contents as the above screenshot.  I removed all the unrelated tabs so the file isn't gigantic (it's tab 12).  Also apparently GitHub doesn't support attaching .bin files.  Not that the actual extension means anything....
I haven't gotten any of the other types of items, but I'm pretty sure (by comparing the icons and extrapolating) the other three sets of four items are the other map fragments: Advanced Vaal fragments in the top right, Prophecy fragments in the bottom left, and Atlas fragments in the bottom right.  And I expect the row of items above the splinters are the corresponding Breachstones.
fragments.bin.txt

If you could login to the POE website and pinch the image they give for the fragment stash.
Press F12 and dive through the assets that get loaded and grab the provided image. This is where the currency one sits for reference.

Ah, right, that would be helpful, wouldn't it?


Merge pull request #2 from conal/master

Syncing w/ Conal's, before reporting non-elimination of Complex Int.

Sorry, Conal; went the wrong way. I was trying to pull from yours to mine. :)

Okay, this time I'm actually trying to push changes toward you. ;-)


Dispatch event when adding new record

This will fire an event named nested-form:add on the controller element, which can be used to trigger other updates on the page as needed.

Spec added to cover this, with special mocking to listen for the event.
Linted and formatted

If this is successful I'd be happy to add nested-form:remove as well.

@guillaumebriday, could you please review and let me know if any changes are required to merge (or assign to whomever is responsible)?

I like the idea!! Will probably merge this week-end
Thanks a lot!


Dictionary claims added to SecurityTokenDescriptor.Claims are no longer correctly serialized in 7.0.0-preview3

Dictionaries (but it's likely other types of complex claims are impacted) are longer correctly serialized in 7.0.0-preview3:
var dictionary = new Dictionary<string, string[]>
{
    ["prop1"] = new[] { "value1", "value2" }
};

var descriptor = new SecurityTokenDescriptor
{
    Claims = new Dictionary<string, object>
    {
        ["a"] = dictionary
    },

    SigningCredentials = new SigningCredentials(new RsaSecurityKey(RSA.Create(2048)), SecurityAlgorithms.RsaSha256)
};

var handler = new JsonWebTokenHandler();

var token = handler.CreateToken(descriptor);

7.0.0-preview:
{
  "a": {
    "prop1": [
      "value1",
      "value2"
    ]
  },
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "nbf":<PHONE_NUMBER>
}

7.0.0-preview3
{
  "a": "System.Collections.Generic.Dictionary`2[System.String,System.String[]]",
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "nbf":<PHONE_NUMBER>
}

Complex claims should be correctly serialized or an exception should be thrown, but using the CLR type name as the claim value in the generated token seems like a terrible choice.
/cc @brentschmaltz @jennyf19

@kevinchalet I expected this and am waiting to hear back about an api we wanted to use to see it if is compatible with AOT.

Included in preview4 release


Added support for drawing uncliped heat maps

Added support for drawing an uncliped heatmap by setting the config option "clip: false"
The default is to mimic old functionality.

Did you test that feature? I don't think it currently makes a difference because the heatmaps canvas takes the full map dimensions, the full map dimensions are the current boundaries thus heatmap.js can't draw out of its own canvas. Please correct me if that's not the case

I did test it and you're mostly right.  The map can't draw outside of the
bounds but without my feature hot spots that are outside view will not be
used to generate the heatmap.
You can see this by having a hot spot just outside of the edge of the map.
Drag the map to make the spot just inside and then drag the map to make the
spot just outside.
The spot isn't correctly rendered without my feature.
I'm not sure the implementation is entirely correct though since it adds a
huge performance overhead.  Maybe it should be implemented by making the
bounds check larger than the map instead of just ignoring it.
On Mon, Dec 21, 2015 at 10:59 AM, Patrick Wied<EMAIL_ADDRESS>wrote:

Did you test that feature? I don't think it currently makes a difference
because the heatmaps canvas takes the full map dimensions, the full map
dimensions are the current boundaries thus heatmap.js can't draw out of its
own canvas. Please correct me if that's not the case
—
Reply to this email directly or view it on GitHub
https://github.com/pa7/heatmap.js/pull/184#issuecomment-166359218.

--
Blaise Koch
Undergraduate Virtual Reality Researcher
University of Arkansas at Little Rock - Emerging Analytics Center
<EMAIL_ADDRESS>


Rewrite the documentation

I rewrote large parts of the READMEs and added much new stuff. It's not done done, this is just the first pass, but I think would be good to get comments and then get this merged, and we can keep on building on this together.
One question @EdwinB12  and I talked about that we need to decide is whether we should have multiple READMEs for the many subparts of the repo or one massive one with a lot of headings. I went with the former, but actually thought the latter might be better in the end, although Edwin then did some work trying to convince me otherwise.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.64%. Comparing base (df5e44d) to head (326db58).
Report is 6 commits behind head on main.

:exclamation: Current head 326db58 differs from pull request most recent head 6a5c67e. Consider uploading reports for the commit 6a5c67e to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #234      +/-   ##
==========================================
+ Coverage   90.63%   90.64%   +0.01%
==========================================
  Files          79       79
  Lines        5702     5699       -3
==========================================
- Hits         5168     5166       -2
+ Misses        534      533       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Oh and lets add the simple ingress example in this PR.

@EdwinB12, I attended to all the points you raised (except for one, see above), and also did a read through of everything and made lots of small changes. Could you take another look please? I'm happy to merge once you are.


Central Domain returns 404

Describe the bug
I have followed the documentation and fully implemented the tenancy, but when i try to browse central domain it gives me 404, but in case changing default route to some other route with static param it just shows the page.
Steps to reproduce

browse central domain with default '/' route and it gives 404.

Expected behavior

while browsing the central domain it should render the return view e.g. welcome.blade.php

Your setup

Laravel version: [e.g. 8.2.0]
stancl/tenancy version: [e.g. 3.1.0]

I have resolved this while putting App\Providers\TenancyServiceProvider::class, last into app/config.php


errors when running darwin.js

System information

Have I written custom code (as opposed to using zenbot vanilla): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Ubuntu 17.10
Zenbot version: 4.05
NodeJS version:  v8.9.3
Python version:  Python 2.7.14
Exact command to reproduce:
scripts/genetic_backtester/darwin.js --selector=poloniex.XRP-BTC --days=4 --population=1

Describe the problem
The code errors out without generating results.
Source code / logs
``Generation complete, saving results...
Generation's Best Results
(crossover_vwap) VS Buy and Hold: undefined End Balance: undefined
(cci_srsi) VS Buy and Hold: undefined End Balance: undefined
(srsi_macd) VS Buy and Hold: undefined End Balance: undefined
(macd) VS Buy and Hold: undefined End Balance: undefined
(neural) VS Buy and Hold: undefined End Balance: undefined
(rsi) VS Buy and Hold: undefined End Balance: undefined
(sar) VS Buy and Hold: undefined End Balance: undefined
(speed) VS Buy and Hold: undefined End Balance: undefined
(trend_ema) VS Buy and Hold: undefined End Balance: undefined
(trust_distrust) VS Buy and Hold: undefined End Balance: undefined
(ta_macd) VS Buy and Hold: undefined End Balance: undefined
(ta_ema) VS Buy and Hold: undefined End Balance: undefined

=== Simulating generation 2 ===

Backfilling (might take some time) ...
./zenbot.sh backfill --days=4 poloniex.XRP-BTC
Generation complete, saving results...

Generation's Best Results
/home/greg/zenbot/scripts/genetic_backtester/node_modules/geneticalgorithm/index.js:121
      },scored[0]).phenotype
                  ^

TypeError: Cannot read property 'phenotype' of undefined
    at Object.best (/home/greg/zenbot/scripts/genetic_backtester/node_modules/geneticalgorithm/index.js:121:19)
    at /home/greg/zenbot/scripts/genetic_backtester/darwin.js:575:35
    at Array.forEach (<anonymous>)
    at parallel (/home/greg/zenbot/scripts/genetic_backtester/darwin.js:574:24)
    at end (/home/greg/zenbot/scripts/genetic_backtester/node_modules/run-parallel-limit/index.js:17:15)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

``

having the same issue with command
./scripts/genetic_backtester/darwin.js --selector="gdax.LTC-USD" --days=1 --currency_capital=10000 --use_strategies=trend_ema --population=1 --order_type=maker

--==Zenbot 4 Genetic Backtester v0.2==--
Sun, 24 Dec 2017 05:17:59 GMT

Backtesting strategy trend_ema ...
Creating population of 1 ...

=== Simulating generation 1 ===

Backfilling (might take some time) ...
./zenbot.sh backfill --days=1 gdax.LTC-USD
[ 1/1 ] ./zenbot.sh sim gdax.LTC-USD --days=1 --currency_capital=10000 --filename none --strategy=trend_ema --periodLength=102m --min_periods=13 --markup_pct=3.643411730842544 --order_type=maker --sell_stop_pct=0 --buy_stop_pct=19 --profit_stop_enable_pct=0 --profit_stop_pct=19 --trend_ema=20 --oversold_rsi=26 --oversold_rsi_periods=18 --neutral_rate=auto
Generation complete, saving results...

Generation's Best Results
(trend_ema) VS Buy and Hold: -7.48 End Balance: 9581.62505662

=== Simulating generation 2 ===

Backfilling (might take some time) ...
./zenbot.sh backfill --days=1 gdax.LTC-USD
Generation complete, saving results...

Generation's Best Results
/mnt/d/work/3rdparty/zenbot/scripts/genetic_backtester/node_modules/geneticalgorithm/index.js:121
      },scored[0]).phenotype
                  ^

TypeError: Cannot read property 'phenotype' of undefined
    at Object.best (/mnt/d/work/3rdparty/zenbot/scripts/genetic_backtester/node_modules/geneticalgorithm/index.js:121:19)
    at /mnt/d/work/3rdparty/zenbot/scripts/genetic_backtester/darwin.js:576:35
    at Array.forEach (<anonymous>)
    at parallel (/mnt/d/work/3rdparty/zenbot/scripts/genetic_backtester/darwin.js:575:24)
    at end (/mnt/d/work/3rdparty/zenbot/scripts/genetic_backtester/node_modules/run-parallel-limit/index.js:17:15)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

This issue was moved to highvelocityspace/zenbot#19

Issue still remain with latest version

I can reproduce this in the latest release with @pursehouse's command:
./scripts/genetic_backtester/darwin.js --selector="gdax.LTC-USD" --days=1 --currency_capital=10000 --use_strategies=trend_ema --population=1 --order_type=maker
# ./scripts/genetic_backtester/darwin.js --selector="gdax.LTC-USD" --days=1 --currency_capital=10000 --use_strategies=trend_ema --population=1 --order_type=maker

--==Zenbot 4 Genetic Backtester v0.2==--
Thu, 28 Dec 2017 17:00:01 GMT

Backtesting strategy trend_ema ...
Creating population of 1 ...

=== Simulating generation 1 ===

Backfilling (might take some time) ...
./zenbot.sh backfill --days=1 gdax.LTC-USD
[ 1/1 ] ./zenbot.sh sim gdax.LTC-USD --days=1 --currency_capital=10000 --filename none --strategy=trend_ema --periodLength=86m --min_periods=57 --markup_pct=0.9412225723906631 --order_type=maker --sell_stop_pct=13 --buy_stop_pct=11 --profit_stop_enable_pct=9 --profit_stop_pct=11 --trend_ema=20 --oversold_rsi=28 --oversold_rsi_periods=15 --neutral_rate=auto
Bad output detected TypeError: Cannot read property '1' of null
2017-12-28 10:37:59  247.310 LTC-USD   +2.02%    32022   67 +++                      0.53000000 LTC  10000.00 USD   -0.07%   +4.82%
{
  "asset_capital": 0.53,
  "avg_slippage_pct": 0,
  "buy_pct": 99,
  "buy_stop_pct": 11,
  "currency_capital": 10000,
  "days": 1,
  "filename": "none",
  "markdown_buy_pct": 0,
  "markup_pct": 0.9412225723906631,
  "markup_sell_pct": 0,
  "max_sell_loss_pct": 5000,
  "max_slippage_pct": 5,
  "min_periods": 57,
  "mode": "sim",
  "neutral_rate": "auto",
  "order_adjust_time": 60000,
  "order_type": "maker",
  "oversold_rsi": 28,
  "oversold_rsi_periods": 15,
  "period": "86m",
  "periodLength": "86m",
  "profit_stop_enable_pct": 9,
  "profit_stop_pct": 11,
  "rsi_periods": 15,
  "selector": {
    "exchange_id": "gdax",
    "product_id": "LTC-USD",
    "asset": "LTC",
    "currency": "USD",
    "normalized": "gdax.LTC-USD"
  },
  "sell_pct": 99,
  "sell_stop_pct": 13,
  "show_options": true,
  "start":<PHONE_NUMBER>000,
  "stats": false,
  "strategy": "trend_ema",
  "trend_ema": 20,
  "verbose": false
}
end balance: 10128.98080000 (-0.09%)
buy hold: 9510.26910808 (-6.19%)
vs. buy hold: 6.50%
0 trades over 2 days (avg 0.00 trades/day)

Generation complete, saving results...
> Finished writing generation csv to simulations/backtesting_1514482185.csv
> Finished writing generation json to simulations/generation_data_1514482185_gen_2.json

Generation's Best Results
        (trend_ema) Sim Fitness undefined, VS Buy and Hold: undefined End Balance: undefined, Wins/Losses undefined/undefined.
/root/zenbot/scripts/genetic_backtester/darwin.js:552
  input = input.params.replace("module.exports =","");
                ^

TypeError: Cannot read property 'params' of undefined
    at generateCommandParams (/root/zenbot/scripts/genetic_backtester/darwin.js:552:17)
    at selectedStrategies.forEach (/root/zenbot/scripts/genetic_backtester/darwin.js:651:29)
    at Array.forEach (<anonymous>)
    at saveGenerationData (/root/zenbot/scripts/genetic_backtester/darwin.js:640:28)
    at fs.writeFile.err (/root/zenbot/scripts/genetic_backtester/darwin.js:580:5)
    at /root/zenbot/scripts/genetic_backtester/node_modules/graceful-fs/graceful-fs.js:43:10
    at FSReqWrap.oncomplete (fs.js:135:15)

The test command is great to reproduce it, thanks for that. Will try to look at it when I have a chance.


Cannot resolve symbol 'RunWith'  for Junit 5

I am not able to import  runner  junit 5
import com.intuit.karate.junit5.Karate;
import org.junit.runner.RunWith;
import org.junit.*;
@RunWith(Karate.class)
public class TestRunner {
}
getting error for Run with   Cannot resolve symbol 'RunWith'
asking me to add junit4 classpath

@SridharMurari please follow this process to reopen: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue


Native ESM import problem 'with use-sync-external-store'

What version of React, ReactDOM/React Native, Redux, and React Redux are you using?

React: 18
ReactDOM: 18
Redux: 5.0.1
React Redux: 9.1.2

What is the current behavior?
The module 'use-sync-external-store' published at the moment (v1.2.2) is a CommonJS module. When importing a CommonJS module into an ESM module with import, e.g. using Node's ESM loader named imports will not work. Because of this, using react-redux using native ESM loader currently produces an error like this:

The requested module 'use-sync-external-store/with-selector.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from 'use-sync-external-store/with-selector.js';
const { useSyncExternalStoreWithSelector } = pkg;"

This is probably not an issue in most setups because the modules are loaded via some compiler/bundler but it's an issue when using Node's native module loader.
What is the expected behavior?
If the import here and probably (?) here could be changed to rely on the default export instead then the import should work.
Which browser and OS are affected by this issue?
Node.js
Did this work in previous versions of React Redux?

[ ] Yes

This will be fixed by facebook/react#25231. It's a bit of a pointing fingers thing. We're not doing anything incorrect, uSES is doing things technically wrong. It sounds like there could be some movement soon, but I'll leave this open to fix on our end for now.

use-sync-external-store/with-selector.js has no default export - the syntax suggestion given there would work in some environments and absolutely fail in a lot of others. I fear that's not gonna be the solution :/
We might get away with keeping a require call in the ESM files here? 🤔

Thanks!
Out of curiosity, in which environments is the CommonJS module.exports object not treated as the default export when importing into an ESM module?
Speaking only for Node.js require is not available in ESM modules (outside of using module.createRequire) so for tricky situations the best bet is often a dymaic import -- but of course that's really ugly and probably better to wait for the upstream package to be updated.

I might actually have gotten it the wrong way round, my bad. ESM can import CJS, but still needs the import keyword for that.
I'm still not convinced that the "default" syntax suggested here would work in all cases, though :/
Is this really an error message? The wording ("may") weirdly sounds like it isn't even sure if the original statement might even work.

@phryneas Yeah I'm kind of confused too, because right now if you have a file like someFile.mjs that contains something like this:
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector.js'
console.log(useSyncExternalStoreWithSelector)

You can run it by:
node someFile.mjs

and you will get:
[Function: useSyncExternalStoreWithSelector]

which is fine. You can also have this in a someFile.cjs file:
const { useSyncExternalStoreWithSelector } = require('use-sync-external-store/with-selector.js')
console.log(useSyncExternalStoreWithSelector)

and you will again get the same thing so I'm not sure exactly what the issue is.

@aryaemami59 oh, you're right the import works fine with the latest Node.s loader. For some reason, I can only reproduce this when I import react-redux, specifically, the error happens in dist/react-redux.mjs line 3. This is in an Electron renderer process using the Node.js native module loader. The odd thing is that the import works fine in this environment if I import it directly. I'll debug this further to figure it out, but the syntax should be fine, so I'll close this issue here with apologies for the noise.
@phryneas it's thrown as a SyntaxError by Node's ESM loader (in ModuleLoader.import) so it's really a hard error that stops everything at load time. I agree that the wording is extremely odd. I've seen similar errors with experimental JSON module import so I wasn't too surprised. However the error message is extremely baffling given that the syntax itself seems to work fine in general. I'll post here if I can make more sense of it.

Just leaving this here in case somebody hits a similar issue with the ESM loader in Electron: the issue happens if you use a dynamic import after the page has loaded and your CSP prohibits 'unsafe-eval'.


Minimize requests to /metrics using some logic about connectivity from browser->server

I started filling out jupyterlab's feature request form but opted to open the issue here instead. My goal is to identify the source of various web-requests made from browser's and try to avoid them if they are doomed to fail because of a shut down notebook-server / jupyter-server.
In JupyterLab they have the IConnectionLost interface for example which can be used to act smarter for example. Here is an example of how its used.
I understand that nbresuse is something not only used by JupyterLab, so perhaps its solution must be standalone, but perhaps we could provide a hook or similar to allow us make use of knowledge about the connectivity to the server from the browser, implemented in JupyterLab or similar.
Here is an example of the amount of requests that arrives to JupyterHub, and how they can be totally cluttered when a user server shuts down, and the /user/username1 route is removed from the JupyterHub proxy, which make all requests to go /hub/user/username1 as a default fallback.

Problem
Make various logs more readable and reduce load on other services.
Proposed Solution
I hope it's possible to make use of a common interface to determine if the notebook-server / jupyter-server is available, and cut down on requests if it isn't. I'm not sure how much of what's below is something to fix within JupyterLab and how much is to fix in other projects, but I suspect that the /metrics calls come from the [nbresuse]
Additional context
I took logs from my JupyterHub, and found the following.
/api/terminals - 5 min interval
04:47:54 503 GET /hub/user/hub-user1/api/terminals?1595738873967
04:52:55 503 GET /hub/user/hub-user1/api/terminals?1595739174718

/api/sessions - 5 min interval
04:47:59 503 GET /hub/user/hub-user1/api/sessions?1595738878979
04:52:59 503 GET /hub/user/hub-user1/api/sessions?1595739179448

/api/kernepspecs - unknown interval
04:50:25 503 GET /hub/user/hub-user1/api/kernelspecs?1595739024887

/api/kernels - unknown interval
# increments of 25s, 66s, 98s, 156s between calls...

I suspect that the /metrics calls come from the [nbresuse]

It does indeed come from the nbresuse frontend:

in the classic notebook extension: https://github.com/yuvipanda/nbresuse/blob/de920c0aec27467805e61678da2c8c61eecbbced/nbresuse/static/main.js#L36-L37
in JupyterLab: https://github.com/jupyterlab/jupyterlab/blob/0b88d64b622fc03f4c06ce9cceaa13bc443db468/packages/statusbar/src/defaults/memoryUsage.tsx#L288-L291

/api/kernels - unknown interval

The polling logic for these endpoints is defined here:
https://github.com/jupyterlab/jupyterlab/blob/0b88d64b622fc03f4c06ce9cceaa13bc443db468/packages/services/src/kernel/manager.ts#L32-L40

hope it's possible to make use of a common interface to determine if the notebook-server / jupyter-server is available, and cut down on requests if it isn't.

Yes either this common interface (but it would have to be usable from multiple frontends), or use exponential backoff when making the requests.
For nbresuse specifically there has also been the idea of switching to event streams: https://github.com/yuvipanda/nbresuse/pull/19