Network Resource Manager Implementation

Implementation of the network.ResourceManager interface.
Depends on https://github.com/libp2p/go-libp2p-core/pull/229/

The libp2p Network Resource Manager
This package contains the canonical implementation of the libp2p
Network Resource Manager interface.
The implementation is based on the concept of Resource Management
Scopes, whereby resource usage is constrained by a DAG of scopes,
accounting for multiple levels of resource constraints.
Design Considerations

The Resource Manager must account for basic resource usage at all
levels of the stack, from the internals to the application.
Basic resources include memory, streams, connections, and file
descriptors. These account for both space and time used by
the stack, as each resource has a direct effect on the system
availability and performance.
The design must support seamless integration for user applications,
which should reap the benefits of resource management without any
changes. That is, existing applications should be oblivious of the
resource manager and transparently obtain limits which protect it
from resource exhaustion and OOM conditions.
On the same time, the design must support opt-in resource usage
accounting for applications who want to explicitly utilize the
facilities of the system to inform about and constrain their own
resource usage.
The design must allow the user to set its own limits, which can be
static (fixed) or dynamic.

Basic Resources
Memory
Perhaps the most fundamental resource is memory, and in particular
buffers used for network operations. The system must provide an
interface for compoenents to reserve memory that accounts for buffers
(and possibly other live objects), which is scoped within the component.
Before a new buffer is allocated, the component should try a memory
reservation, which can fail if the resource limit is exceeded. It is
then up to the component to react to the error condition, depending on
the situation. For example, a muxer failing to grow a buffer in
response to a window change should simply retain the old buffer and
operate at perhaps degraded performance.
File Descriptors
File descriptors are an important resource that uses memory (and
computational time) at the system level. They are also a scarce
resource, as typically (unless the user explicitly intervenes) they
are constrained by the system. Exhaustion of file descriptors may
render the application incapable of operating (e.g. because it is
unable to open a file).
Connections
Connections are a higher level concept endemic to libp2p; in order to
communicate with another peer, a connection must first be
established. Connections are an important resource in libp2p, as they
consume memory, goroutines, and possibly file descriptors.
We distinguish between inbound and outbound connections, as the former
are initiated by remote peers and consume resources in response to
network events and thus need to be tightly controlled in order to
protect the application from overload or attack.  Outbound
connections are typically initiated by the application's volition and
don't need to be controlled as tightly. However, outbound connections
still consume resources and may be initiated in response to network
events because of (potentially faulty) application logic, so they
still need to be constrained.
Streams
Streams are the fundamental object of interaction in libp2p; all
protocol interactions happen through a stream that goes over some
connection. Streams are a fundamental resource in libp2p, as they
consume memory and goroutines at all levels of the stack.
Streams always belong to a peer, specify a protocol and they may
belong to some service in the system. Hence, this suggests that apart
from global limits, we can constrain stream usage at finer
granularity, at the protocol and service level.
Once again, we disinguish between inbound and outbound streams.
Inbound streams are initiated by remote peers and consume resources in
response to network events; controlling inbound stream usage is again
paramount for protecting the system from overload or attack.
Outbound streams are normally initiated by the application or some
service in the system in order to effect some protocol
interaction. However, they can also be initiated in response to
network events because of application or service logic, so we still
need to constrain them.
Resource Scopes
The Resource Manager is based on the concept of resource
scopes. Resource Scopes account for resource usage that is temporally
delimited for the span of the scope. Resource Scopes conceptually
form a DAG, providing us with a mechanism to enforce multiresolution
resource accounting. Downstream resource usage is aggregated at scopes
higher up the graph.
The following diagram depicts the canonical scope graph:
System
  +------------> Transient.............+................+
  |                                    .                .
  +------------>  Service------------- . ----------+    .
  |                                    .           |    .
  +------------->  Protocol----------- . ----------+    .
  |                                    .           |    .
  +-------------->* Peer               \/          |    .
                     +------------> Connection     |    .
                     |                             \/   \/
                     +--------------------------->  Stream

The System Scope
The system scope is the top level scope that accounts for global
resource usage at all levels of the system. This scope constrains all
other scopes and institutes global hard limits.
The Transient Scope
The transient scope accounts for resources that are in the process of
full establishment.  For instance, a new connection prior to the
handshake does not belong to any peer, but it still needs to be
constrained as this opens an avenue for attacks in transient resource
usage. Similarly, a stream that has not negotiated a protocol yet is
constrained by the transient scope.
Service Scopes
The system is typically organized across services, which may be
ambient and provide basic functionality to the system (e.g. identify,
autonat, relay, etc). Alternatively, services may be explicitly
instantiated by the application, and provide core components of its
functionality (e.g. pubsub, the DHT, etc).
Services consume resources such as memory and may directly own streams
that implement their protocol flow. Services typically have some
stream handler, so they are subject to inbound stream creation and
resource usage in response to network events. As such, the system
explicitly models them allowing for isolated resource usage that can
be tuned by the user.
Protocol Scopes
Protocol Scopes account for resources at the protocol level. They are
an intermediate resource scope which can constrain streams which may
not have a service associated or for resource control within a
service.
For instance, a service that is not aware of the resource manager and
has not be ported to mark its streams, may still gain limits
transparently without any programmer intervention.  Furthermore, the
protocol scope can constrain resource usage for services that
implement multiple protocols for the shake of backwards
compatibility. A tighter limit in some older protocol can protect the
application from resource consumption caused by legacy clients or
potential attacks.
For a concrete example, consider pubsub with the gossipsub router: the
service also understands the floodsub protocol for backwards
compatibility and support for unsophisticated clients that are lagging
in the implementation effort. By specifying a lower limit for the
floodsub protocol, we can can constrain the service level for legacy
clients using an inefficient protocol.
Peer Scopes
The peer scope accounts for resource usage by an individual peer. This
constrains connections and streams and limits the blast radius of
resource consumption by a single remote peer.
Connection Scopes
The connection scope is delimited to the duration of a connection and
constrains resource usage by a single connection. The scope is a leaf
in the DAG, with a span that begins when a connection is established
and ends when the connection is closed. Its resources are aggregated
to the resource usage of a peer.
Stream Scopes
The stream scope is delimited to the duration of a stream, and
constrains resource usage by a single stream. This scope is also a
leaf in the DAG, with span that begins when a stream is created and
ends when the stream is closed. Its resources are aggregated to the
resource usage of a peer, and constrained by a service and protocol
scope.
User Transaction Scopes
User transaction scopes can be created as a child of any extant
resource scope, and provide the prgrammer with a delimited scope for
easy resource accounting. Transactions may form a tree that is rooted
to some canonical scope in the scope DAG.
For instance, a programmer may create a transaction scope within a
service that accounts for some control flow delimited resource
usage.
Limits
Each resource scope has an associated limit object, which designates
limits for all basic resources.  The limit is checked every time some
resource is reserved and provides the system with an opportunity to
constrain resource usage.
There are separate limits for each class of scope, allowing us for
multiresolution and aggregate resource accounting.  As such, we have
limits for the system and transient scopes, default and specific
limits for services, protocols, and peers, and limits for connections
and streams.
Implementation Notes

The package only exports a constructor for the resource manager and
basic types for defining limits. Internals are not exposed.
Internally, there is a resources object that is embedded in every scope and
implements resource accounting.
There is a single implementation of a generic resource scope, that
provides all necessary interface methods.
There are concrete types for all canonical scopes, embedding a
pointer to a generic resource scope.
Peer and Protocol scopes, which may be created in response to
network events, are periodically garbage collected.

rebased on master to get the workflows.

Yeah, we only need to export the constructor and the limit types; everything else can be private.

So agreed on unexporting, let me think if the constraints subtype and owner wrapper actually helps.

Unexported all implementation types.

Sure @BigLep , these are great suggestions for improvement; will get to it.

Note: I will squash the go mod related commits when it is time for merge.

Added some ergonomic polish to the limit interfaces and added support for per service peer limits.

removed gosigar dependency.

This component is basically opaque right now; it's going to be quite hard to monitor.

Not really, all scopes define the Stat method so it is pretty easy to dump state.

Consider adding audit trail style logging that traces all resource management operations.

Ok, will add some logs.

Consider adding general logging at key sites, e.g. when limits are initialized, when requests are rejected, etc.

sure.

Consider adding convenience utils to dump the internal state, either on demand or through a timer-based poller, to some output.

ok, we can do something about this.

Polish per raul's review in #3

squashed go mod related commits, this is ready for merge now.


Log's show a "Virtual Item you should not see this message"on occasion

Description

When reviewing logs sometimes players will interact with said "Virtual Item" and I've got no idea what this mean. Happens hundreds of times in the logs.
Reproduction

Seems to be random interactions and haven't been able to pinpoint exactly what it could be.
Screenshots

Additional context

I'm pretty sure that if you go to cryo while cuffed your hands will show this virtual item in cryo UI (where the others can pick your items back)

Was playing a round the other day and someone holding nothing, placed this item in my hand which also showed nothing and was not interactable. In game I saw "*********** is trying to place "Virtual item you should not see this" into your hands. So this is more wide spread than just Log messages

For what it's worth, this "virtual item" is used to represent pulled items.


Clean up town trash bag finder data

We have weird characters, bad spacing, bad line breaks and other issues  in the town data.
View the Trash Bag finder screen and you'll see the issues.

I just cleaned up the db a little.  No commit needed.  Let's just make sure we take this cleaned up copy of the town data into prod @johnneed .

@jmargolisvt  @johnneed  The source of truth for the town data is in this spreadsheet: https://docs.google.com/spreadsheets/d/14nKyYeIGsLJ1syWhjchnMQsCMACfMCaoOzYc2coukiU/edit?usp=drive_web&ouid=105811502439750701904
We're expecting more changes from Teresa as well to this dataset. The Firebase data is expected to be blown away and re-imported from the spreadsheet. We should probably do the clean-up in the spreadsheet as well otherwise, it will be lost with the next import.


visual indicator when sequence has begun

If one turns off the "whichkey" component, there is a slight UI disadvantage in that it is not immediately obvious when a key sequence has been begun/the leader-key has been pressed (and thus the input has been 'grabbed' by the interface). In StumpWM, for instance, once the leader-key has been pressed the mouse cursor changes shape. Not that this is necessarily the best way of indicating the interface is 'grabbing keys', but it is one way. Is there some way to trigger some sort of visual/UI indication once the leader-key has been pressed/keygrabbing is in progress?

I did not implement an indicator,  simply because there is obvious no one-fits-all solution for it. Some might prefer a popup, some might prefer a widget in a wibar, etc. Hence I figured it's probably best to let the users implement their own indicator.
awesome.connect_signal("modalisa::on_start", function(t)
    my_indicator.visible = true
end)

awesome.connect_signal("modalisa::on_stop", function(t)
    my_indicator.visible = false
end)

However, I might offer a simple popup shape implementation in the future (e.g. a red circle in the center of the screen).

Thanks. I'll try to see if I can figure out a reasonable indicator function to use here.


Include hidden files in quick open

Closes #860
added --hidden flag to rg cmd
added globs to rg command using filesExclude config, this makes
filter results like .git node_modules etc.

Thank you @amiralies ! Looks great! 💯


Add optional modified yaml

This gives us the ability to override the file system's last modified date by adding an optional Modified: yaml variable. According to the (YAML spec)[http://yaml.org/type/timestamp.html], the datetime should be an ISO 8601 datetime.
This also requires a time (with timezone offset) attached to it. The reason why is because YAML interprets a date with no time as 00:00:00-0000. That means that when the datetime is loaded, it could select the previous day as the date. ie: 2010-01-01 gives us 2010-01-01T00:00:00-0000, which when converted into a datetime with YAML, then gives us 2009-12-31T19:00:00-0500.
Closes #69.

Elegant solution. Well done!


Support Chromedriver Mac ARM

Mac ARM now has its own chromedriver binary in chromedriver_mac_arm64.zip. The easiest way to support this is to add MacARM as a new operating system

Just notice that these results about PHP_OS and php_uname('m') in the MAC M1:


Can't serialize get request that isn't jsonp

Currently the bindData function doesn't allow you to serialize a get request that isn't jsonp
	function bindData(xhrOptions, data, serialize) {
		if (xhrOptions.method == "GET" && xhrOptions.dataType != "jsonp") {
			var prefix = xhrOptions.url.indexOf("?") < 0 ? "?" : "&";
			var querystring = buildQueryString(data);
			xhrOptions.url = xhrOptions.url + (querystring ? prefix + querystring : "")
		}
		else xhrOptions.data = serialize(data);
		return xhrOptions
	}

I need to serialize the data that I am passing to m.request on a get request, because the data can have values that are lists. i.e. the data object:
{
  page: 0,
  locations: [ny, nj]
}

The way jquery handles a data object like that is by serializing the data so that the querystring looks like "?page=0&location=ny&location=nj"
We can leave the bindData function alone and instead augment buildQueryString to handle arrays.
Please advise on the best approach moving forward.

This is fixed in origin/next and will land in the next release


Redux support

Look at adding Redux support

This version won't use Redux for our actions but it will add Redux support


Update README file

Add FakeIPA to the root README file

/approve
I am fine with this commit but if possible create further PRs that extend the READMI with documentation related to the usage of the fake-ipa tool eg. an example workflow or something similar.

Can we please make such additions under fake-ipa README. I don't think the global readme needs more than this quick intro, and a link to further reading.


pull request for e2e test at 01/03/2017 20:15:10

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


I want to change the position of the ScanView As it always show up at the center of the screen .

As the ScanView window always show up at the center of the screen .
I want to change the position of the ScanView . such as put it at the top of the window ,
but It seems that no such attributes there that I can set to change it

hope get your kindly help
thks

I‘m so sorry. The scan area is set to center default. there is no attr to change it
If you want to change, you need fork this project.
I would be happy to provide more attributes to control it,but  No time recently

So glad to get your reply
I'll fork and read your code to see if i can do some contribute to this project
Regards
------------------ 原始邮件 ------------------
发件人:                                                                                "flutter-package/flutter_scan"                                                                                @.>;
发送时间: 2021年3月19日(星期五) 晚上9:20
@.>;
<EMAIL_ADDRESS>主题: Re: [flutter-package/flutter_scan] I want to change the position of the ScanView As it always show up at the center of the screen .  (#8)
I‘m so sorry. The scan area is set to center default. there is no attr to change it
If you want to change, you need fork this project.
I would be happy to provide more attributes to control it,but  No time recently
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Version 1.53j, ij.io.Opener no longer works on headless

Throws
Caused by: java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.MenuComponent.(MenuComponent.java:163)
at java.awt.MenuItem.(MenuItem.java:214)
at java.awt.MenuItem.(MenuItem.java:198)
at java.awt.Menu.(Menu.java:157)
at java.awt.Menu.(Menu.java:137)
at ij.Menus.getMenu(Menus.java:849)
at ij.Menus.getMenu(Menus.java:839)
at ij.Menus.addMenuBar(Menus.java:109)
at ij.IJ.init(IJ.java:422)
at ij.Menus.getCommands(Menus.java:1339)
at ij.io.Opener.(Opener.java:47)
...

@rudolphi With which version of the original ImageJ was this working for you? In a BeakerX Groovy notebook, using the following code:
%classpath add mvn net.imagej:ij:1.53d
System.setProperty("java.awt.headless", "true")
blobs = new ij.io.Opener().open("/home/curtis/data/blobs.tif")

I receive:
java.awt.HeadlessException
	at ij.gui.ImageWindow.<init>(ImageWindow.java:70)
	at ij.gui.ImageWindow.<init>(ImageWindow.java:66)
	at ij.ImagePlus.show(ImagePlus.java:486)
	at ij.io.Opener.open(Opener.java:117)

So it doesn't work with 1.53d either. And same error with 1.53a.
Are you using ImageJ2/Fiji, or plain ImageJ?
If ImageJ2/Fiji: note that ImageJ2 adds headless patching on top of the original ImageJ, to enable better headless support, so I took the liberty of moving your issue here to imagej-legacy, which (along with ij1-patcher) is the project responsible for this patching. Be aware that the newest version of ImageJ officially supported by the ImageJ2 patching mechanism is currently 1.53f. I would not recommend updating the ImageJ core beyond that until we get the patching mechanism updated to support ImageJ's latest code changes.

I am using groupId=net.imagej, artifactId=ij. The problem is the IJ.init() that has been added to Menus.getCommands() if pluginsTable is null. Menus.getCommands() is called during class initialization.


ShirukaEntity.java:124: Implement...

The puzzle 1-9b568330 from #1 has to be resolved:
https://github.com/shiruka/shiruka/blob/24d02de4e698c2d724c0a733186145a34d4b3621/src/main/java/net/shiruka/shiruka/entity/ShirukaEntity.java#L124-L124
The puzzle was created by Hasan Demirtaş on 01-Feb-21.
Estimate: 10 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-9b568330 has disappeared from the source code, that's why I closed this issue.


Fix compile warning in samples/net/sockets/dumb_http_server

The function net_pkt_get_info() is found in net_pkt.h and not
in buf.h. This caused implicit declaration of function ‘net_pkt_get_info’
warning if CONFIG_NET_BUF_POOL_USAGE was enabled.
Buf fix for this is already found in #15613

Already merged to 1.14 -> closing.


base: remove nonsense debug output

Checks that a config value is actually found in order to not
output nonsense.

Reorganizes imports.

Signed-off-by: Jan Aage Lavik<EMAIL_ADDRESS>

This commit avoids printing this in the console all the time:
--------------------------------------------------------------------------------
DEBUG in factory [/home/jlavik/envs/pu/src/invenio/invenio/base/factory.py:223]:
 = None
--------------------------------------------------------------------------------

@jalavik can you please rebase it for maint-2.0? I think it got there for easier Docker support. Thanks


Use the right python binary

Hi
It looks like that you use only python2. It's perfectly fine, but you also seems to use /usr/bin/python. In archlinux, it's a symlink to python3. You should use /usr/bin/python2 instead.

From the README:

If you have multiple Python versions installed, you can identify which Python version node-gyp uses by setting the '--python' variable:

$ node-gyp --python /path/to/python2.7

If node-gyp is called by way of npm and you have multiple versions of Python installed, then you can set npm's 'python' config key to the appropriate value:

$ npm config set python /path/to/executable/python2.7

Well, npm config works, but if gyp only supports python2, you should modify the shebang for it to work out of the box.

Fixed by #527.


Windows shows 0 coverage when runing with npm/yarn

Link to bug demonstration repository
https://github.com/mariszin/nyc-coverage-0-sample
Expected Behavior
After tests, nyc should show 100% coverage
Observed Behavior
When running tests on Windows, the coverage is 0
$ yarn test
yarn run v1.12.1
$ cross-env NODE_ENV=test nyc mocha

  HelloWorld
    √ should return hello world with no arguments
    √ should return passed argument

  2 passing (6ms)

---------------|----------|----------|----------|----------|-------------------|
File           |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
---------------|----------|----------|----------|----------|-------------------|
All files      |        0 |        0 |        0 |        0 |                   |
 helloWorld.js |        0 |        0 |        0 |        0 |         1,2,3,5,9 |
---------------|----------|----------|----------|----------|-------------------|
Done in 4.09s.

When running same repo under Windows Ubuntu shell, the coverage shows correctly at 100%
$ cross-env NODE_ENV=test nyc mocha

  HelloWorld
    ✓ should return hello world with no arguments
    ✓ should return passed argument

  2 passing (8ms)

---------------|----------|----------|----------|----------|-------------------|
File           |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
---------------|----------|----------|----------|----------|-------------------|
All files      |      100 |      100 |      100 |      100 |                   |
 helloWorld.js |      100 |      100 |      100 |      100 |                   |
---------------|----------|----------|----------|----------|-------------------|
Done in 2.17s.

Environment Information
In Windows Git Bash
  System:
    OS: Windows 10
    CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
    Memory: 17.54 GB / 31.92 GB
  Binaries:
    Node: 10.15.3 - C:\nodejs\node.EXE
    Yarn: 1.12.1 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.4.1 - C:\nodejs\npm.CMD
  npmPackages:
    nyc: ^14.0.0 => 14.0.0

In Windows Ubuntu shell
  System:
    OS: Linux 4.4 Ubuntu 18.04.1 LTS (Bionic Beaver)
    CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
    Memory: 17.55 GB / 31.92 GB
  Binaries:
    Node: 10.15.3 - /usr/bin/node
    Yarn: 1.15.2 - /usr/bin/yarn
    npm: 6.4.1 - /usr/bin/npm
  npmPackages:
    nyc: ^14.0.0 => 14.0.0

I have limited access to Windows, could you perform a couple troubleshooting steps and report results?

What happens if you use npm test instead of yarn test?
Do you get the same results if you downgrade to<EMAIL_ADDRESS>
Obviously both of these for Windows Git Bash.  I'm asking for the above as I don't see anything that appears wrong with the setup of your repo.  I have seen sporadic reports of things not working right under yarn.  In either case these two tests will really help us isolate or eliminate potential causes.

I have tested both cases:

Downgrade still returns 0 coverage
I get 0 coverage on both - npm test and yarn test
What is more interesting, is if I use Windows cmd, the coverage shows correctly. Maybe there is something in the path, that gets added to git bash?
cmd output;

$echo %PATH%
C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Microsoft VS Code\bin;C:\sbt\bin;C:\Program Files\Gemalto\Classic Client\BIN;C:\Program Files (x86)\Gemalto\Classic Client\BIN;C:\Program Files (x86)\Oberthur Technologies\AWP\Dlls;C:\Program Files\Oberthur Technologies\AWP\Dlls;C:\Program Files (x86)\eParaksts Token Signing;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\Yarn\bin\;C:\HashiCorp\Vagrant\bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\nodejs\;C:\Users\Maris\AppData\Local\Microsoft\WindowsApps;C:\Users\Maris\AppData\Local\atom\bin;C:\Users\Maris\AppData\Local\Yarn\bin;C:\Users\Maris\AppData\Roaming\npm

GIT bash output:
$ echo $PATH
/c/Users/Maris/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/cmd:/usr/bin:/c/Program Files/ConEmu/ConEmu/Scripts:/c/Program Files/ConEmu:/c/Program Files/ConEmu/ConEmu:/c/Python27:/c/Python27/Scripts:/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/c/WINDOWS/System32/OpenSSH:/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/c/Program Files/Microsoft VS Code/bin:/c/sbt/bin:/c/Program Files/Gemalto/Classic Client/BIN:/c/Program Files (x86)/Gemalto/Classic Client/BIN:/c/Program Files (x86)/Oberthur Technologies/AWP/Dlls:/c/Program Files/Oberthur Technologies/AWP/Dlls:/c/Program Files (x86)/eParaksts Token Signing:/cmd:/mingw64/bin:/usr/bin:/c/Program Files (x86)/sbt/bin:/c/Program Files (x86)/Yarn/bin:/c/HashiCorp/Vagrant/bin:/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/c/Program Files/dotnet:/c/Program Files/Microsoft SQL Server/130/Tools/Binn:/c/nodejs:/c/Users/Maris/AppData/Local/Microsoft/WindowsApps:/c/Users/Maris/AppData/Local/atom/bin:/c/Users/Maris/AppData/Local/Yarn/bin:/c/Users/Maris/AppData/Roaming/npm:/usr/bin/vendor_perl:/usr/bin/core_perl

I have the same issue on my Ubuntu MATE dev machine. After investigating and diving into the code I found out that the config option exclude-after-remap is by default true.
By using --exclude-after-remap=false in your config options then the reporter will show the results.

@JimiC exclude-after-remap didn't work before 14.0.0.  OP confirmed that downgrading did not fix the issue so I believe what you experienced was different.
@mariszin another test, could you please clone spawn-wrap and try testing it under your Git Bash?

@coreyfarrell My use case is that after upgrading to v14 the reporter doesn't print any files results. After investigating I found that exclude-after-remap was true by default and thus was excluding all results.
Maybe it's a different issue but the symptoms looked the same. I preferred to post here instead of opening another issue not being sure if my case is irrelevant to this.
Are the nyc options documented somewhere?

I cloned spawn-test, run npm test, there was no output. So i changed the test script to be tap test/*.js and got this output (if this is what You expected):
$ npm test

><EMAIL_ADDRESS>test C:\Dropbox\personal\spawn-wrap
> tap test/*.js

TAP version 13
ok 1 - test/abs-shebang.js # SKIP No proper shebang support on windows, so skip this {
    1..0 # No proper shebang support on windows, so skip this
    # time=2.172ms
}

ok 2 - test/basic.js # time=2543.068ms {
    # Subtest: spawn execPath
        1..4
        # Subtest: basic
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 1 - basic # time=220.597ms

        # Subtest: basic sync
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 2 - basic sync # time=207.297ms

        ok 3 - SIGINT # SKIP no signals get through cmd
        ok 4 - SIGHUP # SKIP no signals get through cmd
        # skip: 2
    ok 1 - spawn execPath # time=434.482ms

    # Subtest: spawn node
        1..4
        # Subtest: basic
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 1 - basic # time=217.549ms

        # Subtest: basic sync
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 2 - basic sync # time=219.213ms

        ok 3 - SIGINT # SKIP no signals get through cmd
        ok 4 - SIGHUP # SKIP no signals get through cmd
        # skip: 2
    ok 2 - spawn node # time=440.555ms

    # Subtest: exec execPath
        1..4
        # Subtest: basic
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 1 - basic # time=209.178ms

        # Subtest: execPath wrapped with quotes
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 2 - execPath wrapped with quotes # time=207.464ms

        ok 3 - SIGINT # SKIP no signals get through cmd
        ok 4 - SIGHUP # SKIP no signals get through cmd
        # skip: 2
    ok 3 - exec execPath # time=419.642ms

    ok 4 - exec shebang # SKIP no shebang execution on windows
    ok 5 - Node 5.8.x + npm 3.7.x - spawn # SKIP no shebang execution on windows
    ok 6 - Node 5.8.x + npm 3.7.x - shell # SKIP no shebang execution on windows
    # Subtest: --harmony
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        1..3
    ok 7 - --harmony # time=203.122ms

    # Subtest: node exe with different name
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        1..3
    ok 8 - node exe with different name # time=481.415ms

    # Subtest: unwrap
        1..0
    ok 9 - unwrap # time=3.301ms

    1..9
    # skip: 3
    # time=1986.015ms
}

ok 3 - test/double-wrap.js # time=921.753ms {
    ok 1 - expect falsey value
    ok 2 - expect falsey value
    ok 3 - should be equal
    1..3
    # time=2.812ms
}

ok 4 - test/exec-flag.js # time=714.768ms {
    # Subtest: try to wrap a -e invocation but it isnt wrapped
        # Subtest: node
            ok 1 - should match pattern provided
            1..1
        ok 1 - node # time=87.425ms

        # Subtest: C:\nodejs\node.exe
            ok 1 - should match pattern provided
            1..1
        ok 2 - C:\nodejs\node.exe # time=71.117ms

        1..2
    ok 1 - try to wrap a -e invocation but it isnt wrapped # time=164.619ms

    1..1
    # time=166.876ms
}

ok 5 - test/wrap-twice.js # time=897.027ms {
    ok 1 - expect falsey value
    ok 2 - expect falsey value
    ok 3 - should be equal
    1..3
    # time=2.54ms
}

1..5
# skip: 1
# time=2577.621ms

Obvious my case was related to this. Sorry for highjacking the thread.

In my case the downgrade to 13.3.0 is showing the coverage
The coverage in 14.1.1 is not shown.
When running on windows the coverage is not shown (neither in git shell nor in cmd / powershell)
my .nycrc
{
    "nyc": {
        "all": true,
        "extends": "@istanbuljs/nyc-config-typescript",
        "include": ["src/**/*.js"],
        "exclude": ["**/*.spec.js"],
        "check-coverage": true
    }
}

im having the same issue, regardless to npm or yarn

im having the same issue, regardless to npm or yarn


How to invoke minLen

I see a maxLen setting which will stop querying if the max-length is reached. I would also like to know if it is possible to query only once the min-lenght is acquired.
For example, if i can set minLen as 3, which will only query the data once the user has typed more than 3 characters.

How about setting the delay option to delay search?


Mixpanel link was pointing to Foursquare

Changed the link to point to https://mixpanel.com/ instead.

Awesome, thanks for catching that!


Move DJI.DJIAssistant2ConsumerSeries V<IP_ADDRESS> to DJI.DJIAssistant2.ConsumerSeries V<IP_ADDRESS>

Pull Request created using Trenly's script
Microsoft Reviewers: Open in CodeFlow

Waiting for an engineer to look upon it.


Update microsoft-teams-rooms-premium-rbac.md

Adding new section and details for new features added some time ago.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

Changes look good to me. Thanks!

@dstrome PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Check cheatsheet is up to date in CI

Is your feature request related to a problem? Please describe.
In lazygit we have a cheatsheet check script which tells us whether the cheatsheet we currently have is in line with what would be generated by the cheatsheet generation script.
We want to port this over to lazydocker and also run it on CI (see the lazygit approach for comparison)
This will ensure that nobody accidentally makes a change while forgetting to update the cheatsheet

I can take this one as well :)

Go right ahead @gusandrioli  :)


Only CPU Mode

Hello, I have AMD GPU instead of Nvidia. Is it possible to run this on only CPU?

@serhan3535 Hey. Thanks for a good question...
Yes, you CAN run it on the CPU. But as you know it will be very slow. Inference may be ok but training on CPU will be painfully slow.
I tested inference on CPU (works on Raspberry Pi).
You may also need to adjust the code (you may need to manually specify the device as CPU.
Let me know if this was helpful and if you have any other questions about it, do not be afraid to ask.,.I am always glad to help :)

@serhan3535 PS
If you do not have access to Google Colab, try https://www.paperspace.com/
Or you can try Kaggle or Binder...they offer some GPUs etc

I only want to inference, if it's possible can you help me to run it on cpu please?
And one more thing, I tried it once on Colab but it generated well known track's melody, is there any way to avoid that? Thank you.

@serhan3535 Yes, of course! I take great pride in supporting my work :)
Here is what you can try (I tested it it works but is slow, so do not expect any miracles). Although if you have a good CPU or a cluster then maybe it will be ok...
You did not tell me which OV version you are interested in, so I only tried it on the best one...This one...
https://colab.research.google.com/github/asigalov61/Optimus-VIRTUOSO/blob/main/Optimus_VIRTUOSO_Multi_Instrumental_RGA_Edition.ipynb
You need to do one change in this colab and you will need to manually adjust the backbone implementation code as well. It is super easy...read below...
COLAB CHANGE:
`#@title Load/Reload the model
full_path_to_model_checkpoint = "/content/Optimus-VIRTUOSO-Trained-Model.pth" #@param {type:"string"}
print('Loading the model...')
config = GPTConfig(VOCAB_SIZE,
max_seq,
dim_feedforward=dim_feedforward,
n_layer=6,
n_head=8,
n_embd=512,
enable_rpr=True,
er_len=max_seq)
model = GPT(config).to('cpu')
model.load_state_dict(torch.load(full_path_to_model_checkpoint, map_location=torch.device('cpu')))
print('Done!')
GPT2RGA (tegridy-tools) CHANGE:
CHANGE USE_CUDA = 1 to USE_CUDA = 0
This should make inference work on your CPU.
Please note that I can only test in colab but usually it works everywhere else... Works on my end. I can confirm.
===========================
In regard to your other question... Unfortunately, most of the provided models and datasets were created with MuseNet and most of the compositions are continuations of well-known melodies so  there is no really any way around it. The only way to generate originals requires training on original music. And even then, it will usually play what it learned.
If you want pure original music, the best you can get is something like this example of mine: https://soundcloud.com/aleksandr-sigalov-61/ov-sample-4-20210417170114-aac?in=aleksandr-sigalov-61/sets/exclusive-preview-optimus-virtuoso
There is NO WAY to comp[ose pure original music with current tech. Unfortunately. This would be a job for quantum computers, and even then it may not be possible because music is quite a complex thing.
Let me know if any of this was helpful.
Alex :)
`

Thank you so much for your help, I'll try that and will let you know about the results 😊 i'll use Relative Global Attention Edition.

@serhan3535 You are welcome :) Close the issue, please, if everything is ok.

I'm trying now but now I'm getting error that says system can not find the file
FileNotFoundError                         Traceback (most recent call last)
 in
13
14 print('Loading TMIDIX module...')
---> 15 os.chdir('/tegridy-tools/tegridy-tools')
16 import TMIDIX
17

@serhan3535 Np. You may need to change the paths. Please remember that I release in Google Colab. Python versions contain Colab paths...
You need to change it to ./ or something like that. Also make sure to git clone tegridy-tools too....
Let me know...

Yes, the problem is "/content/" part... you need to change it to ./ or full system path... its really OS/paltform specific so you may need to play with it...
Also, on windows, sometimes you may need use other slashes....like C:\PATH\FOLDER\etc

For unicode errors, see this issue: https://github.com/asigalov61/Optimus-VIRTUOSO/issues/2

I'm so sorry for asking simple things but I couldn't figure out how to change encoding of anaconda :(

@serhan3535 It's totally fine. I am happy to help...
Unfortunately, I do not know anaconda very well...but I think its something like PYTHONIOENCODING=utf-8
Try this or Google this for anaconda...Its open-source, so its totally ok to run into troubles before you get it going...this is why it is free ;)

Solved it with using double \ in paths, thanks :)

@serhan3535 Thank you for posting a solution too :) It will be helpful to other people...
Enjoy :)

I have one more problem now


Threshold Switch cannot detect items from the item vault

Describe the Bug
Threshold Switch cannot detect items from the item vault
I noticed that the Threshold Switch can work properly on build.1376, but when i update to build.1394. The problem floated out. And it still exist on build.1408
Reproduction Steps
1.install the build.1394 or higher
2.place the item vault and put some item in it
3.place a Threshold Switch and use it to detect items
Expected Result
Screenshots and Videos

Crash Report or Log
No response
Operating System
Windows 11
Mod Version
0.5.1f
Minecraft Version
1.20.1
Other Mods
Fabric loader 0.15.7
Fabric API 0.92
Additional Context
No response

Hello @TropheusJ, I think this fix broke compatibility with Extended Drawers mods, MattiDragon/ExtendedDrawers#102. Current behavior is that is thinks that the maximum amount of items in slot is 64, while drawers allow to store multiple stacks and they do it in one slot.
Replacing long space = Math.min(stackInSlot.getMaxStackSize(), view.getCapacity()); with long space = view.getCapacity(); may help to solve this. Not sure if it will affect vaults or not.
I'll try to patch this, test with Extended Drawers and let you know the results

Just checked, replacing long space = Math.min(stackInSlot.getMaxStackSize(), view.getCapacity()); with long space = view.getCapacity(); fixes the issue with Extended Drawers.

Tested it as well and it doesn't seem to break item vaults. This also is in line with c8685f377db3a6520880ef5f859c1077b043cf95. Would close both this issue and #1459


[WIP] Rewrite in Rust

"You can build stuff"? Let's see!
Major TODOs:

[X] Get rid of all the unwraps (Iron does recover from panics, but it's obviously better to do this properly)
[X] For the server, use Iron's itry! macro
[X] For the bot, regular try, but this one is almost more important since the bot doesn't "survive" a panic while the server does
[X] Reimplement ASM/LLVM syntax highlighting
Probably by manually invoking pygmentize (needs to be installed separately!) - I don't have a nicer solution (we could probably use Ace when LLVM IR support is added, but I don't speak JS so someone else will have to do it)
[ ] Cache executed programs like the python script does
[ ] Make sure this is fast enough
[ ] Rewrite the IRC bot
[X] Basic functionality (running code, replying with output or compile errors, /msg and public chat)
[X] Put long output on Pastebin bit.ly (and bail on "far too long" output)
[X] Replicate playbot-mini (Maybe not as a separate bot. I have some ideas for later!)
[X] Allow switching between nightly, beta and stable

More stuff:

playbot no longer responds to rusti, playbot-mini or rustimini (or whatever they were called) and is currently called playbot-rs
Instead, an attribute system allows selecting ~mini-mode as well as switching trains: ~nightly/~beta
Non-separate output mode for evaluate-requests on playpen isn't (yet) implemented. I don't know what uses it has, but I can implement it if needed.
Some unwraps are still questionable, but shouldn't lead to crashes in practice
...more I have forgotten, probably

r? @brson
(rust_highfive has picked a reviewer for you, use r? to override)

I rewrote (most of) playbot as well. It needs to be run from the project's root dir because it accesses the whitelist.

Awesome! This seems great to me and a great way to help move towards making this runnable on more platforms perhaps?
I'd want to hold off on merging until we've reached feature parity, but I'm all for it!

Cool!
Does this just work with the existing playpen sandbox, or does the sandbox need to change? Does this reuse the existing HTML?

It still uses playpen, I don't plan on changing that (at least in this PR). The HTML also stayed the same (the Rust server is compatible with the Python server, so nothing in the static/ directory should need changes).

The Playbot port however isn't yet compatible with the config (everything's just hardcoded for now). The IRC interface is different as well. I do plan on changing that, but it might be a good idea to incorporate some ideas from #142.

Okay, I did a bit more work, and this might now be ready for a first look!

Ping @alexcrichton, I want to know if I'm going in the right direction with this

Looking pretty good @jonas-schievink! (sorry was a bit busy last week). What's left to implement?

No worries!

There's no caching of executed programs
The "non-separate-output" mode of evaluate.json is missing (I'm curious as to why this even exists - no other endpoint supports this)
playbot-rs can't identify itself to NickServ and doesn't support channel keys
playbot-rs has a hardcoded nickname (I guess this should be moved to the config - at least it shouldn't have the -rs suffix)
playbot-rs is also unable to handle multiple servers (although I could make it work by passing the name of the config file, then you could run distinct instances)
it also currently doesn't show warnings if the code still runs fine

Other than that, playbot-rs generally has a different interface.

Thanks for the update! Can playbot-rs have the same interface as playbot? How come they're different?
Also can you be sure to make as much as configurable as possible through a TOML file on the side? I do think that supporting multiple servers will be a blocker for landing this.
I guess I'm not even sure what a channel key is, where're you seeing this again?

Can playbot-rs have the same interface as playbot? How come they're different?

It was in some way easier to implement (since I don't have to start another thread just for a different nickname), and is much more flexible (release channel selection via ~nightly, ~help, etc.). But if you want, I can implement it the other way.

Also can you be sure to make as much as configurable as possible through a TOML file on the side?

Sure, the only thing that bot.py supports but the new playbot doesn't is the port to connect to. I'll implement that as well.

I do think that supporting multiple servers will be a blocker for landing this.

Would it be sufficient if each server gets its own config file (like I mentioned above)?

I guess I'm not even sure what a channel key is, where're you seeing this again?

I saw this comment and bot.py mention something with an array of "keys" (presumably for each channel), but the irc crate doesn't support them directly (I'd have to tinker with IRC messages directly).

Yeah for now I think we should keep the same interface, and we can look into expanding it later. Currently the python version spawns a bunch of threads for each server/username pair (I think), and it'd be fine for Rust to do the same. I'd ideally prefer to keep it all in one config file and one process as that'd just make it easier to manage.
Ah so the keys there are actually just channel passwords. Currently none of the channels this connects to have passwords, so that can probably be left out for now.

So one thing that'd also be amazing is could you add some tests as part of this as well? We tend to have regressions from time to time and it'd be great to prevent them!

Hmm. Writing tests for the HTTP server is surprisingly hard, since hyperium/hyper#338 prevents me from closing the server, and Rust doesn't provide a way to do one-time setup before running tests :/
Anyways, everything else should be implemented now. I've added a few tests to make sure the core functionality works, but none specific to the IRC bot or the server.

Yeah if running full integration tests are more difficult than I was thinking that this could have a more specialized set of unit tests (perhaps scattered around as well).
Could you also update .travis.yml to build/test all the Rust code?

The tests require that the root-* directories are set up, which seems very hard to do from Ubuntu. But I made Travis build all Rust code.

So I guess if we want to rewrite everything we should probably do it to get some concrete benefits rather than "just because". The benefits of Rust I can think of are:

We understand Rust more than Python
We can perhaps benefit one day from Rust bindings for dealing with containers rather than forking out to an external process
Rust code tends to lend it self well to unit testing and such.

I'd prefer to try to write as comprehensive a test suite as possible as part of a rewrite if we're going to do one, and it seems like the tests aren't really that useful if they have the same limitation as the rest of this, which is it only runs in a native Arch Linux environment. Can the tests maybe be reduced in scope, exercise different portions, or perhaps use some mocking to be runnable?

Can the tests maybe be reduced in scope, exercise different portions, or perhaps use some mocking to be runnable?

They already have a very narrow scope, sadly. By mocking playpen, the tests would become near-useless since they'd just test the .sh scripts and Rust installation on the host (which was already tested by the fact that this has been compiled successfully), and nothing more. The IRC crate seems to provide some sort of mock connection (presumably used for testing the IRC crate), but I don't know how much sense it would make to make use of that (given that we'd still have to deal with the playpen invocation at the end of the chain).
I was thinking of replacing the whole playpen stuff with docker or something else so it can be used on other systems, but that seems clearly out of scope for this PR (I also don't have any experience with Docker).

Yeah we'd actually love to move to a more modern or up-to-date sandboxing solution. Docker may work out but has historically not been recommended for applications like this, we could probably start out by just running on Ubuntu rather than Arch :)
I'll try to give this a closer look over the coming days to ensure we're not losing functionality.

Ping @alexcrichton, this needs to be updated, since there were a few new features since I last worked on this, but I'd like to know if this is still wanted.

Gah sorry about this @jonas-schievink! I know that I definitely want to still merge this, and I'm somewhat leaning moreso on the side of just doing so without a careful review as it seems that I unfortunately may not have a lot of time to do so. Do you think you'll be on hand to fix up bugs as they arise in the near future perhaps?
I'd also like to consider removing usage of playpen in favor of docker which is easier to run and more understood by us, but that's just facilitated by this PR and can be done elsewhere at all :). In general though that'd also probably break things so we may just want to batch things up to have only one period of breakage.

Do you think you'll be on hand to fix up bugs as they arise in the near future perhaps?

Sure, no problem!

we may just want to batch things up to have only one period of breakage.

Sounds like a good plan. I'll see if I can update this PR in the coming days so it works correctly with the current master.

Ok, poking around here's some things I've found:

The mirlexer.py script I believe was added after this PR, so MIR isn't colorized (not a blocker, just a thing)
Looks like some dependencies (e.g. iron/hyper/staticfile) are a bit out of date
Could the default features of irc be turned off to trim down dependencies?
Could logging get enabled somehow as well? Perhaps log + env_logger, but basically logging all requests would be useful
Can the serde_json dep be dropped? rustc_serialize is already pulled in and should suffice I believe

I've also got a rewrite to use docker instead of playpen as a sandboxing solution built on top of this, which should hopefully re-enable rustfmt again. I haven't tested out the IRC bot much yet but it looks pretty reasonable.

Okay, I think I've got everything. Regarding MIR highlighting, maybe @birkenfeld's pygments port is now ready enough to be used for that?

Alright, I'm gonna merge this and look to deploying this soon as well, thanks so much again @jonas-schievink! I'll keep you posted with status updates as this gets out.

Ok this is now deployed, both IRC and web. I've pushed a number of updates as well (migrating to docker at the same time)
If all goes well I'll leave it turned on tomorrow and I'll make a post on internals. The old server is still running it just has the services disabled currently.

Thanks again @jonas-schievink! This is awesome :)


SQL Exception for request and responses

I implemented this package for logging in my Web API application to monitor logs
here is my configurations in my service collection :
services.AddWatchDogServices(opt =>         {             opt.ClearTimeSchedule = WatchDogAutoClearScheduleEnum.Monthly;             opt.IsAutoClear = true;             opt.SqlDriverOption = WatchDogSqlDriverEnum.MSSQL;             opt.SetExternalDbConnString = Configuration.GetConnectionString("DefaultConnection");         });
and here is my appBuilder configuration :
        app.UseWatchDogExceptionLogger();         app.UseWatchDog(opt =>         {             opt.WatchPageUsername = "xxxx";             opt.WatchPagePassword = "xxxx";         });
For any request and response that is success and returns correct value, I have got exception as below
What I'm missing in implementation ?
Why Logging is not working correctly ?
 at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)    at System.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader()    at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult)    at System.Data.SqlClient.SqlCommand.EndExecuteNonQuery(IAsyncResult asyncResult)    at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization) --- End of stack trace from previous location ---    at Dapper.SqlMapper.ExecuteImplAsync(IDbConnection cnn, CommandDefinition command, Object param) in /_/Dapper/SqlMapper.Async.cs:line 646    at WatchDog.src.Helpers.ExternalDbHelper.InsertWatchLog(WatchLog log)    at WatchDog.src.Managers.DynamicDBManager.InsertWatchLog(WatchLog log)    at WatchDog.src.WatchDog.InvokeAsync(HttpContext context)    at WatchDog.src.WatchDogExceptionLogger.InvokeAsync(HttpContext context)

Hi @devFarshadFahimi
Could you send in the full exception
It looks like there is something missing at the start of the exception you sent

@IzyPro Getting the same exception while using with MS SQL. Exception copied from the clipboard. Can u please look into this?
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)    at System.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader()    at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult)    at System.Data.SqlClient.SqlCommand.EndExecuteNonQuery(IAsyncResult asyncResult)    at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
at Dapper.SqlMapper.ExecuteImplAsync(IDbConnection cnn, CommandDefinition command, Object param) in /_/Dapper/SqlMapper.Async.cs:line 646
at WatchDog.src.Helpers.ExternalDbHelper.InsertWatchLog(WatchLog log)
at WatchDog.src.Managers.DynamicDBManager.InsertWatchLog(WatchLog log)
at WatchDog.src.WatchDog.InvokeAsync(HttpContext context)
at WatchDog.src.WatchDogExceptionLogger.InvokeAsync(HttpContext context)

Hi @ksarankumar
Please use the bug report template. That will help us gather the necessary information to either advise on next steps or provide a fix.
See the template below:
Description
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Details (please complete the following information):

Project Type: [e.g. API, MVC]
Framework Version [e.g. .NET Core 3.1, .NET 6]
WatchDog Version [e.g. 1.3.0, 1.2.1]
Database [e.g Default, MySQL]

Additional context
Add any other context about the problem here.

Hi @IzyPro ,
txs for the reply.  did some debugging, seems like the SQL server is throwing String or binary data would be truncated. The statement has been terminated - when it tries to store an API  Path having a length of more than 30 char (for example Path: /api/Catalog/ExampleEndPoint/Saran). tried with the path having less than 30 char long and is working fine.
@devFarshadFahimi  can you please confirm the length of your API path?
Further, Went and checked the underlying table schema, path column in WatchDog_WatchLog table can only store only 30 char.

You may check this and try to re-design the schema of all underlying tables used by WatchDog.
btw keep up the good work, more power to you 🔥

Great, that has already been fixed and a new version will be deployed soon.

@devFarshadFahimi @ksarankumar
A new version (v1.3.2) with the fix has been released. Update the WatchDog.NET package in your project and you should be good to go.


BackSpace closes menus while using DisplayOnscreenKeyboard

Use DisplayOnscreenKeyboard while a UIMenu is open, and if BackSpace is pressed the Menu will be go back / close

Solution that i found:
change  if (HasControlJustBeenReleaseed(MenuControls.Back, key)) into if (HasControlJustBeenReleaseed(MenuControls.Back, key) && UpdateOnscreenKeyboard() != 0)
into UIMenu.cs: ProcessControl(Keys key = Keys.None)

Why would you want to keep the menu open while the input text field is open?
Just hide it (UIMenu.Visible = false;) while the field is on the screen.

well.. i wanted the menu to be visible while textinput was open 😄 so i added a check on input pressing


Delegate #to_s to #to_sql

Please delegate #to_s to #to_sql it is useful in plain text SQL queries with Arel interpolations inside

Thank you for the issue. The entire point of Arel is to not have "SQL queries with Arel interpolations inside". That being said even that it is useful it may break some applications so it is better to avoid this change.


Reduce size of relation data

Issue
https://github.com/wellcomecollection/platform/issues/4929
Description
Currently for each relation we store a blob of json, which due to using WorkData always contains lots of empty data:
{
  "data": {
    "title": "Murchison, Charles (1830-1879)",
    "otherIdentifiers": [],
    "mergeCandidates": [],
    "alternativeTitles": [],
    "subjects": [],
    "genres": [],
    "contributors": [],
    "production": [],
    "languages": [],
    "notes": [],
    "items": [],
    "collectionPath": {
      "path": "MS3652",
      "level": {
        "type":"Collection"
      },
      "label": "MSS.3652, 3653"
    },
    "imageData": [],
    "workType": "Collection"
  },
  "id": {
    "canonicalId": "daeah2n8",
    "sourceIdentifier": {
      "identifierType": {
        "id": "calm-record-id",
        "label": "Calm RecordIdentifier"
      },
      "ontologyType": "SourceIdentifier",
      "value": "bca287b5-6647-435b-b4a4-be7a4dcbc996"
    },
    "otherIdentifiers": []
  },
  "depth": 0,
  "numChildren": 2,
  "numDescendents": 2
}

In this PR we store relation data directly on the Relation model, rather than using WorkData, leading to much smaller json for the equivilent data:
{
  "title": "Murchison, Charles (1830-1879)",
  "collectionPath": {
    "path": "MS3652",
    "label": "MSS.3652, 3653"
  },
  "workType": "Collection",
  "id": "daeah2n8",
  "depth": 0,
  "numChildren": 2,
  "numDescendents": 2
}

The original json (without any whitespace) is 617 bytes, whereas it is now 187 bytes, so a saving of approximately 70%. Currently a full index of works with relations takes up ~200GB of space (with 195GB of that being due to stored relations), so I estimate after this PR hopefully that will be more like 65GB.
Note that the collectionPath.level field has also been removed, which is covered by workType already, and we do not store the source identifier on relations as these are not needed by the front end currently.

Could be good to change the shards for the catalogue and denormalise indices as well in this PR maybe?In #1185 I set those indices to have 5 shards but sounds like now they would need only 2?

@alicefuzier done


Northeast Forestry University

https://www.nefu.edu.cn/
东北林业大学

Please add my college<EMAIL_ADDRESS>you know，This domain is provided by office 365.thanks，my english is poor.

@Code0401 Please provide us with an URL of a page or another proof which shows that the school recognizes the domain which you are submitting as an official email domain for the students. Usually universities in China do not use onmicrosoft.com domain for their email correspondence.

@Code0401 Please provide us with an URL of a page or another proof which shows that the school recognizes the domain which you are submitting as an official email domain for the students. Usually universities in China do not use onmicrosoft.com domain for their email correspondence.

Thanks，You know a lot about China，This is a screenshot of the office 365 management center，Please tell me what else you need，I'm sorry I used Google translation

@Code0401 I am sorry, but the proof which you have provided us with do not confirm that the university recognizes the domain which you are submitting as an official email domain for the students. Your ability to access some admin panel does not show that the university actually assign the addresses from this email domain to its students.
Still, the students of the university can apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).
I am sorry, I have to close this request without merging.

@Code0401 I am sorry, but the proof which you have provided us with do not confirm that the university recognizes the domain which you are submitting as an official email domain for the students. Your ability to access some admin panel does not show that the university actually assign the addresses from this email domain to its students.
Still, the students of the university can apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).
I am sorry, I have to close this request without merging.

Please tell me how to get your approval，We are recognized by the Ministry of Education，So please help me


Access Denied

Steps to reproduce the behavior

Expected behavior
webhook not created or edited
Actual behavior
webhook not created or edited
Code snippets
$webhookID='webhookid';
$accountID='account id';
$webHookProcessUrl='http://workingapp.com/index.php/razorpay/status/846db8b2598bd3db9f3285db17711e26';
$webhookSupportedEvents=array('payment.captured','order.paid','payment_link.paid');
$webHookSecretPost='07e7caf67b4142f44b09c7cc4fd9386f';
Create Webhook
=================
$api->account->fetch($accountID)->webhooks()->create(array(
"url" => $webHookProcessUrl,
"secret" => $webHookSecretPost,
"events" => $webhookSupportedEvents
));
For edit Webhook code
================
$api->account->fetch($transferAccountID)->webhooks()->edit($webhookID, array("url" => $webHookProcessUrl,"events" => $webhookSupportedEvents));

Php version
8.2
Library version
2.9.0
Additional Information
No response

@kirankumarmitnas  where did you find the webhook create api ? documentation can you please mention the link


Implement Circuit Maintenance metrics

Addresses #72

[ ] Tests
[x] Changelog
[x] Documentation

Although we stanadrize labels, would be nice to have the label / values as a configuration option defined in settings:
labels_attached = {
   cid = circuit.cid,
   site = circuit.circuit_termination.site.name,
   etc
}

@mzbroch , I took into account your comment in https://github.com/nautobot/nautobot-plugin-circuit-maintenance/pull/73/commits/f51063bbf6b78c368fca379939757156db5ca2f0
I discarded other options such as creating a get_circuit_labels method in nautobot_config.py  to avoid moving some complexity to handle some cases (such as terminations) into the user side, and leaving it the simplest as possible.
Open to feedback


Enable filtering with multiple languages and spoken-languages

Checklist

[x] My code is properly formatted using the latest black
[x] I have added/updated tests if needed
[x] I have tried running my code manually
[x] I have checked for spelling errors

Description
I have made changes to enable filtering with multiple languages and spoken languages.
We can search based on various combinations of languages and spoken languages. For example, we can use -l Python+JavaScript to filter two languages Python and JavaScript, and -S zh+en to filter Chinese and English.

Closing this PR as it's stale. If you have other improvements to the code, feel free to open another PR :)


Remove app header

Summary
MUMMNG-3978: "As a developer working on a UAF (uportal-app-framework) app,
I'd like the app-header to go away,
So that it is clearer that app menu items and controls are in one place (side navigation menu)
AND so that I don't have to do so much work circumventing clunky CSS styles
AND so that UAF has a smaller footprint and is simpler to work with "
Related to:: uportal-home#779
In this PR:

Remove app-header directive and related HTML/CSS
Re-home options functionality from APP_OPTIONS.optionsTemplateURL to the side-nav to support existing cases, if any (this is meant to be a temporary stop-gap to support anyone who went through the work of creating app options)
Refactor former add-[app]-to-home to be a toast instead of app-header button

Appears after 1.5s delay if user can add the app to home layout and if showAddToHome is set to true in <frame-page> attributes
Contains add button and can be dismissed (until next visit to the view)

Add two-line app title

Displays clickable "MyUW" (theme.title) link in small font above app name, using MISC_URLS.rootUrl in the href
Displays plain text app title (e.g. "Learning and Development Resources") in larger font on second line
As screen sizes get smaller, long app titles will be obscured by search bar (if enabled)
On mobile, the whole app name will be displayed (unless very long)

New frame page attribute page-title adds <h1> tag displaying the title and icon
Existing app-title attribute sets the document title
Added some z-index LESS variables in an effort to begin standardizing use throughout the framework
Updated appearance of About page (no more bootstrap)
Many minor/misc. CSS changes/updates
Disabled unit test for frame page directive (formerly for app-header directive)

To do:

DOCUMENT EVERYTHING

Breaking changes
New functionality of <frame-page> attributes (e.g. app-title shows <h1> now)
Refactor of add-to-home
Re-homing of app options (and new best practices)

Make dismissing add-to-home persistent for session
Make sure error pages still look look good
Add new frame page attribute for setting <h1> tags
Implement changes to document title functionality
(?) Add configurable URL for NAMES.title (for clickable app name in top bar)
Add truncation to long app titles
Add hover-to-expand animation for truncated app titles
Write unit test for frame-page directive

Breaking changes

Removed <app-header> directive. This affects any framework apps using that directive outside of <frame-page>. Apps using <frame-page> should get the new treatment without breakage.

With the removal of the <app-header>, the APP_OPTIONS.optionsTemplateURL config has been deprecated. Apps currently using this config to set a path to app options will see the options displayed in the side navigation menu. This may require minor layout/appearance adjustments.

Screenshots
New (temporary) home for any existing app options templates:

Two-line title display on three sizes:

New result of setting page-title attribute for a <frame-page>:

New result of setting app-title attribute for a <frame-page>

Updated About page:

Contributor License Agreement adherence:

[x] This Contribution is under the terms of Individual Contributor License Agreements (and also Corporate Contributor License Agreements to the extent applicable) appearing in the Apereo CLA roster.

@thevoiceofzeke, I'm not able to figure out via https://github.com/uPortal-Project/uportal-home/pull/779 what needs to be recorded in this page: https://github.com/uPortal-Project/uportal-app-framework/blob/master/docs/upgrading.md


I've done my "Managers" thing

I'm completely with my thing that no-one knows how to use.

Don't do anything with this PR yet

Come on AppVeyor why do you do this to me

:white_check_mark: Build TimeHACK AppVeyor-103 completed (commit https://github.com/TimeHACKDevs/TimeHACK/commit/63d7569cfa by @Alex-TIMEHACK)

Well... none of you want me to continue developing TimeHACK I'm guessing

(Because I don't have the rank "TimeHACK Dev")

Well... if you guys ever want me to do something... I'll be available - it will probably be in the form of MY IDEA for challenges... And something none of you want to do

But I will never stop doing stuff for TimeHACK


Update for Agda 2.4.3

@divipp @pgj Should we merge this into master? The current master seems broken anyway, or at least I could not get it installed anymore, due to an incompatibility between Agda 2.4.0 and the equivalence package:
Compiling Agda.Utils.Cluster ( src/full/Agda/Utils/Cluster.hs, dist/dist-sandbox-364569f1/build/Agda/Utils/Cluster.o )

src/full/Agda/Utils/Cluster.hs:50:10:
    Duplicate instance declarations:
      instance Monad m => Functor (EquivT s x y m)
        -- Defined at src/full/Agda/Utils/Cluster.hs:50:10
      instance Functor m => Functor (EquivT s c v m)
        -- Defined in `Data.Equivalence.Monad'

Thanks for the cleanup, please merge it!
@pgj what do you think? I guess you need a system which is based on a stable Agda version; there are different ways to manage that.

After some in-person discussion with @divipp, I think we agreed that those commits are safe to merge.  I will explore the ways to use this tutorial with a stable version of Agda.


Nov 6 update

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

mixed-reality-docs/CONTRIBUTING.md
:white_check_mark:Succeeded
View

mixed-reality-docs/TOC.md
:white_check_mark:Succeeded
View

mixed-reality-docs/accounts-on-hololens.md
:white_check_mark:Succeeded
View

mixed-reality-docs/app-model.md
:white_check_mark:Succeeded
View

mixed-reality-docs/building-2d-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/case-study-creating-a-galaxy-in-mixed-reality.md
:white_check_mark:Succeeded
View

mixed-reality-docs/case-study-the-pursuit-of-more-personal-computing.md
:white_check_mark:Succeeded
View

mixed-reality-docs/color,-light-and-materials.md
:white_check_mark:Succeeded
View

mixed-reality-docs/commercial-features.md
:white_check_mark:Succeeded
View

mixed-reality-docs/coordinate-systems-in-directx.md
:white_check_mark:Succeeded
View

mixed-reality-docs/creating-a-holographic-directx-project.md
:white_check_mark:Succeeded
View

mixed-reality-docs/development-overview.md
:white_check_mark:Succeeded
View

mixed-reality-docs/development.md
:white_check_mark:Succeeded
View

mixed-reality-docs/directx-development-overview.md
:white_check_mark:Succeeded
View

mixed-reality-docs/docfx.json
:white_check_mark:Succeeded

mixed-reality-docs/gaze,-gestures,-and-motion-controllers-in-directx.md
:white_check_mark:Succeeded
View

mixed-reality-docs/gestures-and-motion-controllers-in-unity.md
:white_check_mark:Succeeded
View

mixed-reality-docs/getting-a-holographicspace.md
:white_check_mark:Succeeded
View

mixed-reality-docs/hololens-hardware-details.md
:white_check_mark:Succeeded
View

mixed-reality-docs/implementing-3d-app-launchers-win32.md
:white_check_mark:Succeeded
View

mixed-reality-docs/implementing-3d-app-launchers.md
:white_check_mark:Succeeded
View

mixed-reality-docs/in-app-purchases.md
:white_check_mark:Succeeded
View

mixed-reality-docs/index.md
:white_check_mark:Succeeded
View

mixed-reality-docs/install-the-tools.md
:white_check_mark:Succeeded
View

mixed-reality-docs/keyboard,-mouse,-and-controller-input-in-directx.md
:white_check_mark:Succeeded
View

mixed-reality-docs/locatable-camera-in-directx.md
:white_check_mark:Succeeded
View

mixed-reality-docs/locatable-camera.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mixed-reality-250.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mixed-reality-capture-for-developers.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mixed-reality.md
:white_check_mark:Succeeded
View

mixed-reality-docs/motion-controllers.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-301.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-302.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-302b.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-303.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-304.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-305.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-306.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-307.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-308.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-309.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-310.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-311.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-312.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mr-azure-313.md
:white_check_mark:Succeeded
View

mixed-reality-docs/navigating-the-windows-mixed-reality-home.md
:white_check_mark:Succeeded
View

mixed-reality-docs/performance-recommendations-for-hololens-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/performance-recommendations-for-immersive-headset-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/performance-recommendations-for-unity.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Not found error for a recovery url

Hi,
I followed the steps to install the app and started a project. My steps -

create-rust-app bookmarks
selected poem as a backend
deselected Container Plugin: dockerize your app and  Storage Plugin: adds S3 file storage capabilities
updated env and ran cargo fullstack

I was able to register. But, the activation link http://localhost:8080/activate?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTI1MzQ0MjYsInN1YiI6MSwidG9rZW5fdHlwZSI6ImFjdGl2YXRpb25fdG9rZW4ifQ.-CMs1vftV31TRVFd1ZotDU5yWpRlR2DbUJGvMg9eN2o' when pasted in browser gave not found` response. So, I changed the port to 3000 and pasted the token in the input box.
Then, I clicked on forgot password. An email was dispatched and printed on the console. I copied the link from the console. My link was
http://localhost:8080/reset?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTAwMjgyNjUsInN1YiI6MSwidG9rZW5fdHlwZSI6InJlc2V0X3Rva2VuIn0.QhSunPvvFm2QVmK38_KLZJW0X7QxtN-1_jWwzO9ovyo
I clicked the link and response was not found
So, I tried
http://<IP_ADDRESS>:3000/reset?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTAwMjgyNjUsInN1YiI6MSwidG9rZW5fdHlwZSI6InJlc2V0X3Rva2VuIn0.QhSunPvvFm2QVmK38_KLZJW0X7QxtN-1_jWwzO9ovyo. It worked!
So, how to fix this issue?

hey @vishalsodani thanks a bundle for reporting this in such a detailed manner. Just wanted to say sorry for the inconvenience. There's a lot of work to be done when it comes to the default template.
A lot of what you described here relates to #35. If you have some time, I'd appreciate if you created a PR to fix these issues so the next user won't have to encounter them. In general, you can find all the files related to this in the create-rust-app_cli/template/frontend/src folder -- those are the files that get copied to the created project.
If you don't have the time, I completely understand. I'm also going to try to implement a 'blank' template feature (see #26) and maybe I can address these issues at the same time.

Hi @Wulf Thanks for replying. It was so much fun to try out and see it work! After, I posted the bug I did see the issue #35. I would like to take a shot at fixing the issue.
Can you please let me know how should I work in the  dev environment? I have cloned the repo and checked out the code.
Should I debug by running `./target/debug/create-rust-app' ?

Yeah, that's how I develop as well -- here's a detailed breakdown:

Create a dummy project via create-rust-app ...
Make changes in the dummy project
Run git diff to see what changed and copy over the changes to the right files in create-rust-app_cli (or wherever they belong)
Install the local version of the CLI (cargo install --path ./create-rust-app/create-rust-app_cli)
Generate another dummy project and see if everything runs the way it should
Push :rocket:

I've been meaning to write documentation about this :sweat_smile:  (let me mention #32 here so I can revisit this conversation  when the time comes)
If you have any suggestions, I would love to hear them :)


Mi-8MT - low base sensitivity of knobs

For all options, except for manual frequency (R-863, YaDRO) and volume setting, the base sensitivity of the knobs is too low.
Example: for the set 'Frequency Knobs sensitivity' = 0, changing the R-863 (presets) channel by 1 requires 4 encoder steps.

Please be specific. Which ones are too slow in changing. All presets?

Check 4.4.28.

Now it's better: a 1 step change requires 2 encoder steps (previously 4 encoder steps were required).
In my opinion it should be 1:1.

Take it or leave it mate.

OK - 1:2 is enough. Thx.

There is no skipping of the dial now. Everything time a signal comes in a frequency change is sent to DCS. 1:2 is either because the actual bumps in the dial is not the same as numer of signals or there is some other delays. I don't know.

I would try it patch

Check 4.4.30. Good luck setting the presets.

It works 1:1. Thx!


More submodule work

I am getting closer but I am beginning to think it's not really possible to toggle between add_subdirectory() and find_package() in a clean way.
This at least allows me to build and test Axom/MFEM inside of Serac but not install.  Though that is not our normal usage so this seems okay for now.

For the record: add_subdirectory()  to fuse CMake build systems remains an painful path to maintain.
I also think trying to magically export targets vs having the imported cmake logic just call find_package creates issues that are unique to how we are doing things vs most other cmake projects.

Spitballing here: could we use ExternalProject_Add() in lieu of add_subdirectory()? I think that'd let us independently build and install our submodule TPLs without pulling stuff into the axom cmake context. Then we could just add it like any other TPL with find_package().

Spitballing here: could we use ExternalProject_Add() in lieu of add_subdirectory()? I think that'd let us independently build and install our submodule TPLs without pulling stuff into the axom cmake context. Then we could just add it like any other TPL with find_package().

ExternalProject_Add() is also very painful. I have tried it in the past, though its been a while, and was very unhappy with it.
This is for when Serac is heavily codeveloping Axom and (mainly) MFEM. It is not how most of the developers work or how we expect users to regularly build our code.  It isn't even recommended unless you specifically need to do so. It is for the specific developers who need to bridge the gap between the 3 projects. It also goes up one more layer to another project as well now and has been extremely helpful to speed up development.


Fix/cert manager wait for ready

This PR Fixes #82
Also verify you have:

[X] Read the contributions page.
[X] Submitted the CLA form, if you are a first time contributor.

Not sure about the changes to the cert-manager.yaml file in this PR. What is the reason for them, and is it not going to make it hard to update the manifest as new cert-manager versions are released?

Ooops the cert-manager.yaml change was a result of prettier changing the format.  Sorry bout that.
I was initially relying on the readiness probes, but it doesn't allow one to apply the CRD as long as the cert manager's admission controller isnt ready.
I came across this approach from the cert manager docs.
I assume that the user will not have any certs in the cluster while the cert manager isn't enabled.

@balchua OK, rebased with latest branch and fixed a few typos in the bash.


feat: add  field in HivePartitioningOptions

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ v] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ v] Ensure the tests and linter pass
[ v] Code coverage does not decrease (if any source code was changed)
[v ] Appropriate docs were updated (if necessary)

Fixes #2677 ☕

Please add IT tests also.


database: add badger

closes #151
Needs:

[ ] testing
[ ] website docs

This might be blocked for awhile. There was a breaking change in golang.org/x/net today, which I had unvendored to get around another issue with multiple vendors importing golang.org/x/net. I've asked for guidance here. Hopefully it's just late and I'm missing something obvious.

I was able to get things working. I kept all the packages in golang.org/x vendored and pulled down their latest code.  Additionally I pulled down the latest from minio-go.

Ah, great, thank you. I hadn't thought to update minio-go, I thought maybe docker was the one causing trouble.

closing in favor of #556


Failed to run multiple presets due to stream error: The requested device is no longer available

Describe the bug
I am getting the following error while trying to run multiple presets at the same time:
Stream error: `The requested device is no longer available. For example, it has been unplugged.`

It comes from https://docs.rs/rodio/latest/rodio/enum.StreamError.html
To reproduce
daktilo -p default -p musicbox -p drumkit

Expected behavior
Successful run.
Software information

Operating system: Arch Linux
Rust version: rustc 1.73.0 (cc66ad468 2023-10-03)
Project version: git

Additional context
I'm using pulse-pipewire

Unable to reproduce using:

Operating system: Manjaro
rustc 1.73.0 (cc66ad468 2023-10-03)
Project version: https://github.com/orhun/daktilo.git#5776676f

Maybe we need to handle change of audio device gracefully?

Not sure, which audio server are you using?

Currently PulseAudio


Enable alphabetical ordering of contributors?

Right now https://github.com/jenkinsci/ui-ux-hackfest-2020#contributors in an order they were added. Would we like to switch to the alphabetical ordering @jenkinsci/ui-ux-hackfest-2020-orgs ?

I think switching to alphabetical order is fine, but organizations like CDF / Cloudbees should be in a separate section from individuals.


Custom result index: use result index json file as single source of truth; support upgrading to latest index mapping

https://github.com/opensearch-project/anomaly-detection/pull/276#discussion_r739577059
Is it possible you can read the current mapping file and generate this list? It is easy to forget to update here when people add new things to the mapping.

Yeah, I planned to do that at first, but the index mapping object we got from Java may output a different String for example the sequence of some sub field changed compared to the index mapping file, it takes some more effort to sort out such problems/edge cases.
Prefer to do that in next phase, including the custom result index mapping upgrade.

This is fixed in https://github.com/opensearch-project/anomaly-detection/pull/268


Error if id(from file) and supplied proposal name do not match

while creating a proposal from file

from internal trello

@rsalevsky added the tkt number to commit message.
root@socadmin:/tmp # crowbarctl proposal create crowbar default --file=crowbar-default-proposal
{"error":"Please limit name to [A-z0-9_] without spaces."}

so the file name needs to be renamed to "default" and then it works? is that what the check is trying to achieve?

crowbarctl proposal create crowbar default --file=crowbar.default.proposal
while creating proposal from a file, the name is taken from id field in the file, and the one provided on the cmdline is ignored.
The file 'crowbar-default-proposal' is a template obtained from the server. These templates follow the pattern {bcname}-default for the id field. However the - in the name is not allowed, as the error points out. But from the users point of view, name is what is provided on the cmdline.
The fix is to make sure err if id-from-file != name-on-cmdline

I hope this helps
root@crowbar:~ # grep id crowb
  "id": "crowbar-default",
root@crowbar:~ # crowbarctl proposal create crowbar name-with-hyphen  --file=crowb
{"error":"Please limit name to [A-z0-9_] without spaces."}
root@crowbar:~ # sed -i 's:crowbar-default:crowbardefault:' crowb
root@crowbar:~ # grep id crowb
  "id": "crowbardefault",
root@crowbar:~ # crowbarctl proposal create crowbar name-with-hyphen  --file=crowb
Successfully created name-with-hyphen proposal
root@crowbar:~ # crowbarctl proposal list crowbar
+----------------+
| Proposal       |
+----------------+
| crowbardefault |
| default        |
+----------------+

As @rsalevsky  pointed out, better flow would be to make the name optional, and use it from the file if not provided

I would suggest to do the change in one commit also pls use the default schema for commit messages. In this case it would be proposal: ....... (bsc#XXXXX).

speaking without knowing any background of this, I would expect this behavior

$ crowbar proposal create --file=foo.yaml

creates a proposal with the name "default"
errors out if a proposal with name "default" already existsw
overwrites the id in the json with the proposal id "default" if not matching (or alternatively errors out)

$ crowbar proposal create --file=foo.yaml somethingelse

creates a proposal with the name "somethingelse"
if foo.yaml has an id "something", it overwrites it with "somethingelse"


Wireshark: 'ap0' No such device exists

Environment: Ubuntu 22.04

I've updated the code, please test again.


Using resttemplate and useBeanValidation does not include validation-api

Describe the bug
When I generate my code with a library of resttemplate and useBeanValidation, I get a build error because javax.validation.Valid is not defined.
If I remove the library of resttemplate it works as expected. But I would like to use RestTemplate.
When I researched what was happening, it appears that with resttemplate the pom does not include the following dependency.
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
    <scope>provided</scope>
</dependency>

To Reproduce:
Try to generate code using a library of resttemplate and useBeanValidation. Then try to build the resulting project.
Expected behavior:
That the project builds.
Environment
Plugin version: 2.19.2
Swagger Codegen version: io.swagger:swagger-codegen-cli:2.4.28
Gradle version: 7.4
Java version: 11
OS: Windows

This is actually a bug with https://github.com/OpenAPITools/openapi-generator/ and I will fix it with a custom pom.mustache on my end.


Rewrite easymock response path

I want to use variable in config.json to rewrite calls.
Lets say I have some id = 1234
Then if I access localhost:3000/mock_data/someRequest.do, easymock would look for response in 1234 folder like mock_data/1234/someRequest.do_get.json instead.
This is how I thought this should work but it does not
{
  "variables": {
    "id": "1234"
  },
  "proxy": {
    "server": "http://localhost:3000/mock_data",
    "default": true,
    "calls": {
      "mock_data/#{id}": true
    }
  }
}

What exactly does default property and calls boolean value true in that example do?

You should be able to use regex inside the calls. #{id} won't work.
This feature is not documented but was added here: https://github.com/CyberAgent/node-easymock/commit/791410fd93ac75f6ae82b3fc27ab2c43609fd700
Will probably have to document this at some point.
As well to your information, proxy is only needed if you actually want to forward it to somewhere else. I think using localhost:3000 there shows you might be doing something wrong (but maybe there is a good reason for it, that would be interesting to hear).
Best is probably to turn off the proxy config default: false and no calls. And setup the routes of the mock server like this:
    {
      .....,
      "routes": [
        "/mock_data/:id/someRequest.do"
      ]
    }

I hope this solves your problem. If not, please reopen the issue.

For some reason this configuration you described does not work, it responses with the same path file.

Reading through your post again I am not 100% sure what you are trying to do.
GET localhost:3000/mock_data/doRequest.do should return the file mock_data/1234/doRequest.do_get.json ?
Why does the 1234 have to be added in there?
Wouldn't it be good enough if GET localhost:3000/mock_data/1234/doRequest.do would return /mock_data/id/doRequest.do_get.json?
Normally what one wants is to have routes like /user/{id} that the always return the same file so you do not have to create 1000 files.
Or maybe I am totally misunderstanding you.

This is my full setup
C:\project\config.json
{
  "variables": {
    "id": "1234"
  },
  "routes": [
    "/mock_data/:id/someRequest.do"
  ]
}

C:\project\mock_data\1234\someRequest.do_get.json
["haha"]

Running easymock in C:\project

Opening url in browser http://localhost:3000/mock_data/someRequest.do

LOGS
Request: GET /mock_data/someRequest.do
==> C:\project//mock_data/someRequest.do_get.json

Opening url in browser http://localhost:3000/mock_data/1234/someRequest.do

LOGS
Request: GET /mock_data/1234/someRequest.do
==> C:\project//mock_data/id/someRequest.do_get.json

Opening url in browser http://localhost:3000/someRequest.do

LOGS
Request: GET /someRequest.do
==> C:\project//someRequest.do_get.json

I on the other hand have to create 1000 files :D
For every user id I want to return totally different configuration.
This user id is in my application set via some request as session and this mock server should somehow remember it. I was thinking like creating custom responses for certain users to test different scenarios. So for every user there is a folder with id as folder name with all request responses. Now to test this user I just change variable id in config.json and get responses for that user.

Opening url in browser http://localhost:3000/mock_data/1234/someRequest.do

LOGS
Request: GET /mock_data/1234/someRequest.do
==> C:\project//mock_data/id/someRequest.do_get.json

This shows the normal use case. Int his case the file would be as mentioned in the logs: C:\project//mock_data/id/someRequest.do_get.json. And no matter if 1234 or anything else, it will always be that file.

But if you want different responses for every id, then you really do have to create each file. Then you can remove the route and create the files with the id in the path like C:\project//mock_data/1234/someRequest.do_get.json.

Yes I created file C:\project//mock_data/1234/someRequest.do_get.json but how can I get it with call localhost:3000/mock_data/someReqest.do

The question is, why do you even need to be able to get it through that call? One easy way though would be by creating that file and redirecting the call like this:
C:\project//mock_data/someRequest.do_get.json
< @status 302
< @header Location: http://localhost:3000/mock_data/1234/someRequest.do

Yeah that is exactly what I need. This solution actually solves two needs

gives me ability to configure responses for different users
gives me ability to configure responses independent of user

Thanks!


how to override css

Hi - maybe I'm not understanding the concept of the variant, but if I pass a variant with my class, say .myclass and then include the default css for featherlight, then my own css, I can't override things without an !important statement, or without matching the media query to the css plus overriding the :last-of-type, :first-of-type stuff, which I don't want to do.
For example, featherlight's rule for the background color is:
@media all
.featherlight {
  background: rgba(0,0,0.8);
}

and my desired CSS is
.myvariant {
  background: green;
}

Is there an easier way to get this working?

AFAIK, media query do not add any specificity, so both rules you wrote have the same weight. If your variant comes after, if should override the previous one.
You could consider using .featherlight.myvariant if you don't want to care about ordering?

How do we tell featherlight to use certain css class for the design/background?


[layer] Attention support for different key value

This patch adds support for different values of key and value to
be given to the attention layer.
Corresponding unittests are also added.
Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1613. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.


remove 22kb readme, use link instead

Simple change, makes the unpacked size half of what it currently is while still having a link to the readme, which at 32,659,277 (rounding to 33) means this could save on the order of 0.6TB of internet traffic per week (34.4TB yearly).

Hi, looks nice but I can't find any documentation on this. What is readme-link?

Sorry, I should have probably explained, it's simply a text file with a link to the readme, it's not any kind of standard, just a file that isn't any variant of actual readme files. This is a highly unimportant PR, but it's also so simple I thought it would be worth doing anyway.
For context I was looking through the expressjs 5.0 release, looking at the changes, found this library and saw the number of weekly downloads, did some napkin maths and made these changes, I'll be honest, I didn't put a great deal of thought into it other than wanting to keep a versioned readme link in the package, while reducing the size

Ah I see, yeah unfortunately that's not really feasible since the readme must be available on NPM for them to display it.
Thank you though!


Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
Object.attach (/Users/jgrimes/.atom/packages/error-status/lib/error-status.coffee:36:26)

duplicate of #10


add a script to generate a cert to connect datastudio

I rule and have completed some work on Case Manager that's ready for review!
we're planning on doing some reporting from google datastudio, and connecting psql as a datasource requires generating a cert. This performs the appropriate handshakes etc.
This pull request makes the following changes:

add a script and instructions to generate the cert

no view changes
It relates to the following issue #s:

Bumps #634

For reviewer:

Adjust the title to explain what it does for the notification email to the listserv.
Tag this PR:

feature if it contains a feature, fix, or similar. This is anything that contains a user-facing fix in some way, such as frontend changes, alterations to backend behavior, or bug fixes.
dependencies if it contains library upgrades or similar. This is anything that upgrades any dependency, such as a Gemfile update or npm package upgrade.

If it contains neither, no need to tag this PR.

godmode, non prod facing


Difference between deployment and continuous-deployment?

Is the release branch still used, or do we manually deploy from main?

I moved it to manual build and deploy in #68 so we can just deploy from main. Could you add rules to the repo so that every PR needs to be reviewed?


Team Drive?

Is it possibile to download torrent to a Team Drive instead of the main Drive?

I have never used Team Drive but according to this stackoverflow question you should be able to use by changing save path to
params = {"save_path": "/content/drive/Team Drives/AndSoOn.../"}

if that doesn't work (it won't probably because of this) maybe you can try:
params = {"save_path": "/content/drive/Shared drives/AndSoOn.../"}

Closing issue because of 15 days of inactivity.