Add Java 9 module support (Jigsaw)

As a benefit, this would be a precursor to supporting Ceylon.

This might be as simple as supporting the new Java 9 system classloaders, which are no longer instances of URLClassLoader. See:
http://openjdk.java.net/jeps/261

Will also need to search the codebase for references to rt.jar -- this jar doesn't exist in Java 9. Specifically:

If "!!" is provided to the scan spec, something different will have to be done to include system jars in the scanning process.
The code in JarUtils for testing whether a jar is a system jar will need to change.

See https://docs.oracle.com/javase/9/migrate/toc.htm
In particular, rt.jar no longer exists; neither does the ext dir; and in general, "jarfiles don't exist" in a compiled project (not sure what that means yet).

May need to provide support for ModuleFinders, not just ClassLoaders?

The universe of observable modules can be visualized with java9-jigsaw-depviz. It looks like the code here is what is needed, e.g. ModuleFinder.ofSystem().findAll(). Will need to check if modRef has a URL field.

It may make sense to make Java 8 a minimum requirement when supporting Java 9 -- if so, the Java 9 changes should be made after the major API rework, so that the API rework is still available to Java 7 users in an older branch.

For JDK9, may need to read package name from constant pool rather than from file path (#141). (Module can also be stored there.)

A Java 9 migration guide.

Info on using Java 9 with maven-compiler-plugin (N.B. maven-compiler-plugin needs to be at least version 3.7.0).

Added basic Java 9 classloader support in cf85f258. (See the TODO comment there.)

@lukehutch can you expand on "maven-compiler-plugin needs to be at least version 3.7.0"?

@johnou see "Minimum compatible version" column here.

Perfect, thanks!

TODO: We're currently not parsing module-info.class at all, see these lines in ClassfileBinaryParser.java:
        if (isModule) {
            return null;
        }

I'm not sure yet what special parsing support will be needed for module-info.class.

JDK 9 is strongly enforcing encapsulation. One effect of this is that we can't get the URLClassPath ucp field from AppClassLoader or BaseClassLoader. This probably means we have to rely on JDK 9's own module system for scanning.

For the system modules:
		// "Returns a module finder that locates the system modules. The system modules are the
		// modules in the Java run-time image. The module finder will always find java.base."
		Set<ModuleReference> ms = ModuleFinder.ofSystem().findAll();
		for (ModuleReference m : ms) {
			System.out.println("  " + m.descriptor().name());
			System.out.println("  " + m.descriptor().toNameAndVersion());
			System.out.println("  " + m.descriptor().packages());
			System.out.println("  " + m.descriptor().exports());
			Optional<URI> location = m.location();
			if (location.isPresent()) {
				System.out.println("  " + location.get()); // e.g. "jrt:/java.base"
			}
			m.open().list().forEach(s -> System.out.println("    " + s));
		}

I haven't figured out how to get the module list for non-system modules yet...

Project Jigsaw: Module Class Loading and Bootstrapping -- Jigsaw Team

See some discussion on related issues here:
https://github.com/policeman-tools/forbidden-apis/issues/54 (the code for ReadableModulesResourceLoader may be useful here)
https://github.com/policeman-tools/forbidden-apis/pull/95

Some good info on modules in Java 9:
https://blog.andresteingress.com/2017/09/29/java-9-modules.html

N.B. for reflection in Java 9+, will need to make FCS its own module, then open modules to the FCS module. From the Javadoc for Module#addOpens(String packageName, Module other):

If this module has opened a package to at least the caller module then update this module to open the package to the given module. Opening a package with this method allows all types in the package, and all their members, not just public types and their public members, to be reflected on by the given module when using APIs that support private access or a way to bypass or suppress default Java language access control checks.
This method has no effect if the package is already open to the given module.

I sent the following email to the JPMS mailing list...
--
I am the author of Fast Classpath Scanner. I am trying to extend this library to work with JDK 9, and I'm running into a lot of apparent shortcomings of the JPMS API.
These are the main issues I have come across so far:
(1) Automatic modules from the legacy classpath cannot be found using ModuleFinder.ofSystem() (because they are not system modules), or using ModuleLayer.boot().modules() (because this list does not include unnamed modules).
(2) I would guess then that unnamed modules are in their own layer, but the Layer API only allows you to look at parent layers, not child layers -- so it is not even possible to enumerate all layers in the system. Why is there no call for enumerating all layers, and/or for reading child layers?
(3) ModuleLayer.boot().configuration().findModule(name) cannot find unnamed automatic modules either, because name cannot be null (and using the empty string doesn't return unnamed layers).
(4) From within a class in a traditional (non-module) jar on the classpath, using getClass().getModule(), does return a Module reference for the unnamed module. However, there is no API that I can find for getting a ModuleReference from a Module object, if the module is unnamed. For example, the following should work if the module is named, but does not work if the module is unnamed:
    Optional<ModuleReference> moduleReference =
        module
            .getLayer()
            .configuration()
            .findModule(module.getName())
            .map(ResolvedModule::reference);

(5) ModuleFinder.of(path) would find the module, if the path were known. But there is no way to get the path from the Module reference obtained using getClass().getModule() -- you need a ModuleReference object to get the URI of the module, and you cannot get a ModuleReference, as described in (4) above.
(6) Having to specify a path when calling ModuleFinder.of(), as shown in (5), defeats the purpose of having a classpath and/or module path that is specified outside of program code. I imagine it is primarily useful for dynamic loading of modules, but what I'm interested in is the static classpath / module path.
(7) Module has a method Set<String> getPackages(), which allows you to enumerate package names within a module, but it does not have a method for listing resource names within each package. For that, again you need a ModuleReference, and then you can call ModuleReference#open() to get a ModuleReader, then ModuleReader#list() to list the resources in the module. Why is there no open() method in Module, and/or why is it not possible to get a ModuleReference directly from a Module?
It seems like there are lots of obvious omissions in the API, from an enumeration / scanning point of view. Or am I missing something?

The link to this message in the jigsaw-dev archives. Nobody has replied yet; hopefully somebody will provide some answers after the Christmas / New Year's break.
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2017-December/013439.html

@HoldYourWaffle traditional jars on the classpath will work fine with the current version of FCS. Modules built for JDK9, and loaded as modules from the module path rather than jars from the classpath, will not be scanned until proper Java 9 support is complete.

I'll wait with transitioning to jigsaw then. Thanks!

Hi, Thank you for the great work - is there progress in this issue?

@bennylut not yet, I haven't found a way to get the Java 9 module API to enumerate the modules in the runtime, and the jars backing each module (or alternatively the files in each module jar). I would appreciate some help, if you have good knowledge of Java 9. See this response I got on jigsaw-dev:
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2017-December/013449.html

https://docs.oracle.com/javase/9/docs/api/index.html?java/lang/module/package-summary.html
ModuleFinder / ModuleDescripter?
As Java 8 (DDD JVM) / 9 (DDD JDK) is now a Domain Driven Language, Strict encapsulation and Strict Classpath Specifications are priority one. This means that nothing can ever be reflected that isn't exposed (as here https://zeroturnaround.com/wp-content/uploads/2017/11/java-9-modules-visibility-640x228.png), it also means that there is absolutely no reason to ever use an EE container from JDK8 and 9 ever again (hence its cancellation)
And this is correct!
I'm not sure if I understood correctly Luke, but similar to using a ServiceLocator to enumerate all the services from a JVM level, perhaps?
I would use the Module Reflector to enumerate all exposed packages and classes, then filter with white listing. Then scan those classes in their given classpath to generate the ClassInfo MethodInfo FieldInfo.?
Fact is, DDD requires that everything be self aware, self exposing, and self-maintained, And the performance benefits that I've felt so far actually reach the level of unbelievable. Much like moving to the Type-Safety engine of JDK7 (and not using the backwards compatibility classes to read JDK6 objects, no performance benefit there, it actually degrades performance drastically when pairing JDK6 classes and JDK7 classes together)
I don't know if this is possible, but it would be great to find out. I think the centralized point is now the OSGI MANIFEST.MF file, which every project after JDK7 should be utilizing, in pairing with module-info from JDK9 you gain a complete view and visibility of each modules classpath and exposed classes.
I must say, It is really good to finally have Java as a DDD supported language!!! instead of people hacking together methods to emulate it.

@GedMarc have you tried what you suggest? I couldn't get it to work. For all the obstacles I ran into, see my original message to jigsaw-dev, linked above.

TODO: Test 80 fails when running on JDK9+, because there is no rt.jar, which FCS uses to scan for system classes.

OK, So I may have actually found some time to be able to do something here...
A few things - Dunno if you want to start a new thread JDK9 is End of Life, so this thread is invalid now. JDK 10.0.1 seems to be it. and JDK 8. I think a new issue? Whatever it is, it needs to support dual compilation xD
Can I switch to JUnit 5? I think this will help a bit with the test cases thing, also please can you make a branch jdk10 or something that I can pull request into separate to the master branch. I can't do what you do so I get the feeling some stuff will need to be double checked.
@Test
@EnabledOnJre(JAVA_8)
void onlyOnJava8() {
    // ...
}

@Test
@EnabledOnJre({ JAVA_9, JAVA_10 })
void onJava9Or10() {
    // ...
}

@Test
@DisabledOnJre(JAVA_9)
void notOnJava9() {
    // ...
}

I'm going to go src/alternatives route for the dual compilation, and switch between the ScanResultProcessor with a service loader for each Jdk?

@GedMarc thanks for the offer to help!
I am currently compiling for JDK 7, and there were already several users that complained that JDK 6 wasn't supported. JDK 8 is way too progressive for some people, so I think it will be a few years before everybody gets on the JDK 10+ six-month release cycle bandwagon.
I have been planning to support Java modules via reflection until the vast majority of users are on JDK 10+. I was planning on reflection rather than some other mechanism such as src/alternatives, because there should only be a small number of API calls needed to support module scanning on JDK 10+. Using a ServiceLoader is a good idea, and it would be possible to have two different versions of FCS, but I don't think the extra complexity of src/alternatives would be needed. I'm willing to change this though if it really does seem to be the right thing to do.
It's not ScanResultProcessor that needs to be changed as much as there needs to be a new abstraction of ClasspathElement. Currently there's ClasspathElementDir and ClasspathElementZip. There would need to be a ClasspathElementModule, and the API of ClasspathElement would need to be changed to take into account the different mechanism needed to scan the module path. This change may have to happen in conjunction with changing the ClassLoaderHandler API, since with the module path, you don't fetch a list of jars and dirs to scan from the ClassLoader, you just query the module loader directly as you are scanning.
First things first though, module scanning should be relatively simple on Java 10+ (as much as a few module loader API calls, if it's possible to get it working at all -- from my own investigation so far, I think the API is missing a couple of things, as I described in my post to the JPMS mailing list). In other words, for determining how to do module path scanning, you don't need to experiment on that aspect within the FCS tree, you can do it in any project. Once you or I or somebody else figures out how to do it, we can figure out how to properly restructure FCS to support that scanning mode.
As far as switching to JUnit 5, by all means, please go ahead! Would love some help :-)

@GedMarc I made a new branch, https://github.com/lukehutch/fast-classpath-scanner/tree/module-path-scanning , as you requested.

Good news! I finally figured out the API. I was wrong, there is in fact a way to list non-system modules. The problem was that I didn't realize that the API call classRef.getModule().getLayer().getConfiguration().modules() returned a List<ResolvedModule>, rather than just a List<Module>. It turns out that ResolvedModule does in fact have a .reference() method to get the elusive ModuleReference for a module!
This is not documented anywhere that I have seen. It was a royal pain to figure this out. But here is the code that gets a list of system modules from the boot layer, then gets all classes on the call stack, and from each class, finds all modules in the same Layer, then gets a ModuleReference for each module. With ModuleReference, you can easily list files in a module, and open any file.
public class Java9Scanner {

    private static CallerResolver CALLER_RESOLVER;

    static {
        try {
            // This can fail if the current SecurityManager does not allow
            // RuntimePermission ("createSecurityManager"):
            CALLER_RESOLVER = new CallerResolver();
        } catch (final SecurityException e) {
        }
    }

    private static final class CallerResolver extends SecurityManager {
        @Override
        protected Class<?>[] getClassContext() {
            return super.getClassContext();
        }
    }

    // -------------------------------------------------------------------------------------------------------------

    /** Get ModuleReferences from a Layer Configuration. */
    static void findModuleReferences(Configuration layerConfiguration, Set<ModuleReference> moduleReferencesOut) {
        // Get ModuleReferences from layer configuration
        for (ResolvedModule module : layerConfiguration.modules()) {
            ModuleReference ref = module.reference();
            moduleReferencesOut.add(ref);
        }
        // Recurse to parent layer configurations
        List<Configuration> parents = layerConfiguration.parents();
        if (parents != null) {
            for (Configuration parent : parents) {
                findModuleReferences(parent, moduleReferencesOut);
            }
        }
    }

    /** Get ModuleReferences from a Class reference. */
    static void findModuleReferences(Class<?> cls, Set<ModuleReference> moduleReferencesOut) {
        ModuleLayer layer = cls.getModule().getLayer();
        if (layer != null) {
            Configuration cfg = layer.configuration();
            if (cfg != null) {
                findModuleReferences(cfg, moduleReferencesOut);
            }
        }
    }

    // -------------------------------------------------------------------------------------------------------------

    public static void main(String[] args) throws Exception {
        Set<ModuleReference> systemModuleRefs = ModuleFinder.ofSystem().findAll();

        Set<ModuleReference> nonSystemModuleRefs = new HashSet<>();
        if (CALLER_RESOLVER == null) {
            System.out.println(Java9Scanner.class.getSimpleName() + " could not create "
                    + CallerResolver.class.getSimpleName() + ", current SecurityManager does not grant "
                    + "RuntimePermission(\"createSecurityManager\")");
        } else {
            final Class<?>[] callStack = CALLER_RESOLVER.getClassContext();
            if (callStack == null) {
                System.out.println(Java9Scanner.class.getSimpleName() + ": " + CallerResolver.class.getSimpleName()
                        + "#getClassContext() returned null");
            } else {
                for (int i = callStack.length - 1; i >= 0; --i) {
                    System.out.println("Finding module references for " + callStack[i]);
                    findModuleReferences(callStack[i], nonSystemModuleRefs);
                }
            }
        }
        nonSystemModuleRefs.removeAll(systemModuleRefs);

        // Show info for non-system modules
        for (ModuleReference m : nonSystemModuleRefs) {
            System.out.println(m.descriptor().name());
            System.out.println("  Version: " + m.descriptor().toNameAndVersion());
            System.out.println("  Packages: " + m.descriptor().packages());
            Optional<URI> location = m.location();
            if (location.isPresent()) {
                System.out.println("  Location: " + location.get());
            }
            m.open().list().forEach(s -> System.out.println("    File: " + s)); // e.g. "java/util/Scanner.class"
        }
    }
}

I'm going to have to test how parallelizable the module system is. I suspect it employs a lot of locking, which will kill performance, at least for scanning system modules. The good news is that for non-system modules, ModuleReference#location() returns a "real" URI, of the form file:///path/to/module.jar, so I can still scan those in parallel if the module loading system is not as parallelizable as FCS' own scanning logic. However, that will mean I will need to parse all the module-info.class files, and replicate all of Java's internal module visibility and export logic, which will be complicated and hard to get right.
(For system modules, the returned URIs are useless, they are just "jrt:/" plus the module name. So I will have to use ModuleReference#open()#list() and ModuleReference#open()#read() instead of manually scanning.)

You are the man!!!!

Can you add an entry into MANIFEST for Automatic-Module-Name :)
Automatic-Module-Name: xxxx.xxxx ?

Fixed, implementing full JDK9+ module scanning support, and released in version 3.0.0.

@GedMarc I went one better than adding an Automatic-Module-Name, I discovered this super-cool project that creates a proper module:
https://github.com/moditect/moditect
So FCS can be used by modular projects now too -- it is fully modularized.
What's more, FCS still works on JDK7 and JDK8 projects too, since Moditect uses Objweb-ASM to compile the module-info.class (so I was still able to set the source and target level to 1.7 in spite of the project now having a module-info.class file).

Just curious, have you looked into how Spring handles modulepath scanning?

@lukehutch Thanks for your work on this! Note that the wiki still says "Eventually, the Java 9 module system will be supported (work has not started on this yet -- patches are welcome)."

@kaqqao I have not seen their code, but I'd like to look at it -- do you know where exactly their module path scanning code is located?
@seanf Thanks, I thought I had caught all of those :-)


Ajax Error on dashboard-domains with Lighttpd

Serving PowerDNS-Admin on build-in Python server works fine. But serving it over uwsgi + lighttpd doesn't show any domains on the dashboard. An error message comes up:
 "DataTables warning: table id=tbl_domain_list - Ajax error ..."
Everything else (Domain templates, Users etc.)  works.
The debug console in the browser shows an 500 internal Server error. - Any ideas whats going on there or where I should search?
http://pdns.domain.tld/pdns/dashboard-domains?draw=1&columns%5B0%5D%5Bdata%5D=0&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=1&columns%5B1%5D%5Bname%5D=&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=2&columns%5B2%5D%5Bname%5D=&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=true&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=3&columns%5B3%5D%5Bname%5D=&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=true&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata%5D=4&columns%5B4%5D%5Bname%5D=&columns%5B4%5D%5Bsearchable%5D=true&columns%5B4%5D%5Borderable%5D=true&columns%5B4%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B4%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B5%5D%5Bdata%5D=5&columns%5B5%5D%5Bname%5D=&columns%5B5%5D%5Bsearchable%5D=true&columns%5B5%5D%5Borderable%5D=true&columns%5B5%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B5%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B6%5D%5Bdata%5D=6&columns%5B6%5D%5Bname%5D=&columns%5B6%5D%5Bsearchable%5D=true&columns%5B6%5D%5Borderable%5D=false&columns%5B6%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B6%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=0&order%5B0%5D%5Bdir%5D=asc&start=0&length=10&search%5Bvalue%5D=&search%5Bregex%5D=false&_=1530617132843

Found it - the buffer size for uwsgi was not high enough in my configuration. changed it to 32768.
Everything is fine now also with lighty.


mkv support

Chrome seems to support mkv files. They can be read by webtorrent-app (https://github.com/feross/webtorrent-app/blob/fc425e422154f3f79876e44f6c128b8a086d3c0f/renderer/lib/torrent-player.js#L18)
Doesn't that mean mkv could be added there https://github.com/feross/render-media/blob/master/index.js#L14 so instant.io would support mkv videos ? (at least in chrome)

Yes, let's give this a try.

This will never be perfect, since we're just guessing the codec, but it might play some .mkv videos. The real solution is for someone to add support for .mkv to @jhiesey's videostream.

https://github.com/feross/render-media/commit/94e0d3e215156d9dd2623aaa7dd68f254000230b
2.5.0


Upgrade to sdk 1.22

Oh actually the failure looks legit, one of the ddc flags changed, --build-root should now be --library-root.

Now do that again for 1.22.1 – 🤷♂


extensions: gate module_ctx.extension_metadata(reproducible = ...) appropriately

reproducible was added in Bazel 7.1.0; gating this argument allows older Bazel versions to use rules_cc v0.0.13 and newer.
Note that this change (use of reproducible) came from Bazel itself in bazelbuild/bazel#22335; it made its way over to rules_cc via https://github.com/bazelbuild/rules_cc/commit/c2549f6eb07ce00e529b84f9b9f1b31135a9ff77 (see https://github.com/bazelbuild/bazel/commit/1c4e78a9ceab9794140324d64833c628e382a3da).
More context here.

Closing in favor of #255; cc: @fmeum.


Make it possible for windows-gnu tests to pass

Skip test that uses empty path on Windows, because Windows doesn't do the empty path thing.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @brson (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors: r+

:pushpin: Commit fe64232 has been approved by alexcrichton

:hourglass: Testing commit fe64232 with merge 80a983c...

:sunny: Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64
Approved by: alexcrichton
Pushing 80a983c1c91c87f04a3c4cc9c380519b884d4a51 to master...


Accessible "Tabs" component

Problem

Currently we're creating inaccessible, ad-hoc experiences with our "tabs" components on the image and audio results page.
There is an established accessible pattern for these kinds of interfaces called the "tabpanel".
Description

We need to create a component to encapsulate this interaction and make it accessible. Ideally the API would look something like this:
<template>
  <VTabs>
    <template #tabs="{ activeTab }">
      <VTab id="one" :active="activeTab === 'one'">Tab one</VTab>
      <VTab id="two" :active="activeTab === 'two'">Tab two</VTab>
      <VTab id="three" :active="activeTab === 'three'">Tab three</VTab>
    </template>

    <VTabPage for="one">Tab one content</VTabPage>
    <VTabPage for="two">Tab one content</VTabPage>
    <VTabPage for="three">Tab one content</VTabPage>
  </VTabs>
</template>

It would be nice if we could arbitrarily order the tabs and tab pages so that you could do something like this:
<template>
  <VTabs>
    <VTab id="one">Tab one</VTab>
    <VTabPage for="one">Tab one content</VTabPage>

    <VTab id="two">Tab two</VTab>
    <VTabPage for="two">Tab one content</VTabPage>

    <VTab id="three">Tab three</VTab>
    <VTabPage for="three">Tab one content</VTabPage>
  </VTabs>
</template>

We could try using provide/inject to create an API that each tab and page registers itself against and the VTabs component can manage rendering them in the correct place and order.
This may not be workable though, in which case the first example should work and we would just use DOM apis to hide/show the appropriate page when a given tab is selected.
Implementation

[ ] 🙋 I would be interested in implementing this feature.

Note: once this is implemented we'll need to replace the tab interfaces on the single results pages to use it.


WiFiIcon widget probably not working with tethered interfaces

I tried to set up the WiFiIcon widget, but it doesn't work for me, then tried same interface with Net widget which works. I tether my connection, and cannot try with WiFi or Ethernet, so maybe someone would be able to test it?

WiFiIcon inherits from qtile's Wlan widget, not the Net one so I'm guessing that, if you tried the Wlan widget, it also wouldn't work for you.

Yes, can confirm that Wlan widget doesn't work either, maybe it corresponds to iwlib's  "Interface doesn't support scanning.".


UMAP contours get cut off

Hi,
Thanks for developing this great visualization tool. When plotting the circlize plot, I am noticing that the UMAP contours are getting cut off in a square shape within the circle. Here are some examples from my plot.

I have tried adjusting the scale value in prepare_circlize_data to make it smaller, but the clipped areas remain. I have also noticed that your example on the front page also has the clipped edges. Any suggestions on how to fix this?
Thanks!

Hi @allenyen
I provided several parameters to control the contours in the plot_circlize. You can adjust the kde2d.n, contour.nlevels and contour.levels to see if you can get a better plot. Here is a brief description of each parameter:
contour.levels: Which contour line to be drawn on the plot. Value: 0-1
kde2d.n: Number of grid points in each direction. A kde2d parameter
contour.nlevels: Total number of levels in contour
For more information, you can learn more from the kde2d function in the MASS package (https://cran.r-project.org/web/packages/MASS/index.html).

Hi @HaojiaWu
I adjust the parameters contour.levels、contour.nlevels、kde2d.n，but it didnt work.
circlizePlot(SeuratObject = xx, idents = c("clMidwayPr","clTopLevel","orig.ident"),output = "1.png",width = 12,height = 10,scale = 0.7,kde2d.n = 50,contour.nlevels = 300,contour.levels=c(0.1,0.
    2,0.3,0.4))


Adding instructions for Netbeans

This is a step-by-step on guide on importing and running the project with the Netbeans IDE. I have verified these myself and have successfully run the tests using this methodology.

Awesome.  Thanks for doing this.  I have a couple of comments for minor improvements to this PR.

@JamesAnthonyPino let me know if you plan to make these changes.  If not, I would be happy to do it.
Thanks!

@matthewmorgan done!

Thanks for making these changes.  I did find one more typo if you could fix that.
Also, the custom with the exercism repos is to squash all commits in to one per PR.  I'd be happy to help you do it, or here's a method I like to use.  First make a final commit for your latest changes, then:
git reset --soft <last-hash-in-master-before-your-commit>
git commit -am 'One commit message to define your awesome contribution'

After that, you'll need to force-push your branch to replace the old commits with the squashed new one:
git push -f

Again, let me know if I can help in any way.

A discussion about the spirit of this work has cropped up: exercism/xjava#132.  Please hold off on merging until that goal-focusing discussion has resolved.

As detailed in 37721c40bf71dd71929a6a0a133c2263b45b0768, we're moving away from providing IDE-based instructions.  Of course users can use whatever editor (or IDE) they want, but like most other tracks on Exercism, we'll emphasize proficiency with the command-line.
This decision has come after much hand-wringing and many hours of my own in documenting other IDE installs.
Thank you, @JamesAnthonyPino for your efforts.


add and expose observedAt time for lag entries

When start-latest is false (or when backfill-earliest is true for a consumer with infrequent commits), burrow churns through a lot of old commits on startup. Naively that looks bad, because old commits have huge amounts of lag when compared to the current end-offset.
This PR exposes an observedAt field on lag objects for when burrow saw the commit, so that consumers of the HTTP API can make their own decisions about how to treat historical commits.
In our case, we use this to only alert on lag metrics where the lag is either:

accurate: observed within 30s of the commit occurring (according to the lag's timestamp)
final: observed more than 30s ago. The assumption being that if burrow is catching up on old commits, it'll see new commits at a rapid pace. If it hasn't seen a new commit (for a given (consumer,partition)) in over 30s, it's likely the consumer really did get stuck, so we don't want to ignore this.

I don't think that kind of logic makes sense to embed in burrow, but it's very useful for consumers of the API to make their own decisions.

Note: https://github.com/linkedin/Burrow/wiki/http-request-get-consumer-detail should be updated to document this change


Pointing to https://slack.yourdomain.com

Thank you very much @rauchg - I love this!
This is probably a very dumb question as I am relatively new to Slack and Heroku, how to change my url from https//mydomain.herokuapp.com to https://slack.yourdomain.com?
Thank you!

For support please refer to https://zeit.chat and ping me there!


V1.2b delete contact associate journal

Codecov Report

Merging #95 into master will increase coverage by 0.23%.
The diff coverage is 92.30%.

@@             Coverage Diff              @@
##             master      #95      +/-   ##
============================================
+ Coverage     65.10%   65.34%   +0.23%
- Complexity      492      493       +1
============================================
  Files            94       94
  Lines          1751     1760       +9
  Branches        171      171
============================================
+ Hits           1140     1150      +10
+ Misses          573      570       -3
- Partials         38       40       +2

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/seedu/address/model/Journal.java
96.55% <90.00%> (+12.34%)
11.00 <3.00> (+4.00)

...rc/main/java/seedu/address/model/ModelManager.java
86.15% <100.00%> (+0.21%)
26.00 <0.00> (ø)

...c/main/java/seedu/address/model/journal/Entry.java
90.00% <100.00%> (+2.50%)
13.00 <1.00> (-1.00)
:arrow_up:

.../java/seedu/address/model/journal/Description.java
75.00% <0.00%> (-12.50%)
5.00% <0.00%> (-1.00%)

...rc/main/java/seedu/address/model/journal/Date.java
90.00% <0.00%> (-5.00%)
7.00% <0.00%> (-1.00%)

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 97c6bf2...865d851. Read the comment docs.


I'm doubtful about app_context

You are embedding a context which is an anti pattern.
Here is the containedctx linter available in golangci-lint
https://github.com/sivchari/containedctx
You can look at the blog post it mentions.
As you are only using ctx.WithValue
I would expect your code to do not define AppContext, and add method to it, but define your app signatures like this
func GetUserID(ctx context.Context) (string, bool)

func SetUserID(ctx context. Context, userID string) context. Context

instead of
func (sc *AppContext) UserID() (string, bool)

func (sc *AppContext) SetUserID(userID string) AppContext

Thank you so much for looking into the project. The idea is to be a simple wrapper around the native context but ensure it uses the same Keys to access specific values. I will read this article: https://go.dev/blog/context-and-structs and see if it's worth refactoring to have static methods that receive the context and internally use the key.

One solution could be to use this

type AppContext context.Context

So an alias and not a struct.
Your code would be almost the same.
Also, you should consider context as being immutable the alias will somehow force you to keep it immutable

@ccoVeille I have been playing around with the appcontext package. I have seen in some projects people wrapping around the native context like the chi framework.
What do you think about the following changes:

rename appcontext.AppContext to appcontext.Context
use the composition pattern with the native appcontext.Context

Changes: https://github.com/Talento90/goliath/pull/5


Bad performance on Humanoid-v2 using PPO

I'm testing the Humanoid-v2 environment with the default parameters. The rewards are around 500 after training. Is there anyone who successively applied it to the Humanoid-v2?

Humanoid usually requires 10m steps to train.


connect gotd to pion

Hi @ernado
is there any easy way to connect gotd to pion? :-)
Thanks upfront!

Hey, it is possible, but is not trivial.
Telegram uses WebRTC for calls, so it is doable.

Exactly, since i saw you are the author of gortc which and pion contributor i thought maybe you have something scribbled on your golang playground :-)


Options for pickadate

Looks like after refactoring options are not working in ember 1.13

I've rolled back to 0.3.2 and all is fine

Whoops, thanks for opening the issue. I've put a warning in the readme to use 0.3.2 on Ember versions older than 2.0.


Migrating Table Storage to Cosmos Db Table API

Are there any tools available to migrate Azure Table storage to Cosmos DB to access using Table APIs? I found Data Migration Tool but it only supports Cosmos db Tables access through Document API.

Please check https://datamigration.microsoft.com/scenario/azuretable-to-cosmos

@prabhakarreddy1234 please feel free to re-open the issue if the previous link didn't resolve your question.


Bug: tool separator breaks all following tools in XRC

Description:

There are two problems involved with this. The first is that the tool separator isn't handled by XRC processing. The second problem is that as soon as a node isn't handled, all XRC processing stops -- so nothing after the failed node gets shown.

Both problems have been fixed. There may be future problems allowing child processing to continue when a node doesn't support XRC generation, but that needs to have it's own issue raised if it occurs.


Icon request: Adafruit

URL of the site or app: https://www.adafruit.com
Logo resources for the icon: adafruit_favicon.zip
Preview:

Here you go!
For Aegis v2.0 and above (recommended):
https://github.com/aegis-icons/aegis-icons/blob/master/SVG/Adafruit.svg
https://github.com/aegis-icons/aegis-icons/blob/master/SVG/.Variations/Adafruit bg.var.svg
For Aegis v1.4.2 and below:
https://github.com/aegis-icons/aegis-icons/blob/master/PNG/Adafruit.png
https://github.com/aegis-icons/aegis-icons/blob/master/PNG/Variations/Adafruit bg.var.png
❓ How to add icon(s) to Aegis?

Perfect, thanks for you work!


Automatic Migration of labels when changing them in settings

Is your feature request related to a problem? Please describe.
It's painful to have to delete all related annotations when changing a label.
Indeed, when changing a label in the settings tab, an error raise and says :
These labels still exist in annotations:
My Old Wonderful Label(12 annotations)

Describe the solution you'd like
Having an automatic migration that would replace all My Old Wonderful Label labels with My New Wonderful Label.
Describe alternatives you've considered
Deleting all annotations and start labeling again......
Additional context
It's for text-based labeling so this means currently deleting annotations of all the spans, a migration would save so much time when changing settings...

Relative slack: https://label-studio.slack.com/archives/C01SKFX54QK/p1637079733054000

Upvoting here as I experienced a bug (getting a validation error when trying to delete a label in the interface) related to this feature. See Slack post above from @makseq.
Thank you!
Ian

I experienced the same issue, upvoting and hoping for a fix soon!

@priamaniv we already have PR with the fix of this issue, you can check it, or wait for a little, until we release it.
https://github.com/heartexlabs/label-studio/pull/1823

@triklozoid , thanks for working on this issue. Just wanted to follow up to say that that while I am now able to save the Labeling Interface config when updating the label name, I still get a validation error complaining that the tasks with the old label still exists, even though I have manually filtered for tasks with this old label and deleted / updated them with the new label.
Here's the error message I'm seeing, where I've replaced the actual label name with "previous_label_name":
Validation error 1526bff4-a899-4403-bdcc-1424936d3300
These labels still exist in annotations:
previous_label_name (1 annotations)

Just to be clear, when I go to the data manager and filter by "Annotation results" -> "contains" -> "previous_label_name". I get "Nothing found", as in no related tasks for the old label.
For reference, I'm using the enterprise version of the app. Happy to share the project ID or more info about the label privately if that would be helpful.

@ijmiller2 do you get this message after clicking on the "Save" button?  Now we have a workaround, which allows you to save config, but we are still working on fixing the reason of appearing this error message.

@triklozoid, yes I see the error message after I click the "Save" button, but it persists after that. I just went back to the Labeling Interface / Editor and I'm still seeing that validation error there. I think the only way to get rid of it is to add the old / deleted label back.

@ijmiller2 can you please find me in our slack community(there is a link in README of this repo) and share the project id and label name?

@triklozoid, no problem! Just sent you a message there

I've implemented label renaming in this PR as experimental feature
https://github.com/heartexlabs/label-studio/pull/2055/files
You can switch to this branch and run LS as follow:
EXPERIMENTAL_FEATURES=1 label-studio

Please check this video tutorial:
https://user-images.githubusercontent.com/501780/155040602-80e5158f-161b-4422-ae96-fa4c8c69e86d.mp4

@makseq I tried out this feature, but unfortunately the project summary isn't correctly updated at the end.
At the end, I receive errors in the labeling interface config(/projects/<project_id>/settings/labeling) like this:
Validation error f44f51b1-29d6-4ba2-9545-e60f8bf5d919
These labels still exist in annotations:
ABC (206 annotations)
Def Ghi (565 annotations)

After renaming "ABC" -> "abc" and "Def Ghi" -> "def_ghi".
I checked the labels themselves and I can't find any examples of "ABC" or "Def Ghi" so I think just the project summary is broken.
I don't know exactly what causes this broken state, but any calls to /api/dm/actions?id=rename_labels with sufficient labels times out after 30 seconds(I think the timeout is coming from our loadbalancer, but again not 100% sure).
Additionally, I ran the rename_labels api calls multiple times for the each label.
Is there a way to reset the project summary when it gets into this state?

Could you please check Rename labels action in this PR? I've added a project summary update there.
https://github.com/heartexlabs/label-studio/pull/2797


New and improved DevTools.

What does the pull request do?
Re-implements DevTools with a few new features:

Adds a built-in console using roslyn scripting which allows running arbitrary code
Allow editing of property values
Improved display and grouping of control properties
Filtering control properties
Maintain selection when switching between logical/visual tree

Breaking Changes
Avalonia.Diagnostics is now a separate NuGet package so if you're using AttachDevTools you'll have to add a reference to that.

This is now ready for review, I've made most of the suggested changes:

Avalonia.Diagnostics is now a separate package
Added "Type" column to show property type
Editing colors, sizes etc now works

I didn't add the filter to the Events tab yet as that's a bit more involved and I'd like to get this finished for the moment so I can continue with other things.

Note: we still need to make Roslyn dependency optional if we want devtools to be operational on iOS/WASM.

TBH, I'm not sure how useful it would be there anyway, but yeah we can think about that when the time comes.

For mobile the idea was to use our previewer protocol. You know, that one that can show our controls in browser.

Currently the app itself shows the dev tools on demand. Why not make this a service you can connect to? So we could integrate this into the Visual Studio Extension or have it standalone.
Snoop for example could just inject itself into the target application and it just worked.


update packages

:white_check_mark: Build TheIdServer 8.3.0-fix-dependencies.1+15.build.3908 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/c15ecc9bd4 by @invalid-email-address)


EXExecuteScript crashing the game without error popup

After the changes made to EXExecuteScript on v<IP_ADDRESS>, this function has been producing constant crashes on a map that I am developing.  Where as on v<IP_ADDRESS>, I did not experience any crash from using this function.
Map link: https://drive.google.com/file/d/1RITTtKOusD8WgsaH7l2qLlfUKG04Ue-Y/view?usp=drive_link

I suggest NOT using this native at all, all of the things it does are available via Field API, I will take a look again, but it's under lowest/non-existent priority as it's just a bad API to begin with.

Anyhow, small fixes were applied to it, so it should no longer crash at least. This fix will be available in the upcoming version.


Add Docs for additional supported KMS solutions

Currently the docs mention and document support for four KMS providers.
The MinIO Website lists seven supported KMS providers.

[x] Update https://min.io/docs/minio/kubernetes/upstream/operations/server-side-encryption.html to list the additional three providers

Fortanix SDKMS
Thales Digital Identity and Security (formerly Gemalto)
~OASIS Key Management Interoperability Protocol (KMIP)~

[ ] ~Add docs for Fortanix SDKMS~
[ ] Adds docs for Thales Digital Identity and Security (formerly Gemalto)
[ ] ~add docs for OASIS Key Management Interoperability Protocol (KMIP) TC~

Per @aead OASIS API is not supported.

Fortanix is no longer listed on the website.


Create gradle version catalog for ftl-runtime and it's sub-projects.

This will allow us to share versions between ftl-runtime and the plugin

Fixed with #158


NASA Challenge_[@katiehughes1][Space ROS Gazebo Demos][closes #47]

This is a submission for the NASA Space ROS Sim Summer Sprint Challenge written by @david-dorf and I. The main details of our submission are on the README.md introduced in the spaceros_gz_demos package we added to this repo. We introduce four new demos that run in Gazebo Harmonic with the relevant topics for sending robot controls and reading sensor information bridged to ROS. This includes simulated worlds with robots on the Moon, Mars, Enceladus, and in orbit above Earth. We also provide a Dockerfile that can be used to run these simulations in spaceros_gz_demos/docker that is built upon the base Space ROS docker image, as well as some scripts to help with building and running the image.
This PR is a lot of lines, but most of the lines come from the mesh files added for the different models. The relevant ROS code added is in spaceros_gz_demos/launch.
Relevant issue: https://github.com/space-ros/demos/issues/47
https://github.com/user-attachments/assets/b5a11627-e0f3-451b-af0c-b0e76b30fb04

@mkhansenbot Thanks for letting me know. I just updated our docker related scripts to match the new CI steps, and resolved the merge conflict in the readme.
With regards to linking to a relevant issue -- I thought that we could just reference "NASA Space ROS Sim Summer Sprint Challenge" (in the attached document). I could create one if it's necessary though.
Challenge Brief - NASA Space ROS Sim Summer Sprint Challenge.pdf
Let me know if there are any other changes that need to be made!

@mkhansenbot sounds good, will just need to update the docker related scripts so that they can run from this new location


cephfs: add missing coverage in file validate cases

The tests for Fchown and Fchmod were not checking the cases where the file object was not valid. Tis is a quick-n-dirty add of those checks.
Checklist

[x] Added tests for features and functional changes
[x] Public functions and types are documented
[x] Standard formatting is applied to Go code

@agarwal-mudit PTAL too

@agarwal-mudit PTAL too

LGTM, thanks.


Make the naming of the executable / library consistent

Currently we use DiffPrivacy / DiffMu / ?

We of course still refer to our types as DMTypes etc. internally, but the user facing parts should now be consistent on diffprivhs as library name.


Please clarify where to find the network planner

it would make sense to clarify in the first paragraph where to find the planner
Teams Admin > Org Settings > network planner.
without that it is somewhat frustrating to be welcomed to something that you cannot find unless you already know, or need to download and review the pptx linked ad the bottom of the article.

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

ID: 18f0a6ad-85d4-1d26-2e7c-496f0699e418
Version Independent ID: c1283d82-a691-19aa-9fb9-be51031f0f39
Content: Use the Network Planner for Microsoft Teams
Content Source: Teams/network-planner.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

Opening with "Welcome to the Network Planner. " is misleading.  This page is not the Network Planner, why would you say welcome to the Network Planner when we are not at the Network Planner?  Why not "Welcome to the Network Planner Reference Guide" followed by something like "The actual Network Planner can be found here [link to Network Planner]".

Done and merged.


Ctrl+L Failure

In the terminal, the keyboard shortcut Ctrl+L to clear the terminal window is not working properly.  Using the shortcut will clear the window temporarily, but it will revert back when you begin typing another command.

/needsMoreInfo please include the version of VSCode you're using and what OS you're on

Version: 1.37.1
OS: Windows_NT x64 10.0.17763
Extensions:

Debugger for Chrome
Beautify
Docker
Rainbow CSV

Reproducible steps:

Open a terminal
ls
Ctrl + L
type anything

What you expected to see, versus what you actually saw:
Expected screen to stay cleared, and not view the previous results
What actually happened was the terminal window did not stay cleared

Thanks! This looks like a duplicate of https://github.com/microsoft/vscode/issues/75141


An idea about adapting to any databases more than MySQL Postgres

Feature Request
Describe the feature you would like.
Have a sidecar pod running on the same node with database pod and playing as the agent of database . The sidecar will have common api that must be fulfilled by the users to adapt for their specific database. E.g. influx-dB. users can provide their own sidecar docker image that implement the api standards with a database’s specific crud statements and database administration commands and so on.

Does someone interest on this issue?

I am interested at it.
But do not know if it is achievable.
Regards.

From: Liang Zhang<EMAIL_ADDRESS>Sent: Monday, 3 June 2019 1:20 PM
To: apache/incubator-shardingsphere
Cc: Jake Zhang; Author
Subject: Re: [apache/incubator-shardingsphere] An idea about adapting to any databases more than MySQL Postgres (#2484)
Does someone interest on this issue?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-shardingsphere/issues/2484?email_source=notifications&email_token=ACQWWGPNTTW42P6GBEDUVLDPYSEWDA5CNFSM4HSABAUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWYGL6A#issuecomment-498099704, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACQWWGMUABCV46IBWNQKISDPYSEWDANCNFSM4HSABAUA.

it's a good idea.it will be helpful!

I just close this issue because the scope is too big.
If someone want to implement with a new database, should talk about how to parse sql, how to implement database protocol and so on.
If some one really want to do this, please contact us again.


Rename existing connections/apps

Replacing connection/app is difficult when app

is heavily integrated in other systems
is isolated and you want to preserve balance

It would be good to also prevent creation of two apps with the same name


ENB running outside docker machine and SIP REGISTER not initiated from UE

VOLTE register and call was successfully established if I run the SRSENB and DOCKER in the same machine. SIP REGISTER message is not initiated if i run the SRSENB in another machine
SRSENB                     : <IP_ADDRESS>
DOCKER MACHINE IP: <IP_ADDRESS>
Attaching the PCAP. Kindly help of this
docker_enb_NOSIP.zip

Paste here your .env contents

Paste here your .env contents

env.zip

# UPF
UPF_IP=<IP_ADDRESS>
UPF_ADVERTISE_IP=<IP_ADDRESS>

This is wrong, since you are using only 4G/4G-5G Hybrid Core, UPF_ADVERTISE_IP should be same as UPF_IP i.e.
# UPF
UPF_IP=<IP_ADDRESS>
UPF_ADVERTISE_IP=<IP_ADDRESS>

Thanks for the quick help. I'll change this configuration

Steps followed:
Changed the .env (UPF_ADVERTISE_IP=<IP_ADDRESS>)
set -a
source .env
docker-compose -f nsa-deploy.yaml build --no-cache
docker-compose build --no-cache dns mysql pcscf scscf icscf
docker system prune -f
docker-compose up
UE initiates REGISTER and not failed to find scscf. Attaching the PCAP
scscf_fwd_error.zip
scscf        |  5(42) DEBUG: ims_auth [authorize.c:232]: reg_await_timer(): [DONE] Looking for expired/useless at 113147362
pcscf        | 104(140) NOTICE:

scscf.ims.mnc001.mcc001.3gppnetwork.org --> MCC supposed to be 404

Are you using cx_test branch?
Can you post here the content of 'scscf' tables in icscf database?

Are you using cx_test branch?
I'm using cx_test branch

Can you post here the content of 'scscf' tables in icscf database?
mysql> select * from nds_trusted_domains;
+----+-----------------------------------+
| id | trusted_domain                    |
+----+-----------------------------------+
|  1 | ims.mnc001.mcc001.3gppnetwork.org |
+----+-----------------------------------+

mysql> select * from s_cscf ;
+----+-----------------------+--------------------------------------------------+
| id | name                  | s_cscf_uri                                       |
+----+-----------------------+--------------------------------------------------+
|  1 | First and only S-CSCF | sip:scscf.ims.mnc001.mcc001.3gppnetwork.org:6060 |
+----+-----------------------+--------------------------------------------------+
mysql> select * from nds_trusted_domains ;
Empty set (0.00 sec)
mysql> select * from s_cscf;
Empty set (0.00 sec)
I have deleted both entries and facing the same error.

Try executing the following manually the icscf container
mysql -u root -h ${MYSQL_IP} icscf -e "INSERT INTO s_cscf (name, s_cscf_uri) VALUES ('First and only S-CSCF', 'sip:scscf.$IMS_DOMAIN:6060');"

mysql -u root -h ${MYSQL_IP} icscf -e "INSERT INTO nds_trusted_domains (trusted_domain) VALUES ('$IMS_DOMAIN');"

Thanks a lot. It worked. Connected 5 UE and I tried to list the REGISTERED users from SCSCF database and its showing empty
mysql -u root -h $MYSQL_IP
use scscf;
select * from subscriber ; //(and all items)
Empty set (0.00 sec)

Because no data is written in SCSCF database as far as I know

I'm can run SRS-eNB and the docker_open5gs in separate machine. Great Thanks for your support.


markdown file preview bug report

Vscode Version: 1.27.2
OS Version： mac 10.13.6
Sometimes I wirte .md file and preview by this plug, when i push the .md file to github, the file will have special symbol: �。
When I open .md file used by GitHub Pages, the � symbol will parse html code：
•

version: 1.27.2 (1.27.2)
system: mac

Please share some example text that contains the unknown character. Also what file encoding are you using?

Please share some example text that contains the unknown character. Also what file encoding are you using?

Thanks for reply!
The character in the github will analysis below code：
•
git history record
Encoding：UTF8

From your description, this seems like a bug with how github renders those unicode characters.
Closing as external


[ATM9] Freezing and Lag relating to hiding stacks

1.20.1 Using ATM9 0.2.37 , emi-1.1.0
Issue 1:
Game freezes for extended periods of time when hiding stacks in EMI. Seems to freeze for longer periods for more batches. Example hiding Applied Energistics 2 facades (hide stacks by ID) freezes for ~5 minutes. Image
Issue 2:
When viewing red background hidden items on sidebar in edit mode game lags to a crawl. FPS scales with columns amount of screen but at 24 columns and ~22 rows its less than 0.1 fps, hard to change the page away. Image (about 10fps with just that on screen)
Tried batch rendering - no change
RAM usage doesn't seem to be a problem.

I can confirm that this is still an issue that happens on EMI 1.1.16 (Forge 1.20.1). While it shouldn't affect a normal user (since it only happens when edit mode is used), it does affect people using the feature to mass hide redundant and useless items in modpacks, so it should probably be looked into at some point.
From what I have tested, AE2 facades are extremely laggy when they are being rendered in any capacity and are marked as hidden. This is probably an issue relating to how the facades are rendered in the first place not working with the red background. CB Microblocks microblocks have also been observed to lag, although not as extremely as facades.
Also, it would seem that each entry selected to be hidden increases the time it takes to hide the next entry, as once I hid all facades, it took a while to hide and unhide a single entry.
Batch rendering still didn't seem to help and nothing else was affected.


[Proxy] Proxy uses a lot of heap memory when uploading large function jar files

Describe the bug
Proxy uses a lot of heap memory when uploading large function jar files. This is due to the buffering solution added as part of #5361 . The solution buffers also very large uploads to memory.
To Reproduce
Create a function with a large jar file to reproduce.
The repro for #10906 , https://github.com/lhotari/pulsar-playground/tree/master/proxy-tls-issue-repro-2.7.2 , reproduces this issue too.
Expected behavior
The proxy heap memory usage shouldn't grow out of bounds. File uploads shouldn't be buffered in heap memory.

@addisonj would you like to pick this one?

@addisonj I created #10944 to fix this issue. It also adds a unit test for the "replay" functionality added in #5361 . Please review


HIVE-26659: Proceed MapJoin with empty storage if it performs AntiJoin

What changes were proposed in this pull request?

Proceed MapJoin operation with empty storage if that storage is RHS table of AntiJoin.
Why are the changes needed?

Current MapJoinOperator does not join empty RowContainers unless it has any OuterJoin.
Therefore, MapJoinOperator always produces no rows for AntiJoin as it joins non-empty LHS RowContainer and empty RHS RowContainer.
Does this PR introduce any user-facing change?

No
How was this patch tested?

I add a qfile test that does not use vectorized MapJoin operator.
I also ran all TPC-DS queries on 1TB dataset with hive.auto.convert.anti.join=true and checked that all queries returns the correct result.

+1.  verified the test file with and without the patch. The patch fixes the issue.


Sequence of sequences is not supported

Parse
- [1, 2]

will fail.
Got:
share/lua/5.1/tinyyaml.lua:535: bad argument #2 to 'tinsert' (number expected, got table)
stack traceback:
        [C]: in function 'tinsert'
        .../tinyyaml.lua:535: in function 'parseseq'
        ../tinyyaml.lua:675: in function 'parsemap'
        ../tinyyaml.lua:530: in function 'parseseq'

Just wondering if you found a workaround for this? I have the same issue.


Script selector outputs selected pins

Just received my Elite today.
On 0000 it just works.
But on 0001, 0011 and 0111 so far, it constantly writes<PHONE_NUMBER>4,<PHONE_NUMBER>343434 or<PHONE_NUMBER>34234234 after the script has been executed.
See attached screenshot for example.

Am I missing something obvious to terminate the output correctly?

Can you show us your code ?

I did the same and have the exact same issue. Has this been resolved?
Output text file:
1111
1111
end123412341234123412341234123412341234123412341234123412341234123412341234
Corresponding script file:
1111.txt


Prefix set

Codecov Report

Merging #9 into master will decrease coverage by 24.3%.
The diff coverage is 19.39%.

@@             Coverage Diff             @@
##           master       #9       +/-   ##
===========================================
- Coverage   88.55%   64.24%   -24.31%
===========================================
  Files          11       13        +2
  Lines         428      660      +232
===========================================
+ Hits          379      424       +45
- Misses         49      236      +187

Impacted Files
Coverage Δ

bgpfu/prefixlist/__init__.py
100% <100%> (ø)
:arrow_up:

bgpfu/prefixlist/set.py
12.56% <12.56%> (ø)

bgpfu/base.py
43.75% <43.75%> (ø)

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 41e430b...aa53f48. Read the comment docs.


Unnecessary and confusing nesting of poetry projects

The instructions given in the README mean that you end up creating twopoetry virtual environments, one of which is created from running poetry inside the first poetry virtual environment. This appears to be done under the assumption that the user wants to have a number of linkml projects underneath a single linkml projects folder.
Another assumption is that the user will run Makefile commands with a pre-activated poetry shell (i.e. poetry shell). I don't think this is how most users use poetry - observing how people use poetry, they tend to not activate the shell and then run commands, but instead use poetry run ....
My recommendation is that this set of instructions is redesigned to focus on the simpler use case of "I want to create a single linkml project in a folder, and I want to run make without first activating a poetry shell". The latter part would be achieved by having the Makefile commands prefixed with poetry run as appropriate.

This nesting is not "unnecessary" but required to isolate the environments for the installation tooling from the created linkml-project. But I agree that it is a bit confusing.
If presence of pipx could be assumed, the instructions in Step 1 & 2 reduce to pipx install poetry cruft. This would be much simpler and avoid the confusion.
In my opinion it is good a advice to have pipx on the system when you work with Python but am not sure if I am part of a minority. pipx has worked great for me since years on Windows & Linux.

With https://github.com/linkml/linkml-project-cookiecutter/pull/84 the instructions have been rewritten to advise using pipx and not have the nested Poetry projects.


chore: increase timeout for compaction daemon tests COUCHDB-3344

Overview

Increased test timeout, trying to reduce flakyness.
Testing recommendations

JIRA issue number

 https://issues.apache.org/jira/browse/COUCHDB-3344

Related Pull Requests

Checklist

[x] Code is written and works correctly;
[x] Changes are covered by tests;
[x] Documentation reflects the changes;

--define(TIMEOUT, 60000).
+-define(TIMEOUT, 1200000).

Meant to do 120000 (x2) probably not x20?.  If that's the case then +1

fixed.


Specify which parts of the software is informative

Why does not the m2m_rdr.c include this text?
/*
AOM-IAMF Standard Deliverable Status:
This software module is out of scope and not part of the IAMF Final Deliverable.
*/

The functions in downmix_render.c are also used to do audio rendering(multichannel to multichannel with demix information).
So I think this file also need to include this text.
/*
AOM-IAMF Standard Deliverable Status:
This software module is out of scope and not part of the IAMF Final Deliverable.
*/
@hkchung72
How  do you think about this?

The functions in downmix_render.c are also used to do audio rendering(multichannel to multichannel with demix information).
So I think this file also need to include this text.

/*
AOM-IAMF Standard Deliverable Status:
This software module is out of scope and not part of the IAMF Final Deliverable.
*/
@yilun-zhangs please refer to the PR https://github.com/AOMediaCodec/iamf/pull/726. Any mixing operations such as this downmix implementation is part of the mixer in Figure 2.

There would be two kinds of downmixings in the IAMF spec. One is to use downmix matrixes (informative) and the other is to use demixing info which is delivered in bitstream (normative).

@sunghee-hwang does your comment mean that we should change something in this PR?

There would be two kinds of downmixings in the IAMF spec. One is to use downmix matrixes (informative) and the other is to use demixing info which is delivered in bitstream (normative).

@sunghee-hwang does your comment mean that we should change something in this PR?

I just tried to convey the fact. If you ask my suggestion, then I would suggest the following:

m2m_rdr.c needs to add the informative text
downmix_render.c needs no change.

m2m_rdr.c needs to add the informative text

Okay, I saw that change in the PR.


Rancher v1.3.1 Kubernetes Dashboard not working

Hi,
I try to install Rancher v1.3.1 and enable Kubernetes Environment, the install seem OK but when i navigate to Dashboard but result is blank page, i check 2 deployment :kubernetes-dashboard and  tiller-deploy restart every time with log:
Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service accounts configuration) or the --apiserver-host param points to a server that does not exist. Reason: Get https://<IP_ADDRESS>:443/version: dial tcp <IP_ADDRESS>:443: i/o timeout
I dont know why, Please help me
I dont know why kubernetes service for expose <IP_ADDRESS>:443 belong different namespace(default) with others(kube-system)

Useful
Info

Versions
Rancher v1.3.1 Cattle: v0.175.6 UI: v1.3.5

Access
Disabled

Orchestration
Kubernetes

Route
k8s-tab.namespace.pods.index

Same issue here...

Seeing same thing with rancher 1.5.1 + kubernetes 1.5.2

try this: https://gist.github.com/joshwget/ac657afebc6260514adbfb4de76622c1
that worked for me. The only I did differently was: kubectl -n kube-system delete services --all
then restart the whole k8s stack and it'll re-create the services, which should make it all work again 👍

This should be more robust in the latest versions of rancher 1.5.9+. Feel free to create a new issue if the problem is seen there.


Previous Name and Email not coming in Edit Profile page

When you click on edit profile page, the name and email of the user should come to edit.

Here the present name and email should come to edit.

@Signior-X I'll take this up.


Add start_indent to MD007

This is a start at addressing #337, but unfortunately I really am not familiar with node, and several tests are failing that should pass. Any pointers would be appreciated.

Fixed by https://github.com/DavidAnson/markdownlint/commit/517eb4201582816e9cc77c46d944d2929bebf203

Thanks for this! I'm sorry I lost track of this after changing jobs at the end of May, shortly after posting this. Thanks for pulling it over the finish line, it will be much appreciated.


enable StickyMessages ansi_codes on Windows

This now works due to new libuv patches landing in recent julia versions.
Fixes #28

Codecov Report

Merging #37 (8323693) into master (31aa320) will increase coverage by 1.18%.
The diff coverage is 95.96%.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
+ Coverage   94.66%   95.84%   +1.18%
==========================================
  Files           4        5       +1
  Lines         206      265      +59
==========================================
+ Hits          195      254      +59
  Misses         11       11

Impacted Files
Coverage Δ

src/TerminalLoggers.jl
100.00% <ø> (ø)

src/ProgressMeter/ProgressMeter.jl
90.69% <77.77%> (-4.96%)
:arrow_down:

src/ProgressBar.jl
93.75% <93.75%> (ø)

src/TerminalLogger.jl
96.64% <97.95%> (+5.46%)
:arrow_up:

src/StickyMessages.jl
98.21% <100.00%> (-1.79%)
:arrow_down:

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 c24a6bd...8323693. Read the comment docs.

Codecov Report

Merging #37 (8323693) into master (31aa320) will increase coverage by 1.18%.
The diff coverage is 95.96%.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
+ Coverage   94.66%   95.84%   +1.18%
==========================================
  Files           4        5       +1
  Lines         206      265      +59
==========================================
+ Hits          195      254      +59
  Misses         11       11

Impacted Files
Coverage Δ

src/TerminalLoggers.jl
100.00% <ø> (ø)

src/ProgressMeter/ProgressMeter.jl
90.69% <77.77%> (-4.96%)
:arrow_down:

src/ProgressBar.jl
93.75% <93.75%> (ø)

src/TerminalLogger.jl
96.64% <97.95%> (+5.46%)
:arrow_up:

src/StickyMessages.jl
98.21% <100.00%> (-1.79%)
:arrow_down:

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 c24a6bd...8323693. Read the comment docs.

Does this look ok to you, @c42f?

Does this look ok to you, @c42f?

Sorry I missed this, looks good!

Sorry I missed this, looks good!

Thanks! May I ask you to trigger a new release? I already bumped the patch version in this PR.

Thanks! May I ask you to trigger a new release? I already bumped the patch version in this PR.

Done https://github.com/JuliaRegistries/General/pull/27815

Done https://github.com/JuliaRegistries/General/pull/27815


Current precipitation unit

What happened?
Shouldn’t the unit of measurement be “mm/h” instead of “mm”?
How to reproduce
see above
Relevant log output
No response
Which version are you running?
2024.8.2
Diagnostics file

[X] I have attached a diagnostics file

Additional information
No response

Well, I have sensor with mm/m so maybe it should be with various times?

Well, I have sensor with mm/m so maybe it should be with various times?

Time is easy to convert using a template...

Yes I agree. The naming "current" implicates some time relation because it iss not possible that it is instantaneous. Is this a mistake in the naming or in the description and usage? If the naming is correct, the expected aggregation should also be changed to "last".


CTCP-5440: Amending submissions reads for seals, goods references and…

… number of seals.

rebuild

rebuild


Is there a simple-peer like lib out there that uses werift-webrtc?

Hi,
Anyone already working on a simple-peer like module?
If not isn't it a good idea to make one since allot of projects are based on simple-peer.
So allot of us are "stuck" on just the wrtc module and the one made by @koush etc

I started a fork then did a rewrite in TypeScript, supporting independent data channels, stereo audio, and codec customization.
It is still a WIP, but I am using it in another project to do game streaming, so it is coming along.
Very exerimental at this point.
https://github.com/zenOSmosis/webrtc-peer

Somewhat related, and could be adapted to use werift-webrtc.
I started a fork then did a rewrite in TypeScript, supporting independent data channels, stereo audio, and codec customization.
It is still a WIP, but I am using it in another project to do game streaming, so it is coming along.
Very experimental at this point.
https://github.com/zenOSmosis/webrtc-peer

Cool!, tried to checkout your link but gave a 404, prob still private?


Implement AT LEAST 3 out of 4 requirements from the Product Topic Document - @jcjordyn130

Combining issues to make it cleaner.


Microsoft.VisualStudio.Azure.Fabric.MSBuild changelog

Does that exist anywhere? What's new in 1.7.0 compared to 1.6.9?

Anyone?

Looks like they started to include "What's new" section on nuget.org from 1.7.1

Resolved per comment above, thank you!


IPT crashes with "OutOfMemory" error

The Pl@ntNet team has tried mapping a large dataset in the IPT, but the installation crashes when clicking the preview icon.
This is what helpdesk received on April 24, 2020:

We have a large dataset (6 millions occurrences). When I connect to the database (Manage Resources > Create New Resource > Source Data), I can see the first records by clicking the "eye" icon. When I do the mapping between the database columns and DarwinCore fields, if I click the "eye" icon, the IPT crashes after a few seconds with an "OutOfMemory" error.

I have read that the IPT installation required 256 MB RAM (https://github.com/gbif/ipt/wiki/IPT2ManualNotes.wiki#getting-started-guide), and I have allocated 4 GB RAM to this process but it still crashes.
Is it a bug in the visualization tool ("eye" icon) or will it do the same when publishing the data (and therefore the mapping)? Could you tell me if you have an estimate of the RAM needed for large datasets? <<

This seems unusual and I'd expect 2GB to be plenty.
That "eye" should read only a small number of records (20?) and show them and we're not aware of anyone reporting issues on this before. The only time the IPT should use some memory is when publishing, and only then if running on windows (linux will use the native sort command).
What database (or file type) are you using, please? Could you perhaps make an admin user for<EMAIL_ADDRESS>and mail me the credentials and URL so I can help diagnose this?

From Antoine:

About the "out of memory" error: I created a single PostgreSQL table that contains all the data for one of our datasets (6 millions rows, no "join" statements, just a "select * from table"). if I do the process on a subset (100 rows), it works.

With the "test mode" registration, I was able to test to publish the dataset. I got the same "out of memory" errors.

For your information, I deployed the ipt-2.4.0.war and I also tested the Docker version, with the same result.

publication.log:

Archive generation started for version #1.0
Start writing data file for Darwin Core Occurrence

Tomcat9:

tomcat9[22426]: Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "http-nio-8080-ClientPoller-1"
tomcat9[22426]: Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "http-nio-8080-ClientPoller-0"
tomcat9[22426]: Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "AsyncFileHandlerWriter-1828972342"
tomcat9[22426]: Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "http-nio-8080-exec-10"
tomcat9[22426]: Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "Catalina-utility-1"
tomcat9[22426]: Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "Catalina-utility-2"

Hello,
@jlegind, Thanks for the issue!
I confirm that the "eye" (the one associated with "mapping", not the one in the database source config page) results in an Out Of Memory error.
We are using PostgreSQL and we deployed the ipt-2.4.0.war and we also tried the Docker version, with the same result.
I created a single PostgreSQL table that contains all the data for one of our datasets (6 millions rows, no "join" statements, just a "select * from table"). if I do the process on a subset (100 rows), it works.
With the "test mode" registration, I was able to test to publish the dataset. I got the same "out of memory" errors.
@timrobertson100, i'll send you an email with the credentials.
Best regards

It looks like scrolling cursors on PostgreSQL does not work, requiring the IPT to load the full dataset into memory when publishing. Two things are noteworthy here:

The jdbc.properties has pgsql.url=jdbc:postgresql://{host}/{database}?compatible=7.2 but the PG docs say that cursors only work on 7.4 and later
There is no explicit turning off of  auto-commit which is said to be required in the PG JDBC docs

Tested using Postgres:
pgsql.url=jdbc:postgresql://{host}/{database}
conn.setAutoCommit(false);

This works, and I think turning off Auto Commit should be fine, but it deserves a bit more testing, especially on other databases.


[Performance]: reproducing vLLM performance benchmark

Proposal to improve performance
No response
Report of performance regression
No response
Misc discussion on performance
To reproduce vLLM's performance benchmark, please launch a shell in the following docker images:

SGlang: lmsysorg/sglang:v0.3.0-cu124
lmdeploy: openmmlab/lmdeploy:v0.6.0a0-cu12
TensorRT-LLM: nvcr.io/nvidia/tritonserver:24.07-trtllm-python-py3
vLLM: vllm/vllm-openai:v0.6.0

And then run the following bash script (don't forget to replace  with your huggingface token that has Llama-3 model access):
export HF_TOKEN=<your HF TOKEN>
apt update
apt install -y wget unzip
# download benchmarking code
wget -O benchmarking_code.zip https://buildkite.com/organizations/vllm/pipelines/performance-benchmark/builds/8532/jobs/0191bbbf-c603-4c15-9f5d-e0b2933ba097/artifacts/0191bd2a-d6cd-4f6d-b618-a7aa2c39456c
unzip benchmarking_code.zip
# remove previous results
rm -r ./benchmarks/results
VLLM_SOURCE_CODE_LOC=$(pwd) bash .buildkite/nightly-benchmarks/scripts/run-nightly-benchmarks.sh

Your benchmarking results will be in ./benchmarks/results, with the name format of xxx_nightly_results.json and can be loaded and converted to pandas dataframe by pandas.DataFrame.from_dict(). Each benchmark run takes roughly 1 hour 10 minutes assuming that the model weights are already downloaded (and 1 hour 30 minutes for TensorRT-LLM as it needs to convert the model to triton inference engine).
When you run the H100 benchmark inside TensorRT-LLM docker container, you may experience a memory leaking issue (issue link). In this case, please add the following code
      # temporary fix for trt
      kill_gpu_processes
      bash -c "python3 /tensorrtllm_backend/scripts/launch_triton_server.py \
              --world_size=${tp} \
              --model_repo=/tensorrtllm_backend/triton_model_repo & " </dev/null >/dev/null 2>&1 &
      wait_for_server

to Line 211 (right after the for loop) in ./.buildkite/nightly-benchmarks/scripts/run-nightly-benchmarks.sh to force TensorRT-LLM to restart the serve more often.
Known issue:

In different serving engines, the # of output tokens do not strictly align (even after setting ignore_eos or max_length due to imperfect implementation of these two flags in different engines). That said, the number of tokens generated by vLLM is roughly aligned with other engines as all engines are performing greedy sampling using the same model.

Your current environment (if you think it is necessary)
The output of `python collect_env.py`

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Hi all @WoosukKwon @zhuohan123  @KuntaiDu @alexm-neuralmagic cc @merrymercy @ying1123 @hnyls2002
First of all, congratulations to vLLM on the improvement in offline throughput over the past month. However, there are some confusion or errors in this blog post, which I have pointed out in this document.
We reproduce the benchmark results for SGLang v0.3.0 compared to vLLM v0.6.0.
In short, with multi step enabled, in online scenarios, the Median TTFT of vLLM is 3 times that of SGLang, and the Median ITL is 10 times that of SGLang. Also, under maximum throughput, if vLLM does not set gpu util to 0.95 separately and uses the default configuration instead, its maximum throughput is lower than that of SGLang. Lower Median TTFT and ITL are better. vLLM's multi-step optimization did not improve throughput while ensuring lower Median TTFT and ITL.
ref https://x.com/zhyncs42/status/1831754352278839778
https://github.com/sgl-project/sglang/blob/main/benchmark/benchmark_vllm_060/README.md

AFAIK the current multi-step scheduler will send multiple tokens inside one networking packet, and this causes the inflation on both TTFT (the first token needs to wait) and ITL (ITL only measures inter-packet latency in current vLLM implementation). That said, such inflation for me is not fundamental and can be improved by, for example, streaming output token-by-token.

@KuntaiDu Since the package sends 10 tokens at once, incorporating a streaming simulator to sequentially output tokens or introducing an initial delay for the first chunk will significantly raise inter-token latency or TTFT. The crucial aspect is that vLLM processes chunks of ten tokens together, rather than generating them individually.

IIUC currently vLLM is still generating tokens one-by-one (the scheduling algorithm is run once per 10 steps, unless new request comes) but streaming out 10 tokens together. I am expecting that vLLM will stream out tokens 1 by 1 in the near future and both TTFT and ITL will be reduced after that.

@KuntaiDu We are discussing the current situation here, and right now the ITL is very high. For an explanation of ITL, you can refer to https://github.com/sgl-project/sglang/pull/1340#issuecomment-2332455776 In this scenario, this will introduce choppiness during online serving, leading to degraded user experiences. By the way, I am not challenging vLLM. On the contrary, I greatly appreciate a lot of the work done by vLLM, and I have always found the committers of vLLM such as @robertgshaw2-neuralmagic @ywang96 to be very open-minded. Looking forward to vLLM’s future improvements. Cheers.

Since most of the optimizations are de-bottlenecking CPU, so I suppose CPU information in benchmark will be important for us to reproduce and analyze. Could you add your CPU info besides GPU info for your data? Thx.

Since most of the optimizations are de-bottlenecking CPU, so I suppose CPU information in benchmark will be important for us to reproduce and analyze. Could you add your CPU info besides GPU info for your data? Thx.

We are running the A100 benchmark on vLLM CI platform (AWS 8x A100 instance) and H100 benchmark on mosaic platform. However, as these instances are from cloud platform and different machines have different CPUs (even with the same spec), I don't have the accurate CPU spec in hand.


Update boot.sh

it’s not the ibss that needs sent twice, that’s why im sending zshrc to reset the dfu state, maybe i should add another line with that.

ok.

But do you think everybody has .zshrc in their local computer?
Just like me, I don't have it.
I think it would be wise to repeat the ibss that everyone has for sure, and it is not so large file.
Thanks.


output-file should be determined from config-file if present

What problem are you facing?
I would like to be able to keep all of the general terraform-docs configuration in the config-file, .terraform-docs.yml for instance. When I have an output file defined in .terraform-docs.yml and that set as the config-file for the action, the output file is updated as expected but the default USAGE.md is created and that injected content is README.md updated successfully. The README.md is not added to the change set and pushed when git-push is configured.
The config file should be parsed by the action to determine if the output file is defined there. If so, use that.
With .terraform-docs.yml of
formatter: markdown table

output:
  file: README.md

I want to configure the action step as
      - name: Generating Documentation
        uses<EMAIL_ADDRESS>        with:
          config-file: .terraform-docs.yml
          git-push: "true"

I expect README.md to be updated and pushed when the action runs.

This is an issue with gh-actions that does not (yet) support native output to file from terraform-docs. It will be fixed by #46.
Also keep an eye on the release note, as this will be a breaking change (unless I find a way to make it backward compatible)

This is now fixed as part of #46 and will be available in the upcoming v1.0.0 release.

From the terraform-docs docs:

Values passed directly as CLI flags will override all of the above.

Given that the CLI args will basically override whatever's in the config file, should we avoid default values for those args altogether?
Otherwise, we need to explicitly pass the proper value for every CLI argument, even if they are already defined in the config file, thus making such file pointless.


Update bulk-insert-transact-sql.md

@raghavt-msft : Thanks for your contribution! The author, @edmacauley, has been notified to review your proposed change.

@raghavt-msft Thanks for adding this example. Sorry for the long delay in signing off on this change. I'm doing that now and it should publish soon. Thank you!

Hi Jason,
I don’t see the update on the docs yet - https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017 . Am I missing something or should I try after some time?
Thanks,
TK
From: Jason Roth<EMAIL_ADDRESS>Sent: Tuesday, June 19, 2018 6:06 AM
To: MicrosoftDocs/sql-docs<EMAIL_ADDRESS>Cc: Raghavendra Thallam Kodandaramaih (TK<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/sql-docs] Update bulk-insert-transact-sql.md (#749)
Merged #749https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fsql-docs%2Fpull%2F749&data=02|01|Raghavendra.Thallam%40microsoft.com|0668d8ed6af140a188a708d5d5e56f8a|72f988bf86f141af91ab2d7cd011db47|1|0|636650103760870169&sdata=C4CZW3WxjrPs9Zbqm6gIc9ONjKYo5WY4ckODMvnLwzI%3D&reserved=0.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fsql-docs%2Fpull%2F749%23event-1688574120&data=02|01|Raghavendra.Thallam%40microsoft.com|0668d8ed6af140a188a708d5d5e56f8a|72f988bf86f141af91ab2d7cd011db47|1|0|636650103760880182&sdata=zY5yACRu7ftGP0LV6mm1xm1bt0tqJ3XSYa%2BatLgGwaI%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAmJsl4q4ha0tE_wPw0XjMVWbk0xjxSyJks5t-PdFgaJpZM4UdN45&data=02|01|Raghavendra.Thallam%40microsoft.com|0668d8ed6af140a188a708d5d5e56f8a|72f988bf86f141af91ab2d7cd011db47|1|0|636650103760890186&sdata=m9x07KoRQgAJR%2F0u%2BC8ZcLQv1Ej7Z1Ad4n%2Bnq3XzDlU%3D&reserved=0.

@raghavt-msft So, the process is not immediate, but it should be live in about 24 hours or less. What happens is that these public repo PRs get pulled into our private repository once a day. Then they get published on one of the twice-a-day publishing windows. So depending on when the change is merged, it could be a few hours to a day before the change published live. Sorry for the confusion/delay, but this will get published by tomorrow. If not, please contact me again and I'll investigate.


Weird behavior

It's just a plane and lightning. When the camera moved, weird shadows appeared. No matter, editor camera or scene cam. Unity 2021.3.7

I haven't really fixed the issue, but I found out how to make these glitches invisible. Go to Edit > Project Settings > Graphics and open the Scriptable Render Pipeline Settings. There, changing the shadows distance and cascades settings help limit that glitch. It seems to be working fine for my project now.


Release 2.3.2

Codecov Report
Patch coverage: 68.05% and project coverage change: -0.03 :warning:

Comparison is base (33131a8) 55.12% compared to head (7b7e0f9) 55.09%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #387      +/-   ##
==========================================
- Coverage   55.12%   55.09%   -0.03%
==========================================
  Files         209      209
  Lines       12177    12207      +30
  Branches     1588     1588
==========================================
+ Hits         6713     6726      +13
- Misses       5464     5481      +17

Impacted Files
Coverage Δ

..._api/core/services/auth/tests/tests_serializers.py
0.00% <0.00%> (ø)

trade_remedies_api/documents/services/v2/views.py
28.57% <ø> (+2.64%)
:arrow_up:

trade_remedies_api/invitations/models.py
59.58% <0.00%> (-0.42%)
:arrow_down:

trade_remedies_api/organisations/models.py
56.37% <0.00%> (ø)

...de_remedies_api/organisations/services/v2/views.py
59.01% <ø> (-1.31%)
:arrow_down:

trade_remedies_api/cases/services/api.py
26.26% <33.33%> (+0.07%)
:arrow_up:

...ade_remedies_api/core/services/auth/serializers.py
62.08% <50.00%> (-0.12%)
:arrow_down:

trade_remedies_api/cases/models/case.py
57.88% <71.42%> (-0.78%)
:arrow_down:

trade_remedies_api/config/serializers.py
76.08% <77.27%> (+0.16%)
:arrow_up:

trade_remedies_api/config/viewsets.py
85.07% <92.30%> (+1.43%)
:arrow_up:

... and 3 more

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


get_coverages problem

Hi,
I'm trying to use the get_coverages method to download the stamps, like the simple example below:
from explore_australia.stamp import Stamp, get_coverages
stamp = Stamp(lat=-32.42, lon=122.169, angle=239, distance=25)  # make a stamp centered on Prominent Hill
get_coverages(
name='prominent_hill',  # a name for the data/stamp area
stamp=stamp,
no_crs=False,           # if true, will remove the CRS info
show_progress=True
)
But I face the following error and all the downloaded stamps are all zeros:
Failed to get http://dap-wms.nci.org.au/thredds/wcs/rr2/geophysics/onshore_geodetic_Isostatic_Residual_v2_2016/onshore_geodetic_Isostatic_Residual_v2_2016.nc for (POINT (122.169 -32.42))
Can you please help?

I wondered whether NCI had changed their links but it looks like the endpoint is still there: http://dap-wms.nci.org.au/thredds/wcs/rr2/geophysics/onshore_geodetic_Isostatic_Residual_v2_2016/onshore_geodetic_Isostatic_Residual_v2_2016.nc?service=wcs&request=getcapabilities
If you click on that link (from the machine or VM you're trying to run this from) do you get a JSON document? If not there is likely a network issue between you and NCI.

Hey jesse robertson can u tell us how are we gonna get the data used in this project  (https://github.com/jack-tuna/Jupyter-Workings/blob/master/Mineral Prediction Map with Machine Learning.ipynb)


SQL error occurs when clicking on Print in the frontend invoice

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
SQL error occurs when clicking on Print in the frontend invoice
Preconditions

A user should be logged in on the user panel.
The user needs to place an order, and an invoice should be generated by the admin for that order.

Steps to reproduce

Navigate to the 'User panel.'
Place an order.
Access the 'Admin panel.'
Click on 'Sales' > 'Orders.'
Open the specific order and create an invoice.
Return to the 'User panel.'
Go to 'Home' > 'My Account' > 'Orders.'
Open the order and click on the invoice.
Then, click on 'Print.'
See the error.

Expected Result
At this point, the invoice should ideally be printed or downloaded as a PDF.
Actual Result
An error message is prompting to run php artisan migrate, but running it does not resolve the problem.
Screenshots

Additional context
No response

@sunarcrajneesh Thank you for Informing.

We would love to work on it.

@sunarcrajneesh Okay, Please proceed.

We have resolved the SQL exception and fixed translation-related issues in the PDF.
Please review the pull request for more details.


We good bros

Have a pleasant day, also dont forget to assign the url to a var next time

Actually gey

Actually gey


fisherABM: Survival Function

Function to calculate survival of fisher.

Part 1:
IF age > max_age THEN remove agent from “agents” table AND from the “territories” table
Part 2:
FOR EACH age (i.e., each age class with a unique survival rate) AND individual_id WHERE sex = F

Calculate survival_rate = rnorm (1, survival_rate_table::surv_mean WHERE age = xx AND sex = F, survival_rate_table::surv_sd WHERE age = xx AND sex = F)

Adjust survival_rate = (survival_rate * d2_survival_adj) - based on the d2_score; adjust survival based on habitat qaulity

rbinom (1, 1, survival_rate) AS ‘survived’

IF survived = 0, remove agent from “agents” table AND from the female “territories” table AND remove agent(s) from “agents” table at the same pixelid (i.e., any kits)

ELSE update age = age + time_step (year)

Parameters:

The key parameter here is a survival rate table/function that adjust survival based on age and habitat quality
survival_rate_table : a table of survival rates by age class; mean and sd for each
max_age : the maximum age of an individual; individual ‘dies’ if greater than this age
d2_survival_adj: adjustment factor/function for survival based on d2 score
surv_mean

Rory Fogarty's age distribution data for female fishers, mean proportion by age from 5 different total population sizes  (assuming 71% female : 29% male ratio)

Placeholder for now - thoughts on survival probabilities per year that might work
Age	Surv	SE	Cohort	Rationale
0	1.00	0.00	CFJ	no death first year
1	0.60	0.18	CFJ	SE as per Eric and Rory's estimates
2	0.79	0.09	CFA	SE as per Eric and Rory's estimates
3	0.79	0.09	CFA	SE as per Eric and Rory's estimates
4	0.79	0.09	CFA	SE as per Eric and Rory's estimates
5	0.79	0.17	CFA	2SE as per Eric and Rory's estimates
6	0.79	0.17	CFA	2SE as per Eric and Rory's estimates
7	0.79	0.26	CFA	3SE as per Eric and Rory's estimates
8	0.79	0.26	CFA	3SE as per Eric and Rory's estimates
9	0.79	0.26	CFA	3SE as per Eric and Rory's estimates
0	1.00	0.00	BFJ	no death first year
1	0.54	0.19	BFJ	SE as per Eric and Rory's estimates
2	0.86	0.08	BFA	SE as per Eric and Rory's estimates
3	0.86	0.08	BFA	SE as per Eric and Rory's estimates
4	0.86	0.08	BFA	SE as per Eric and Rory's estimates
5	0.86	0.16	BFA	2SE as per Eric and Rory's estimates
6	0.86	0.16	BFA	2SE as per Eric and Rory's estimates
7	0.86	0.24	BFA	3SE as per Eric and Rory's estimates
8	0.86	0.24	BFA	3SE as per Eric and Rory's estimates
9	0.86	0.24	BFA	3SE as per Eric and Rory's estimates

Adjusting range of uncertainty (SE) based on population distribution with 2* and 3* SE for animals 4-6, and 7-9, respectively.

Survival rates will not be adjusted by habitat quality

Updated survival function (in fisherABM_jo branch) - needs to be finalized to be spades friendly and remove dummy tables (for working through function).
Part 1:
IF age > female_max_age THEN remove agent from “agents” table AND from the “territories” table
Part 2:
FOR EACH individual > 0
Calculate survival = rbinom(n=1, size=1, prob=((Mean - SE) : round(Mean + SE)) # max survival is 1
IF survived = 0, remove agent from “agents” table AND from the female “territories” table
Keep kits as kits are in same territory but not necessarily still with mom up until 1st birthday and assuming mortality hits in winter, kits may survive. (Give kits a fighting chance)
ELSE update age = age + time_step (year)

Updated to account for juveniles still dispersing after 2 years (will need to discuss with group on how dispersal is being tracked - likely will need to revise).


rustup activates the wrong date of rust

I want to install rust, formerly nightly, v1.27.0, dated 2018-05-16. However, when I instruct rustup to do this, 1.27.0-nightly dated 2018-05-15 is active instead, which breaks clippy v0.0.201:
$ rustup update nightly-2018-05-16
$ rustup default nightly-2018-05-16

$ rustup show
Default host: x86_64-unknown-linux-gnu

installed toolchains
--------------------

stable-x86_64-unknown-linux-gnu
nightly-2018-05-16-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu

active toolchain
----------------

nightly-2018-05-16-x86_64-unknown-linux-gnu (default)
rustc 1.27.0-nightly (f0fdaba04 2018-05-15)

$ rustc --version
rustc 1.27.0-nightly (f0fdaba04 2018-05-15)

I'm curious if rustup is somehow failing to activate the right dated version, or if the release itself features conflicting timestamps in its packaging? I just don't know.
In any case, as a workaround, I am downgrading clippy further, from v0.0.201 to v0.0.200, which is then compatible with rust 1.27.0-nightly 2018-05-15 AKA 2018-05-16, or really any 1.27.0-nightly on or after 2018-05-13.

Rustup installs the correct version, but unfortunately rustc --version reports the date of the last commit, not the release date.

👍 Ah, gotcha. Could these different dates be unified somehow?

@mcandre https://github.com/rust-lang/rust/issues/36773


Use PostCSS 4.1 API

PostCSS Plugin Guidelines are mandatory right now. Because all of rules are about ecosystem health.

Done https://github.com/postcss/postcss-custom-selectors/commit/e020e3220644d1975b4dc7102d1acb1e0bec38a0
@ai @MoOx Please help me check it.

Looks good. If all tests passes that's great !


Change website so that templating is not required for angular

Noticed this when trying out the site, and spotted that there's an error in the console when trying to generate an angular project - Please select a template engine., which isn't shown to the user as the template engine section where the error is displayed isn't visible when angular is selected.
At the moment this means you can't generate an angular project with any configuration as it expects a template engine to be set.
This changes the download check to not expect a template engine if angularjs is set as the jsFramework.
The project still generates fine, and installs/runs okay too.

Resolved by https://github.com/sahat/megaboilerplate/commit/16847da7516c0c01ac093ab4d6f1784962c456a9.