KAFKA-3144: Report members with no assigned partitions in ConsumerGroupCommand

This PR makes a couple of enhancements to the --describe option of ConsumerGroupCommand:

Listing members with no assigned partitions.
Showing the member id along with the owner of each partition (owner is supposed to be the logical application id and all members in the same group are supposed to set the same owner).

Note: The third request on the corresponding JIRA (listing group active offsets for groups with no members for the new consumer) is not implemented as part of this PR.
I suggest moving that into a separate JIRA as it seems to be a more involved change and potentially requires making changes to the server side too.

@junrao Would appreciate your input on this pull request.

@junrao Thank you for your feedback. The PR was updated to address your comments.

@vahidhashemian I'm wondering about approaches for testing this patch. One possibility is to parse the output in the test case and build assertions off from that. Another option might be to decouple the command logic from the print logic so that you can build test cases using a convenient object representation. What do you think?

@junrao @hachikuji Thank you very much for your careful review and feedback. I made some changes in the new patch based on the feedback received.
@junrao The only part that is outstanding in addressing your feedback is your comment about how to find members with no topic partition. I responded to your comment and will wait for your clarification as I may be missing something.
@hachikuji Both approaches you suggested for designing unit tests for this patch should work. Parsing the output and writing assertions based on that would be faster but probably not the cleaner option, in my opinion. Separating the logic from reporting seems more reasonable to me but it would require more time and thinking. I can take either direction once I here your (and others') feedback about it.

@vahidhashemian Yeah, I agree that separating the logic would make testing easier. It's more painful now, but making the code more testable would probably pay off in the long run. I wonder if we could introduce a simple trait to encapsulate the output writing. For example:
trait OutputWriter {
  def printError(msg)
  def printAssignmentHeader()
  def printAssignment(topic, partition, memberId,.... etc)
}

Then we could test the command using a mock implementation. Anyway, if the level of effort to get some basic coverage using this or another pattern is not too high, I'd suggest we do it here. Otherwise, we could create a followup JIRA.

@hachikuji Thanks for your suggestion on how to go about separating the logic. I'll give it a try and let you know how it goes.

@hachikuji I've spent some time on this and it seems to involve restructuring of the code to some extent (assuming I haven't over-complicated things). So I'm wondering whether we should keep the changes simpler and do this work and unit tests in separate work items.

@vahidhashemian Either way works for me. I don't think there's any particular hurry to get this patch in since it will probably go in 0.10.1, so if restructuring the code seems like a good idea, I'm probably slightly in favor of doing it here so we don't forget about it later. That said, I know it can be painful to fill in some of these testing gaps (they're gaps because testing wasn't easy!), so if @junrao is OK with it, then doing it separately seems fine to me.

@hachikuji Sounds good. I'm okay both ways and will wait for @junrao's feedback.
Regarding the unit tests, I'm trying to wrap my head around how to write them with proper mocking. You can see here how I've made changes to the last patch so the OutputWriter trait that you suggested is used. The issue now is I don't see clearly how to write the unit tests with mocking (for example, for --describe the main functionality is inside the protected describeGroup() method). This tells me perhaps further restructuring is required to make the command properly mockable, but I wanted to ask your opinion before heading down that road. Thanks.

@hachikuji I restructured ConsumerGroupCommand.scala a little bit for testing purposes according to your suggestion and added a number of unit tests. I would appreciate your feedback.

@hachikuji This in another pending PR that conflicts with changes required for KAFKA-3853, and would be great if we can finalize it soon. Thanks.

@hachikuji  Thanks for the thorough feedback. I hope I addressed all of them in the recent update.

@hachikuji Thanks for another round of reviews. The PR is updated to address your comments.

Thanks @hachikuji. Made those changes.

@junrao The patch is updated to include coordinator info when --new-consumer is used. Since the group column and the new coordinator column report redundant information I modified the output of --new-consumer option to
Note: This will only show information about consumers that use the new consumer API (non-ZooKeeper-based consumers).

Consumer group: cgroup1
Consumer group coordinator broker id: 0

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        MEMBER-ID                                          MEMBER-HOST                    CLIENT-ID
bar                            0          234             234             0          consumer-1-a0d7940a-c90a-40df-b995-64d2e104bbb6    /<IP_ADDRESS>                     consumer-1

The ZooKeeper based output will not print the coordinator line above.
Your feedback is appreciated.

@hachikuji Thanks for the thorough feedback. I hope I was able to address your comments in the recent patch.

@hachikuji I submitted another update taking into account your comments. Thanks again for the thorough reviews and constructive feedback.

@hachikuji I had one more crack at this. If you spot any more potential improvements please let me know. Thanks.

Just did some cleanup of variable names based on the recent member id to consumer id renaming.

LGTM. Really appreciate the effort on this PR. It's a huge contribution when you can not only add functionality, but improve the testability of the code.

Thanks @hachikuji for your feedback along the way. Very much appreciated.


buildFHSEnv: fixup /etc permissions

Description of changes
when bubblewraps tries to link all the required files in etc from the host to the fhs environment, it will re-create the /etc directory. It will do so with 0700 permissions. This causes permissions issues with non-root programs when they need to access configuration in the environment /etc.
By mounting /etc as a tmpfs early, bwrap will make the directory 0755 as expected.
cc @bjornfor @Atemu (couldn't find maintainers for buildFHSEnv but you made/merged changes recently)
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

demo:
with import <nixpkgs> {};

buildFHSEnv {
  name = "demo";
  targetPkgs = pkgs: [
    pkgs.bash
  ];
}

before:
$ result/bin/demo -c 'stat /etc' | grep Uid
Access: (0700/drwx------)  Uid: ( 1000)   Gid: ( 1000)

after:
$ result/bin/demo -c 'stat /etc' | grep Uid
Access: (0755/drwxr-xr-x)  Uid: ( 1000)   Gid: ( 1000)


React Training | Fix: ES Lint Issue & Warning

See issues:

#590
#591

@nileshgulia1 can you review this whenever you are free?


sdlDialogStyle attrs

Hi,
It seems like sdlDialogStyle is not defined anymore as an attribute. How would you customize for example the title color ?
Thanks.

Hi,
according to Material Design Specification, items like the title color should not be changed. Some items like the button color are set to colorAccent. Why do you need different title color?

Hi,
I was just wondering what is the way now to customize the theme of the
Dialogs. If it's all taken from the colorAccent (colorPrimary and
colorPrimaryDark) that's fine.
Thanks.
On Wed, Feb 4, 2015 at 3:44 AM, David Vavra<EMAIL_ADDRESS>wrote:

Hi,
according to Material Design Specification
http://www.google.com/design/spec/components/dialogs.html, items like
the title color should not be changed. Some items like the button color are
set to colorAccent. Why do you need different title color?
—
Reply to this email directly or view it on GitHub
https://github.com/avast/android-styled-dialogs/issues/98#issuecomment-72810444
.

Yes it's taken from the main theme, no library-specific attributes.


GDScript: property setters do not work with curried lambda functions

Godot version
v4.0.beta9.official [e780dc332]
System information
Windows 11
Issue description
As per the docs we can assign a function directly to a property setter:
var my_prop := 1.0:
	set = my_setter

Also the docs suggest that this can be used to "share the code across multiple properties". However this does not work with currying and lambda functions (see example in Steps to reproduce).
The reported error is:

Parse Error: Expected end of statement after property declaration, found "(" instead.

Steps to reproduce
Example code with the issue:
var prop: float:
	set = set_float_prop(&"prop")

func set_float_prop(param: StringName):
	return func (value: float):
		self[param] = value

Minimal reproduction project
N/A

share the code across multiple properties

This just means that you can assign the same function to multiple properties (although not sure how does that work).
Looks like setter expects a method identifier, not a true callable. Which means you can't use Callable(...) either.

Also the docs suggest that this can be used to "share the code across multiple properties".

The sentence in the docs is a bit confusing. At the moment, you can share the same setter/getter between multiple properties, but have no way of distinguishing which property it's being called on. See:

godotengine/godot-proposals#6750
#76665

As for argument binding, this is difficult to implement, see https://github.com/godotengine/godot-proposals/issues/6750#issuecomment-1528480656:

Binding arbitrary arguments sounds useful, but it's probably complex to implement. Functions are not Callables, they just create Callables at runtime when referenced. So to properly call the setter/getter with binds those would need to be stored in the script and passed as arguments at runtime. If you want non-constant values it becomes more difficult because it would need to store expressions to be executed when calling. I don't think this is worth the hassle.

I suggest closing the issue, as this is not a bug, but an intentional limitation for performance reasons. There are already several proposals related to the problem.


Display helpfuller err msg on malformed ship JSON

During GCI, lots of students will probably make lots of new ships, which will be broken in lots of not-so-original ways. With this PR merged in, the error displayed then might at least hint some of them what's wrong with their ships.

Hooray Jenkins reported success with all tests good!


[Bug]: SERVICE_PASSWORD_ID not working as documented

Error Message and Logs
I have a private Github repo with a docker-compose file. It has an env var with the following value:
    environment:
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESPASSWORD}

When I register this repo as a resource with the buildpack set to docker-compose, I see this on the env UI:

It does not automatically generate a password as documented here: https://coolify.io/docs/knowledge-base/docker/compose
Steps to Reproduce

Create a github repo
Add a docker-compose with envs that use the password service
Add to Coolify as resource
View envs panel

Example Repository URL
No response
Coolify Version
v4.0.0-beta.360
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
Ubuntu 24.04.1 LTS
Additional Information
No response

Related #2470

i believe the issue here, is compose from a repo do not have their env set, only from a template


Fix: allow Keycloak table input to be editable

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


STRatingControl not wroking properly when we add it on tableview cell

Hi,
when i add it on Tableview cell then it not working as expected . i mean when we  try to tap on any star it doesn't change the star values only working on floating .

Hi,
The reason why it's may not working, it's because ScrollView of TableView has higher priority of gesture or touch. This rules apply for all controls in TableViewCell. Will be useful if you can share your source code.
Thanks!

Closing because of lack of activity.


Issues on Windows... looks to be path related

Hi,
If I push a basic Mosquitto container on Windows I get the error...
rdt push failed. Error: Error while starting container mosquitto: Error: (HTTP code 500) server error - create \mnt\data\resin-data\mosquitto: volume name invalid: "\mnt\data\resin-data\mosquitto" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed
The same Dockerfile works on Linux and on Bash for Windows.
Also the rdt flash command doesn't work as it can't find the image.  I presume this is the same problem.
Thanks, Simon

@firecube rdt has not been tested on the standard Windows cmd shell and the Windows environment in general is not thoroughly tested unfortunately. However, let us know on issues you hit on Bash for Windows which presumably is closer to the shell environment that rdt requires

Everything works for me on bash for Windows apart from the flash as currently access to removal media is not enabled.


Hovering over a jewel in the jewel combobox should only display the impact of that jewel on the current slot

Right now, if you play a build with a large number of jewels (like 7+ or so), when you hover the mouse over a jewel inside the jewel combobox, PoB shows the impact of that jewel on every single jewel slot. This is unnecessary, other than being distracting (why would you care about all the other slots when you're specifically clicking on one slot?) it also make it impossible to see the impact of the jewel on later slots because the text is too long and got cut off (see screenshot below).
When you hover over a jewel in a combobox this way, it should only display the impact of that jewel on the current slot.

Wanted to bump this, does the commit from @Wires77 fix this? Can it be merged?


Tidy up old Content & Alert run database content

@ldodds I'm happy to split this into 2 prs if it would make reviewing easier?

@iant happy to do this in 1 PR so just flag when you're ready for next review

think this one might be ready for another review @ldodds thanks


x/sys/unix: Missing AT_EACCESS on non-Linux Unix systems

What version of Go are you using (go version)?

$ go version
go version go1.20.2 darwin/amd64
$ tail -n 1 go.mod
require golang.org/x/sys v0.6.0

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mk/Library/Caches/go-build"
GOENV="/Users/mk/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/mk/.local/share/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/mk/.local/share/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.20.2/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.20.2/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.20.2"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7l/56csh9n54g503487v94kb2pm0000gp/T/go-build1532737799=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
https://go.dev/play/p/yqd7iBRFmEV
package main

import (
	"fmt"

	"golang.org/x/sys/unix"
)

func main() {
	err := unix.Faccessat(unix.AT_FDCWD, "/bin/sh", unix.X_OK, unix.AT_EACCESS)
	fmt.Println(err)
}

What did you expect to see?
Program to run and (most likely) print <nil>.
What did you see instead?
Compilation error:
$ go run access.go
# command-line-arguments
./access.go:10:66: undefined: unix.AT_EACCESS

Comment
AT_EACCESS is specified by the POSIX standard, in the fcntl.h header; used by the faccessat syscall.
If the latter syscall is exposed, I don't see any reason why the AT_EACCESS constant is not provided (unless somehow a system does not provide it, but Darwin and BSDs do).
Looking through the source code of the x/sys/unix package however, AT_EACCESS seems to only be available on Linux.
Workaround
I can workaround the issue by using CGo and manually poking at fcntl.h.
package main

import (
	"fmt"

	"golang.org/x/sys/unix"
)

// #include <fcntl.h>
import "C"

func main() {
	err := unix.Faccessat(unix.AT_FDCWD, "/bin/sh", unix.X_OK, C.AT_EACCESS)
	fmt.Println(err)
}

$ go run access.go
<nil>

I think this is just missing.  Want to send a patch?

Made a PR: https://github.com/golang/sys/pull/153


memcpy() is a bit crazy indeed

writev() is used instead to keep to atomic nature of the write() while avoiding the memcpy().

write() is now called directly with syscall() to simplify and speed things up

Forget about it, my patch is all buggy:

not thread safe
the return value includes the bytes of the coloring strings
breaks when writev() returns less bytes written than requested (which happens when a signal arrived during the write())

Just have the iov variable on the stack.
But then you need to take care of
" breaks when writev() returns less bytes written than requested (which happens when a signal arrived during the write())"
Thats a bigger issue

Isn't this one addressing these problems properly? https://github.com/sickill/stderred/pull/6/files
iovec is on the stack and code is handling return value.

The handling of the return value is incorrect:
else if (written <= STDERR_COLOR_SIZE)
     return 0;

What if 2 bytes have been written ? Garbage has been printed, while pretending nothing happened. On the next write(), The full thing will be printed again.
written -= STDERR_COLOR_SIZE;
return written >= count ? count : written;

Apart from the bug where COL_RESET_SIZE is not subtracted from the number of bytes,
There is another issue:
Pretend you called write(2, buffer, 10000); and writev() returns 5000.
 The output will be red.
I believe you need to loop until the whole thing is done (or keep a color state of the terminal, so that you know if you need to switch the text color).
In both cases, to be complete, you would need to synchronize threads so that their output is not interleaved, otherwise you may have things incorrectly colored:

COL_RESET is now being substracted. I'll think more about the other issues.


Model as array

Hey,
I've been looking around for a way to use this with a model that is an array of objects, eg.
model: [
   { name: '' },
   { name: 'asd' },
   ...
]

Any feedback would be appreciated!
Cheers!

Have you find a way to do this @guzmo ?


Support all kind of data type (like uuid) of User.id on Pyramid

Support all kind of data type (like uuid) of User.id on Pyramid

Thanks!


Web3Modal example

Hello! Thank you for great job! Do you use it for real project? Do you have example with web3modal or something else?

Hey! Sorry for the late response. I currently do not have any projects using this, although some are in development. Are you interested in an integration with Web3Modal? If so, I may have to do some research before getting back to you.
Thanks for your interest!

I have real project using Next.js, wagmi and rainbowkit. And that is great toolkit, but I like svelte more than react, so I cant find something like rainbowkit or web3modal for svelte with wagmi. If you will be create some toolkit for real project, thats will be super.

So I did some snooping around, and there seems to already be an example of using Web3Modal with Svelte. If you have anything specific you're looking for, feel free to ask, but as of current I see dimishing returns in creating a Svelte-specific library. (Web3Modal uses web components, which are universal.)
I will close this for now, but will continue looking into the possibility of a Svelte RainbowKit.


Need to specify type of lacking disks

api returns internal server error

ays log
[Sun12 11:53] - ays_api.py          :555 :j.atyourservice.server         - ERROR    - Error during execution of the blueprint:
 Not enough available ssd disks on node 0cc47a740636
Traceback (most recent call last):
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/server/ays_api.py", line 541, in executeBlueprint
    message=message)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/AtYourServiceRepo.py", line 495, in blueprintExecute
    msg = await bp.load(role=role, instance=instance, context=context)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Blueprint.py", line 154, in load
    await actor.asyncServiceCreate(instance=bpinstance, args=args, context=context)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Actor.py", line 533, in asyncServiceCreate
    service = await Service.init_from_actor(aysrepo=self.aysrepo, actor=self, name=instance, args=args, context=context)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Service.py", line 35, in init_from_actor
    raise e
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Service.py", line 28, in init_from_actor
    await self._initFromActor(actor=actor, args=args, name=name, context=context)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Service.py", line 144, in _initFromActor
    await self.init(context=context)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Service.py", line 677, in init
    await job.executeInProcess()
  File "uvloop/future.pyx", line 241, in __await__ (uvloop/loop.c:110832)
  File "uvloop/future.pyx", line 432, in uvloop.loop.BaseTask._fast_wakeup (uvloop/loop.c:114026)
  File "uvloop/future.pyx", line 101, in uvloop.loop.BaseFuture._result_impl (uvloop/loop.c:108946)
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/tmp/actions/storagecluster.object/1d1545a84ff15bc53f0f2828b4c7f2eb.py", line 335, in init
    datadisks, metadisks = storagecluster_sal.get_disks(data_available_disks, meta_available_disks)
  File "/usr/local/lib/python3.5/dist-packages/zeroos/orchestrator/sal/StorageCluster.py", line 118, in get_disks
    datadisks = self._get_disks_from_map(diskmap[self.data_disk_type], data_disks_per_node, self.data_disk_type)
  File "/usr/local/lib/python3.5/dist-packages/zeroos/orchestrator/sal/StorageCluster.py", line 127, in _get_disks_from_map
    raise ValueError("Not enough available {} disks on node {}".format(disktype, node))
ValueError: Not enough available ssd disks on node 0cc47a740636


Firebase Guide Wiki and angular 2

Now that the project has been updated to Angular 2, is the guide 'How to integrate Firebase across all platforms' still valid or it needs to be updated?
Thanks in advanced.

@govi2010 This wiki is now updated to reflect latest:
https://github.com/NathanWalker/angular-seed-advanced/wiki/How-to-integrate-Firebase-across-all-platforms-(web-nativescript-desktop)


PFS HTTP server should serve up CORS header

Right now files served by the PFS HTTP server can't be consumed by web apps (including the dashboard) because there is no cross-origin response (CORS) header set. This should be set to accept requests from all domains (*)

@gabrielgrant I think this might be fixed by now, is that correct?

Not as far as I know, though would certainly appreciate if it were, to be able to improve dash file loading perf (for the same reason discussed in #3791 -- I believe right now all displayed file content comes via GRPC and transits through JS before being rendered :grimacing: ; the HTTP server only provides content for "raw" view and file downloads)

The long-term goal is to phase out this service (#3791), so closing this out


Feature/identifiers

Add abstraction and swagger extensions to support the usage Strongly Typed identifiers in the code base and public API

Do we need to add anything to /workflows?


add xresources file

The xresources file can be useful for people who want to use the predawn colors on a linux based terminal.

Awesome! Thanks for adding this.


Tests fail with --no-default-features [published memchr 2.3.2]

Just hit this doing various linux-vendor side testing. It's probably not important, but it would be nice to be able to ensure this crate works in this configuration.

cargo +stable test --no-default-features
error[E0433]: failed to resolve: maybe a missing crate `std`?
 --> src/tests/mod.rs:1:5
  |
1 | use std::iter::repeat;
  |     ^^^ maybe a missing crate `std`?

error: cannot find macro `eprintln` in this scope
 --> src/tests/mod.rs:9:5
  |
9 |     eprintln!("LITTLE ENDIAN");
  |     ^^^^^^^^

error[E0433]: failed to resolve: use of undeclared type or module `Vec`
   --> src/tests/iter.rs:167:27
    |
167 |     let mut found_front = Vec::new();
    |                           ^^^ use of undeclared type or module `Vec`

error[E0433]: failed to resolve: use of undeclared type or module `Vec`
   --> src/tests/iter.rs:168:26
    |
168 |     let mut found_back = Vec::new();
    |                          ^^^ use of undeclared type or module `Vec`

error[E0433]: failed to resolve: use of undeclared type or module `Box`
   --> src/tests/iter.rs:201:5
    |
201 |     Box::new(it)
    |     ^^^ use of undeclared type or module `Box`

error[E0433]: failed to resolve: use of undeclared type or module `Box`
   --> src/tests/iter.rs:214:5
    |
214 |     Box::new(it)
    |     ^^^ use of undeclared type or module `Box`

error[E0433]: failed to resolve: use of undeclared type or module `Box`
   --> src/tests/iter.rs:228:5
    |
228 |     Box::new(it)
    |     ^^^ use of undeclared type or module `Box`

error[E0433]: failed to resolve: use of undeclared type or module `Vec`
  --> src/tests/mod.rs:20:21
   |
20 |     let mut tests = Vec::new();
   |                     ^^^ use of undeclared type or module `Vec`

error[E0433]: failed to resolve: use of undeclared type or module `Vec`
   --> src/tests/mod.rs:295:24
    |
295 |         let mut more = Vec::new();
    |                        ^^^ use of undeclared type or module `Vec`

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:52:27
   |
52 |         needle: u8, data: Vec<u8>, take_side: Vec<bool>
   |                           ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:52:47
   |
52 |         needle: u8, data: Vec<u8>, take_side: Vec<bool>
   |                                               ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:66:41
   |
66 |         needle1: u8, needle2: u8, data: Vec<u8>, take_side: Vec<bool>
   |                                         ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:66:61
   |
66 |         needle1: u8, needle2: u8, data: Vec<u8>, take_side: Vec<bool>
   |                                                             ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:81:15
   |
81 |         data: Vec<u8>, take_side: Vec<bool>
   |               ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:81:35
   |
81 |         data: Vec<u8>, take_side: Vec<bool>
   |                                   ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/iter.rs:97:30
   |
97 |     fn qc_memchr1_iter(data: Vec<u8>) -> bool {
   |                              ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:103:34
    |
103 |     fn qc_memchr1_rev_iter(data: Vec<u8>) -> bool {
    |                                  ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:109:30
    |
109 |     fn qc_memchr2_iter(data: Vec<u8>) -> bool {
    |                              ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:116:34
    |
116 |     fn qc_memchr2_rev_iter(data: Vec<u8>) -> bool {
    |                                  ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:123:30
    |
123 |     fn qc_memchr3_iter(data: Vec<u8>) -> bool {
    |                              ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:131:34
    |
131 |     fn qc_memchr3_rev_iter(data: Vec<u8>) -> bool {
    |                                  ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:139:40
    |
139 |     fn qc_memchr1_iter_size_hint(data: Vec<u8>) -> bool {
    |                                        ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/iter.rs:162:58
    |
162 | fn double_ended_take<I, J>(mut iter: I, take_side: J) -> Vec<I::Item>
    |                                                          ^^^ not found in this scope

error[E0412]: cannot find type `Box` in this scope
   --> src/tests/iter.rs:195:6
    |
195 | ) -> Box<dyn DoubleEndedIterator<Item = usize> + 'a> {
    |      ^^^ not found in this scope

error[E0412]: cannot find type `Box` in this scope
   --> src/tests/iter.rs:208:6
    |
208 | ) -> Box<dyn DoubleEndedIterator<Item = usize> + 'a> {
    |      ^^^ not found in this scope

error[E0412]: cannot find type `Box` in this scope
   --> src/tests/iter.rs:222:6
    |
222 | ) -> Box<dyn DoubleEndedIterator<Item = usize> + 'a> {
    |      ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/memchr.rs:92:49
   |
92 |     fn qc_memchr1_matches_naive(n1: u8, corpus: Vec<u8>) -> bool {
   |                                                 ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/memchr.rs:98:57
   |
98 |     fn qc_memchr2_matches_naive(n1: u8, n2: u8, corpus: Vec<u8>) -> bool {
   |                                                         ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/memchr.rs:106:17
    |
106 |         corpus: Vec<u8>
    |                 ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/memchr.rs:113:50
    |
113 |     fn qc_memrchr1_matches_naive(n1: u8, corpus: Vec<u8>) -> bool {
    |                                                  ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/memchr.rs:119:58
    |
119 |     fn qc_memrchr2_matches_naive(n1: u8, n2: u8, corpus: Vec<u8>) -> bool {
    |                                                          ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/memchr.rs:127:17
    |
127 |         corpus: Vec<u8>
    |                 ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
  --> src/tests/mod.rs:19:22
   |
19 | fn memchr_tests() -> Vec<MemchrTest> {
   |                      ^^^ not found in this scope

error[E0412]: cannot find type `String` in this scope
   --> src/tests/mod.rs:144:13
    |
144 |     corpus: String,
    |             ^^^^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:152:14
    |
152 |     needles: Vec<u8>,
    |              ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:154:16
    |
154 |     positions: Vec<usize>,
    |                ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:276:26
    |
276 |             it.collect::<Vec<usize>>(),
    |                          ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:278:63
    |
278 |             self.needles.iter().map(|&b| b as char).collect::<Vec<char>>(),
    |                                                               ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:294:25
    |
294 |     fn expand(&self) -> Vec<MemchrTest> {
    |                         ^^^ not found in this scope

error[E0412]: cannot find type `String` in this scope
   --> src/tests/mod.rs:300:33
    |
300 |             let mut new_corpus: String = repeat('%').take(i).collect();
    |                                 ^^^^^^ not found in this scope

error[E0425]: cannot find function `repeat` in this scope
   --> src/tests/mod.rs:300:42
    |
300 |             let mut new_corpus: String = repeat('%').take(i).collect();
    |                                          ^^^^^^ not found in this scope
    |
help: possible candidate is found in another module, you can import it into scope
    |
1   | use core::iter::repeat;
    |

error[E0412]: cannot find type `String` in this scope
   --> src/tests/mod.rs:309:26
    |
309 |             let padding: String = repeat('%').take(i).collect();
    |                          ^^^^^^ not found in this scope

error[E0425]: cannot find function `repeat` in this scope
   --> src/tests/mod.rs:309:35
    |
309 |             let padding: String = repeat('%').take(i).collect();
    |                                   ^^^^^^ not found in this scope
    |
help: possible candidate is found in another module, you can import it into scope
    |
1   | use core::iter::repeat;
    |

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:330:47
    |
330 |     fn needles(&self, count: usize) -> Option<Vec<u8>> {
    |                                               ^^^ not found in this scope

error[E0412]: cannot find type `Vec` in this scope
   --> src/tests/mod.rs:348:57
    |
348 |     fn positions(&self, align: usize, reverse: bool) -> Vec<usize> {
    |                                                         ^^^ not found in this scope

error[E0599]: no method named `to_string` found for type `&'static str` in the current scope
  --> src/tests/mod.rs:28:36
   |
28 |             corpus: statict.corpus.to_string(),
   |                                    ^^^^^^^^^ method not found in `&'static str`
   |
   = help: items from traits can only be used if the trait is in scope
   = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
           `use alloc::string::ToString;`

error: aborting due to 46 previous errors

Some errors have detailed explanations: E0412, E0425, E0433, E0599.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `memchr`.

To learn more, run the command again with --verbose.

but it would be nice

Indeed, it would be nice. But it would require rewriting the entire test suite such that it doesn't use std. Doesn't seem feasible or desirable to me. Why do you want this?
The current behavior seems correct. I could potentially be swayed to just not run tests at all when std isn't enabled, but having a loud failure seems nicer in some respects.

Just to me, given that this is a documented and supported configuration
So ideally one wants a way to make sure the supported configuration works as intended, before people wind up using it.
Just as-is, the tests failing suggest its an unsupported configuration.
I'm not going to be belligerent on this, as presently it seems there is little demand for this. Just it seems like the overall quality would be better if this configuration could be generically tested in some regard.

but having a loud failure seems nicer in some respects.

I'm guessing the preference of failure over success here may also be a desire to not just "make the tests silently go away", leading to false impressions that the usecases the tests cover could work.
This is something that has slightly annoyed me, the inability for the test output to self-document the "why" for #[ignore].
But would it be worth my time to submit a PR to #[cfg_attr(...,ignore)] or otherwise #[cfg(...)] these tests back into a "usable" state for this configuration?


Update native_cctools and clang dependencies

Rolls in earlier commits to minimize conflicts, as well. Helps with #2321.
Would be good to have manual checks on non-Ubuntu platforms (Mac)

This needs gitian checks

Let's validate this PR https://github.com/dogecoin/dogecoin/pull/2333 so I can test it locally!

This is on the long running test server now.

Not running on Gitian MacOS:
CMake Error at CMakeLists.txt:3 (cmake_minimum_required):
  CMake 3.4.3 or higher is required.  You are running version <IP_ADDRESS>

Trying this fix based on Bitcoin native_ctools
https://github.com/rnicoll/dogecoin/compare/1.14.4-native_cctools...micaelmalta:1.14.4-native_cctools?expand=1

https://github.com/rnicoll/dogecoin/compare/1.14.4-native_cctools...micaelmalta:1.14.4-native_cctools?expand=1
Edit: Seems to be an issue with Gitian Trusty suite. Upgrading descriptor to Focal (Following Bitcoin descriptors) - If it s the case, a separate PR will be created just with Gitian Upgrade

The problem with that fix is that the minimum osx version gets updated to 10.14 - I think that's too much for a minor software update.

Do we know if there's a lower clang version that will work for Focal and has less of an OS X requirement jump?

It has been upgraded to Cmake 3.4.3 on Clang 3.9. The only upgrade would be Clang 3.8

So are we basically in a position where supporting Focal means we have to change OS X release? Did we need Focal for GitHub Actions or was it desirable? Trying to find a path forward.

So are we basically in a position where supporting Focal means we have to change OS X release? Did we need Focal for GitHub Actions or was it desirable? Trying to find a path forward.

I have yet no solution to do it in focal without the SDK update. If we can't do that, we have to look into alternatives:
The only card we can play here is to take a step back and use bionic for 1.14, keep using focal for 1.21 - which seems to work for CI, but I'm not 100% sure about gitian, yet.

removed from 1.14.4 target milestone - hopefully we can move away from trusty gitian builds with 1.14.5 and then this becomes relevant again.


A few questions about Chromecast

Hello! First of all, I wanna say "Thanks" for the good project. I easily added Chromecast support (as a new feature) to my UWP app "Cast to".
But I'm very new to Chromecast API and have a few questions; maybe you can help me to save time for research :)
First, do you know, how to provide a media orientation to Chromecast (portrait or landscape) for pictures and videos? Looks like Chromecast don't care about EXIF data in media, and don't have any corresponding metadata. I don't want to touch pictures and videos on the W10 device (phone or desktop)...
Also, currently I'm using your controller implementation, SharpCasterDemoController. It works fine but I'd like to change an app name. I registered my account at Google's chromecast page, paid $5, created app and got id. So, if I do
_controller.ApplicationId = _myAppId;
will it work if my app in unpublished state? Google don't provide a way to register UWP apps :( BTW, how did you registered "SharpCaster Demo", as a web app? Could you describe all steps please.
And third: I'm able to cast pics and videos to my Chromecast (tested from the desktop, will test on phone) but image/video loading takes a long time (not too long but much longer than casting to DLNA device). I do have my own http server, and it works pretty good for DLNA but not for Chromecast. Could you provide some tips or advises (I didn't "dig" hard for now - i.e. didn't analyze traffic).
Thanks a lot!

Nice to hear you found a good use for this library.

Media orientation
I think it might only support landscape pictures out of the box. If you want portrait support you would have to write custom receiver with JS to handle the portrait video.

Changing app name
Create a new class and copy & paste this class into it https://github.com/Tapanila/SharpCaster/blob/master/SharpCaster/Controllers/SharpCasterDemoController.cs and change the appID on bottom and name of it.

Registering your chromecast application
Just go here and follow instructions how to register for styled media receiver.
https://developers.google.com/cast/docs/registration

Loading times are long
Haven't looked into this part that much since I have always had different team handling chromecast playback on the server side. The chromecast is basically a browser, so if you can get the load times to be quick with a browser you should be able to achieve similar experience on chromecast.

Thanks a lot for the great and clear answers, Teemu! I'm really appreciate that!
Could you please extend a little (great, if you have an example) #1 for me? What is the custom receiver, how to deploy it to Chromecast (by using your library)? Sorry for the stupid questions but my work with Chromecast begun from your code (I tried a few projects but your code started working out of box), not from the Google's API references :) I know, it's a bad practice but I need to use Chromecast (actually, not me but some of my customers - I'm pretty happy with DLNA renderers) as a simple media renderer.

You know, I checked some Android apps and they show pics/videos much-much faster :( Probably these apps are using "Remote Display" API https://developers.google.com/cast/docs/remote ?
Do you know any UWP/C# implementation/port of this API?
MediaChannel.LoadMedia is working pretty slow, I have about 5-7 seconds delays (with black screen) between pictures. mp4 videos are also playing with delays :( And I'm 100% sure it's not a bug/delay in my HTTP server code 'cause casting to DLNA is working pretty nice. Any suggestions?

I haven't seen any ports (node, java or C#) of Remote Display API.
Most of the application that has good chromecast support is because of a combination of client (phone, browser) and chromecast client combination. So writing a good chromecast receiver can make the experience way better. Like if your videos are short you should start pre-loading a new one while old one is still playing same with pictures if you want to do slideshows.
I haven't personally done any advanced chromecast receiver application development so can't really help there.

My client (UWP app) is also a server, no external sites involved. I'm playing/showing local media only via HTTP server (I'm using Peter Waher's implementation)
Your advise for media pre-loading doesn't fit my app architecture (please take a look to the app's screenshots in my first post): I have a media page with thumbnails, user tap on pic/video, and should see it on big screen TV (it's very intuitive). Of course I have a slideshow mode, but looks like I have a different issue - videos are also playing with delays (but on DLNA very smoothly). But maybe HTTP server I'm using has some issues with Cromecast.
I'll create a simple test app for slideshow with medias on external and internal HTTP servers, and tell you a results.

OK, I created a very simple UWP slideshow program, easy to build and test, you may download it from here. Could you please take a look? I added modified Peter's code; unfortunately hes code have a bug/feature, I already submitted patch but looks like he forgot to modify sources and build new NuGet package). Also, don't be afraid of archive size, it's just a content :) Source code is straight forward a pretty simple, just a few lines of code.
By the way, this test app shows the same behavior on casting to Chromecast as my real app, "Cast to" i.e. big delays between loading pictures and gaps and glitches playing mp4 video (on slide #8).
I especially created a simple HTML/JS built-in web app to test image loading performance. As expected, it works pretty good, you may try it by yourself (run UWP app, on second PC open browser and type http://<IP_ADDRESS>/slideshow to run app or just http://<IP_ADDRESS>/1.jpg or http://<IP_ADDRESS>/8.mp4 ; of course replace <IP_ADDRESS> by real IP address of PC where UWP app is running).
So, could you please teach me or show me, how to improve Chromecast performance? It usually plays external mp4's (even "heave", big ones, Full HD) very well but not from my apps :(

Hi Teemu, could you add something to my post? It's a showstopper for me now, I can't release an update with so buggy app behavior :(
You looks as an expert in Chromecast, and I hope, you can provide some useful advises for me.

Sorry for a slow response. I don't currently have much time to spend on this project and all of that is going to refactoring. After I land that one I will be able to support with other stuff. Sorry for the inconvenience

CastMessage.patch.txt
OK, I found a resolution at least for the one issue. It looks like Chromecast is a damn slow in downscaling images! According to the docs,

Images have a display size limitation of 720p (1280x720). Images should be optimized to 1280x720 or less to avoid scaling down on the receiver device.

Hmm, 720p on 4K TV... Google, you should be kidding! By the way, I've added code to downscale and rotate images and now (at least for slideshow) huge delays are gone.
Teemu, AFAIK, Google also have Chromecast Ultra in stock. Do you know, how to detect/determine Chromecast model and what is the optimal images resolution for Ultra?
P.S. I found strange glitch in the code on project running on W10M arm, on the phone. Sometime (but not all the time!) this code
dynamic stuff = JsonConvert.DeserializeObject(PayloadUtf8);
return stuff.type;

throws an exception. I created small patch for you, to get rid of JsonConvert and dynamic for parsing type in message.

Thanks for the small patch and good job on noticing the downscaling issues with chromecast.
The discovery part of current implementation doesn't expose the information of Chromecast device. I have code for it ready on Refactoring branch. But haven't looked at what value is chromecast ultra returning so will need to check it and then document it.

Hi @sensboston,
your sample about Slideshow is very intersting, but it's for fixed Folder @slideshow or we could set this folder dynamic? For exemple those images can be taken from Open picker and we re-write index.html accordingly? Please give some ideas, thanks.

@hieuvn, I've added hardcoded folder with the images just for demo purposes (to work everywhere). Of course you can use file picker/custom view with image selections - whatever you want. You may check my app called "Cast to" in the Microsoft Store.
The only thing you need to provide is correct handling of HTTP GET request for your images.

You need to provide a new video file via HTTP server before calling await _controller.LoadMedia(GetLocalAddress() + newFileName + "?nocache=" + _rnd.Next(int.MaxValue).ToString(), mediaFile.ContentType, metadata);
                        StorageFile mediaFile = mediaItem.File;

                        HttpFolderResource.FileList.Clear();
                        HttpFolderResource.FileList.Add(mediaFile);

                        if (_resource != null) _httpServer.Unregister(_resource);
                        _resource = new HttpFolderResource("", Path.GetDirectoryName(mediaFile.Path), false, false, true, true);
                        _httpServer.Register(_resource);

P.S. Sorry, I just did a copy&paste from my working code but probably you've got an idea.

thanks @sensboston , i don't use Waher HTTP server, but a custom HttpServer:
_httpServer=new HttpServer(LocalPort)
_httpServer.StartServer();
and after i pass storagefile parameter as below:
_httpServer.filemp4=mediafile;
i will try your code when i'm at home and let you know.

@sensboston, you are the best! i got it working now.
the magic line was:  newFileName + "?nocache=" + _rnd.Next(int.MaxValue).ToString()
thanks again.

Anyone care to share some code for local media play back in UWP?
I'm using an embedded web server but I cannot get the media to play
  SimpleHTTPServer myServer = new SimpleHTTPServer(@"C:\Users\deery\Desktop\Movies\The Pagemaster (1994) [1080p]");             HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create("http://localhost:" + myServer.Port.ToString() + "/The.Pagemaster.1994.1080p.BluRay.x264.YIFY.mp4");             request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
` using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
var track = new Track
{
Name = "English Subtitle",
TrackId = 100,
Type = "TEXT",
SubType = "captions",
Language = "en-US",
TrackContentId = response.ResponseUri.ToString()
            };

            IMetadata data = new MovieMediaMetadata();
            data.title = "test";
            data.metadataType = Models.Enums.MetadataTypeEnum.MOVIE;

            await _controller.LoadMedia(response.ResponseUri.ToString() + "?nocache=" + rnd.Next(int.MaxValue).ToString(),
                response.ContentType, data, "BUFFERED", 0D, null, new[] { track }, new[] { 100 });

        }`


Flood Fill Algorithm

Overview

Write code for Flood Fill Algorithm in C++.
Add that code into a directory named "Graphs", if the directory doesn't exist, create one and add the code file.

Please take care of these things while creating the pull request.

The code file was added to the correct directory.
Code quality looks good.
The programming language used is the same as mentioned in the issue.

Hello, I am new to open source and would like to learn more about it. So could you please assign it to me.

Hey, I can contribute the complete C++ code , with comments
The whole code will be neat and self explanatory
Please assign me this , Thanks !

I have already made a pull request for the above issue.

Hello, how do we link a pull request to the issue assigned to us. I have already made a pull request for above issue.


x/tools/godoc: firefox source highlighting issue

Tracking bug on our side for fixing issue brought up in https://github.com/webcompat/web-bugs/issues/17530
/cc @ysmolsky

Hmm .. isn't this a godoc issue ? The URL is from golang.org/src rather than play.golang.org.

Found it. Dup of https://github.com/golang/go/issues/23500. This seems to be a bug with FF. We should re-open that bug and close this if we are to track this.

Closing this once since @kevinburke wants to take a crack at it and the original issue was re-opened.


Please help me fix these problems because I have been looking for a solution for several days and I can't find them.

Describe your problem here.
C:\HaxeToolkit\haxe\std/haxe/macro/Compiler.hx:492: character 24 : Too many arguments
C:\HaxeToolkit\haxe\std/haxe/macro/Compiler.hx:493: lines 493-495 : haxe.macro.Expr should be Void
C:\HaxeToolkit\haxe\std/haxe/macro/Compiler.hx:498: characters 11-13 : haxe.macro.Expr should be Void
C:/HaxeToolkit/haxe/lib/openfl/9,3,4/src/openfl/utils/_internal/AssetsMacro.hx:71: characters 12-13 : Too many arguments
C:/HaxeToolkit/haxe/lib/openfl/9,3,4/src/openfl/utils/_internal/AssetsMacro.hx:101: characters 19-29 : Too many arguments
C:/HaxeToolkit/haxe/lib/openfl/9,3,4/src/openfl/utils/_internal/AssetsMacro.hx:224: character 23 : Too many arguments
C:/HaxeToolkit/haxe/lib/openfl/9,3,4/src/openfl/utils/_internal/AssetsMacro.hx:232: characters 19-20 : Too many arguments
C:/HaxeToolkit/haxe/lib/openfl/9,3,4/src/openfl/utils/_internal/AssetsMacro.hx:329: character 29 : Too many arguments
C:/HaxeToolkit/haxe/lib/openfl/9,3,4/src/openfl/utils/_internal/AssetsMacro.hx:402: character 31 : Too many arguments
source/Main.hx:28: character 1 : Build failure
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

I've downloaded that and now it says:
source/TitleState.hx:32: characters 1-7 : Expected . or ; or as

right, thank you so much!


handle errors more friendly

When check multiple names and an error happening, the output is just error and all other useful results are missed.
So can we handle the errors more friendly ? Maybe hint and skip the error name and then check the latter names continuously ?

This seems simple enough. I can take this up.

Related: https://github.com/sindresorhus/presentable-error


Added Things, Fixed Things

Added Pet Skin (omg so fast)
Added Parents for Titanium Talisman, Ring and Artifact
Added Req for Titanium Artifact
Added Wiki Links
"Fixed" Hoe's

fast as frick

fast as frick


RNA seq output file docs

Hi,
I'm new to RNA seq and have some questions about the RNA seq output files. Is there any documentation available describing what's in the different outputs. E.g. I wonder about the difference between the ready.bam file and transriptome.bam. It seems that ready.bam is generated by STAR and transcriptome.bam by SAILFISH?
Thanks!

Hi @lindakohn,
Thanks, sorry the output isn't clear, both of those are created by STAR. The ready.bam file are the alignments to the whole genome with STAR and the transcriptome.bam is just to the transcriptome. There are some downstream tools that need the transcriptome-only alignments so we generate those. For most experiments you'll be fine looking at the combined.counts file in the final/your-project directory and starting your analysis from there. We have a package bcbio.rnaseq that you can use to summarize the results of the bcbio-nextgen run and generate a report with QC information and a preliminary analysis with DESeq2 automatically. We then load that report up into R and use it as a starting point for performing an analysis.

Hi again!
Can you get count info on how many reads that span introns? i.e. get splicing info..
Linda

Hi @lindakohn,
We recommend using the sailfish transcript-level counts and use those as input to limma, (see section 18.2) to look at differential transcript expression. We also produce a file in the final directory that has counts that can be used as input to DEXSeq. Other people might have other suggestions but those are the two we most commonly use.

Linda is a colleague of mine (she has gone home for the day I believe). I think what she after is a way to look at transcripts that, with certainty, have been spliced.

Hi @lindakohn
hope this helped you to get to the information you needed, if not feel free to coma back and we will happy to figure out something.
thanks


Additional check of privacy.useGravatar for gh-profile-image component

closes #8612

added a check for privacy.useGravatar flag (simply useGravatar on client side)
checked: tests are OK

Coverage increased (+0.01%) to 73.116% when pulling 3a2c320e17645983bcc198c952f58a5a03d0fb06 on letsjustfixit:client-honour-usegravatar into 3ff999e4aca2df29b5bef8668dbbf203e697dffe on TryGhost:master.

Hey @letsjustfixit, your code worked, thanks(!) but when reviewing it I realised the gh-profile-image code in general had got into quite a state so I've pushed another commit that fixes/improves things in general:

we had a CP with side-effects 🤢

replace CP with basic properties that can be set within the component
use didReceiveAttrs and ember-concurrency to debounce changes to the email property and make the functionality easier to reason about

fix the broken fade-in animation when the avatar changes
fix tests - .to.be.blank was always returning true, replaced with to.be.empty which caused the tests to fail properly then replaced them with the expectations for the actual values

There's still a fair bit of refactoring that can be done here but for a component that's only seen once for the life of the blog it's probably not worth doing 😬 One thing that is still left is to remove the usage of jquery-file-upload (issue here) which should now be simpler with the gh-uploader component that was added recently.

Coverage remained the same at 73.105% when pulling 94ea8debfb608a4516a4d13366bf76f0fcc8312a on letsjustfixit:client-honour-usegravatar into 3ff999e4aca2df29b5bef8668dbbf203e697dffe on TryGhost:master.


fix(list): not working correctly when list item is used as a button

Based on our selector for mat-list-item, we allow it to be a button, however we don't do the necessary resets for it to be usable.
For reference:

Hello, what about this PR? I want to have a logout button at the bottom of my mat-nav-list.


Why my  code is not show emoji

emoji not show

emoji is not showing in android app

emoji is not showing in android app

Can you please post a screenshot and device details.
Thanks


Fix misalignement of select (again) on japanese

Coverage remained the same at 39.537% when pulling dc13e5127647534782ad27084896fd8fd28afaca on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.537% when pulling 0721ea4d3308cf71497e9691e148443343377c23 on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.537% when pulling f57b09f0e6a8c9baccc6ccfa5fa78a209fab88bf on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.537% when pulling 6efd98a8ba0cc75cf98e15eac859fb5116b173ea on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.537% when pulling 6efd98a8ba0cc75cf98e15eac859fb5116b173ea on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.537% when pulling 6efd98a8ba0cc75cf98e15eac859fb5116b173ea on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.537% when pulling 6efd98a8ba0cc75cf98e15eac859fb5116b173ea on select-misalignement into 0ebbf433f55dd338f307878ea4b0ebbbd11d8581 on dev.

Coverage remained the same at 39.622% when pulling 06bd3aad32ce87f40d4be918c66424c2c1f92b36 on select-misalignement into 35d4eb9ca81ad49b606cc3d5b0e049b92b89eb7c on dev.


Develop signup in account.js

Currently, only registered users from the old website can login and the current signup function is very dry bones.
Goal:
The signup method should allow users to create an account via the form or any of the supplied social sign up methods.
To reach this the following needs to happen:

Develop the database methods needed for the local signup through the form
Develop a method that will allow one of the social signup's to work
Revamp the social signup method to accept all social signups (Google, Twitter, Facebook, and steam).

This has been completed for a while now... It was deployed in December, 2017 while I was on winter break.
closing.


Correct typo in README.md

Thank you very much your contribution and pointing out typos.
I had some additional adaptations that's why I put it in another PR .


Version 0.1

Initial release, containing interop interfaces.
Added

Interop interfaces;
Interface tests.

@mecha, one last look please before release.

LGTM 👌


#23 add faq page

FAQ Page

@mrmrcoleman @gauravgahlot whey you have time, can you help review this PR? thanks

@ronggur Will do

@mrmrcoleman Thanks Sir

@ronggur Added some changes.

@mrmrcoleman ok Sir, I squash the commit

I fixed the link for PBnJ. Should be done now.

@mrmrcoleman commit squashed Sir

Hey @ronggur I approved the changes. Please double check the content and then feel free to merge.


GPGkeys: subkeys are not imported/used

Gitea version (or commit ref): 1.13.0
Git version: 2.25.1
Operating system: Ubuntu 20.04
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes

https://try.gitea.io/torsteintest/test/commit/dcfd271a2e0e9740cd562cf238421f8f63847025
https://github.com/Eideen/test1/commits/master

[ ] No
[ ] Not relevant

Log gist:

Description
If you add subkey to a master GPG keyring, the subkey is not picked up by Gitea, this give error "WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS."
To comparison Github correctly sees all keys.
gpg --list-secret-keys --keyid-format LONG
/home/torstein/.gnupg/pubring.kbx
---------------------------------
sec   rsa4096/44196C77FBD6EF95 2020-07-02 [SC] [utgår: 2025-07-01]
      DD88FD4E5E767E7BF8414CF444196C77FBD6EF95
uid                [  fullst.] Torstein Eide (github<EMAIL_ADDRESS>uid                [  fullst.] alt <work mail>
uid                [  fullst.] alt3<EMAIL_ADDRESS>ssb   rsa4096/29351BDD6590C2C3 2020-07-02 [E] [utgår: 2025-07-01]
ssb   rsa4096/2A457BC93D9A1F44 2020-07-03 [S]
ssb   rsa4096/AF31EBDABBF1C86B 2020-07-03 [E]

Hmm I was sure I'd fixed this recently...
When did you add that key to the database?
I'll take another look though

I test adding the before and after adding doing the commit.

Interesting when I add this key on my local testing service this works.

That is the key obtained from https://github.com/Eideen.gpg

Interesting when I add this key on my local testing service this works.

I have test now with master, and 12.1 on my local service, and i get the same result.  where is maked as SUSPICIOUS.
Is there any other settings related PGP?

That is the key obtained from https://github.com/Eideen.gpg

that key is correct.

Have you set the email address as per the key?

The user has to have the email address of at least one of the key's email addresses listed as theirs.

In that given that that key only has<EMAIL_ADDRESS>as an email address you must add that as at least a secondary email address to the user.

I test it again with a new key and only using one email.
I work if the main key.
/home/torstein/.gnupg/pubring.kbx
---------------------------------
sec   rsa4096/51BB0AFBAA3C45CC 2020-07-05 [SC]
      E19FF5319D2076A7792BCC4751BB0AFBAA3C45CC
uid                [  fullst.] Torstein Eide<EMAIL_ADDRESS>ssb   rsa4096/07869FDB3DB88711 2020-07-05 [E]

but when i add a new ssb key it gives error
/home/torstein/.gnupg/pubring.kbx
---------------------------------
sec   rsa4096/51BB0AFBAA3C45CC 2020-07-05 [SC]
      E19FF5319D2076A7792BCC4751BB0AFBAA3C45CC
uid                [  fullst.] Torstein Eide<EMAIL_ADDRESS>
rsa4096/07869FDB3DB88711 2020-07-05 [E]
ssb   rsa4096/1CF209566DC957DE 2020-07-05 [S] [utgår: 2071-01-08]

An example would be useful - if only so I can test this.

An example would be useful - if only so I can test this.

https://try.gitea.io/torsteintest/test2/commits/branch/master

The key attached to https://try.gitea.io/torsteintest.gpg still has the<EMAIL_ADDRESS>email address

public key for second test
https://pastebin.com/uQa9jsH4

OK I've replicated.

Figured it out - the problem is that the email checking is attached to the primary key not the subkey.


Improve logging and add healthcheck endpoint including RabbitMQ and FTP

Codecov Report

Merging #10 into master will decrease coverage by 3.75%.
The diff coverage is 34.04%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   73.77%   70.02%   -3.76%
==========================================
  Files          12       12
  Lines         450      497      +47
==========================================
+ Hits          332      348      +16
- Misses        118      149      +31

Impacted Files
Coverage Δ

app/settings.py
100% <100%> (ø)
:arrow_up:

app/main.py
47.78% <29.54%> (-11.64%)
:arrow_down:

Continue to review full report at Codecov.

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

 [SEFT] Consumer Service - Enhancements (5)

Think we need some more unit testing as the codecov has reduced with extra stuff being added.

The .coverage file needs to be added to .gitignore, and removed from this PR


Python SKLearn predictor as Flask app

need to convert the existing Python SKLearn predictor pipeline into a flask app
Input: predictors
Output: predicted PC scores

Closing this issue, as it makes more sense to do as a separate repository. https://github.com/anderson-cu-bioastronautics/footmodel_api


Unresolved declaration file for vue3-simple-icons.mjs

Hello!
It seems that I've found an issue when importing the library in a new Vue + Vite project. Seems that in the package.json there's no export of types for the node_modules/vue3-simple-icons/dist/vue3-simple-icons.mjs file.
The only thing missing is the types entry under the exports in the package.json as below:
"exports": {
    ".": {
      "import": "./dist/vue3-simple-icons.mjs",
      "require": "./dist/vue3-simple-icons.umd.js",
      "types": "./dist/types/main.d.ts"
    }
  }

This solves the issue and typescript can import types correctly, feel free to ask for a PR on this.
Thank you! :beers:

Thx!. I will push this fix later. It will not be released till Sunday.

No problem, thanks!

@Tbaile this should be fixed in 11.0.0


Support operations upon multiple pages of search results (Add to Album)

Not to be snarky, but is this project entering abandonware state?  Progress on the project seems to have completely halted after its initial burst of feature release.
Anyways, is there a way to perform bulk operations on all pages of paginated search results?  E.g. I search for a keyword that returns 30 pages of results, and I'd like to be able to move all 30 pages of images to an album.

Thanks for the prompt reply, and good luck on settling in!

I've added an option to add search results to an album. Tools > Search Results > Add search results to Album. You must have a active query or filter to do this (you can't add all images to an album)


Derandomize std.algorithm

So it turns out that using a random seed leads to "interesting" effects. One example is that our coverage report jumps randomly up & down.
Don't believe me? Check it out for yourself:
https://codecov.io/gh/dlang/phobos/compare/77f1a9067b59395f8444cb2d01047680aebcfe5f...f2b58341725a6d195b388c1b6f31dcdaa9f000f7/changes
https://codecov.io/gh/dlang/phobos/compare/22331db571d874ba44e412777ed8310536a18dff...89e4014e3d89c7de4d2e2c50eca7924e465ff062/changes
https://codecov.io/gh/dlang/phobos/compare/86050a1c59eda327fa263549f0b53e56a4cfa9ed...2749175ceb24e4b780725677b7e233f65e4f791c/changes
https://codecov.io/gh/dlang/phobos/compare/77f1a9067b59395f8444cb2d01047680aebcfe5f...2e05f29d3c4cc7690198c3ad0d06eb23293da48a/changes
...
(endless list)
I think it's quite reasonable to fix the random test to a constant value, s.t. we know what parts are actually covered and if needed add tests for the uncovered bits.
Note that there's also floppy line in std.parallelism, but that one might be harder to get.
edit: for std.parallelism we should probably have a look at this https://github.com/dlang/phobos/pull/4399

Hmmm... there's good advantage to randomized unittesting, we don't want to give that up. How about non-random tests that ensure coverage and then a randomized unittest? Would that be difficult?

How about non-random tests that ensure coverage and then a randomized unittest? Would that be difficult?

So here's what I did:

run coverage and save as before.lst
comment all random tests in sorting.d
run coverage and save as after.lst
LOOP:
diff both .lst files and search for uncovered bits
add assert(0) in the uncovered bit to find the regarding test
print out the seed and add to the list of pre-defined seeds
continue LOOP until no coverage difference is found

88.629% (+0.007%) compared to 0fef09a

Seems like it worked :)

From a practical position, I don't like random unit tests, because there can be weird interactions (e.g. some PR fails for totally unrelated random unit test failure, cannot repeat it).
However, I agree random testing has good benefits. I would propose that we have true random testing, but not part of unit tests. Make it a separate testing system, such that random failures generate alerts (probably posts to mailing list), with enough info to add the failures as non-random tests. But they aren't creating spurious failures for PR testing. Something to think about, probably not a quick solution.
In a previous life I wrote problem sets for topcoder and also tested other's problem sets. One thing I would do frequently is generate tons of random data to see if I could cause my solution or the other solutions to fail. If I found a test case that caused failure, then I would add it as a non-random test case for the testing phase of the competition (the hypothesis being that if one of our solutions got caught by some corner case exposed by the random data, someone else might too). During the actual competition, all solutions were run against the exact same test cases to judge whether they were correct or not. So the results are objective, even if they might have been incomplete. Such a stance is well founded.

Yah, printing the seed along with indications on how to set it to repro is essential. BTW at best we should have a systematic approach (one global seed, one easy way to set etc) instead of each unittest doing its own.

From a practical position, I don't like random unit tests, because there can be weird interactions (e.g. some PR fails for totally unrelated random unit test failure, cannot repeat it).

You can scratch the "can be weird interactions" - just have a look at the CodeCov CI project status of a recent PR - it's moving "randomly" ;-)

While we are at it, could you please change them to print the seed when the tests fail for reproducibility?
Yah, printing the seed along with indications on how to set it to repro is essential. BTW at best we should have a systematic approach (one global seed, one easy way to set etc) instead of each unittest doing its own.

Could we please go step by step?
While having a common seeding mechanism in Phobos would be nice, (1) I would prefer not to have them in the first place, (2) the other randomized tests seem to test not such complicated algorithms, (3) it's a design decision decision (e.g. mixin failsafeSeed, runInSeededEnv, shared seed, ...) that blocks this PR unnecessarily, (4) my interest is atm primarily in fixing the random "red cross" for PRs rather soon than later and this PR is hopefully a first step towards it.

BTW at best we should have a systematic approach (one global seed, one easy way to set etc) instead of each unittest doing its own.

Careful here, I think if you are having a random test, you need the seed printed before each test, not one global seed. Otherwise, other factors (which modules are included, which ones test random data, etc) can affect whether the seed is set correctly at the time of the test. If you just mean there needs to be a standardized way to set the seed for an individual test, yes, that is ideal.
Yes, fix the issue that is causing random PR failures first, and then maybe we can have a bigger discussion on random testing elsewhere.

Fair enough – lgtm, feel free to merge after fixing the broken indentation.
..
Yes, fix the issue that is causing random PR failures first,

Done, but a PR needs to be approved via an GH review otherwise merging is blocked.
If you want, you could give the new "auto-merge-squash" label a try ;-)

I didn't realise one couldn't green-light their own PR's.

This is a rather new change due to us trying to catching up with the improvements GH makes ;-)
If case you haven't seen this summary, it might be interesting as well:
<EMAIL_ADDRESS>(or summarized as Wiki entry: https://wiki.dlang.org/Guidelines_for_maintainers)

Thanks @wilzbach this is terrific work.

@schveiguy well unless there's randomization in the order of running unittests, we can set things up so one seed sets up an entire test battery. At any rate please let's not print random numbers with every successful run :).
Agreed on taking the discussion to a higher level, maybe you could lead it. Thanks!

At any rate please let's not print random numbers with every successful run

Right, I was thinking only printing after a failure, but I meant you need to look at the seed for the specific test (and store it before running the test), not once for the beginning of all unit tests.

Huh?

@andralex could you please have a look? (and maybe for the other repos as well)

Auto-merge toggled on

Auto-merge toggled on

The labelled PRs still don't have priority on the auto-tester. Hence I went for the faster option and squashed manually.

Alright, squash merges should be on now. Thanks for your diligence!


Provide a dist that is compatible with browsers

This package is used as a dependency in https://github.com/ipfs/js-ipfs-api. It claims to be able to run in the browser but in fact, it does not because this package is using the node-only 'fs' library.
Is it possible to create a dist and inline the 'merkledag.proto' at compile time?

This is already being done. If you install from npm there is a dist/index.js file which has everything inlined and should be ready for browser consumption.

Great! But for that to be considered by npm you'd have to change the "main" entry in the package.json to "dist/index.js".

You can require it using ipfs-merkle-dag/dist. We won't set it as main because that is being used by node.js and browserify and webpack to load the non bundled version for processing as a default.

Ah OK, makes sense! Thanks

Let us know if you run into any other obstacle :) Closing this one, reopen if needed.


Remove unwrap()s from all functions called by FeedRacer::update()

Have removed nearly all. Anything else will be a specific bug.

Have removed nearly all. Anything else will be a specific bug.


Add "Data permissions" subsection to "Model"

See: https://casbin.org/docs/en/overview#comment-5283453205
We have two solutions for data permissions (filtering):

https://casbin.org/docs/en/rbac#how-to-query-implicit-roles-or-permissions
https://casbin.org/docs/en/management-api#batchenforce

Hi. I was wondering how to add a subsection. It seems that every markdown file in the /doc starts with
---
id: XXXXX
title: XXXXX
---

and don't include the section information.

@Oyyko subsection is a page.

@hsluoyz  I am sorry that I did't express myself clearly. You know, there are many .md files in /doc and, let's say, if I add DataPermissions.md in /doc as a subsection, then how can the website know which section it belongs to? For example, on the website casbin the overview page belongs to section "The Basic". So how can I assign the new page DataPermissions.md to "Model"?

@Oyyko see: https://github.com/casbin/casbin-website/blob/master/website/sidebars.json


libtins library has no INTERFACE_INCLUDE_DIRECTORIES target property.

Describe the bug
libtins library has no INTERFACE_INCLUDE_DIRECTORIES target property. When only link to tins (Note only), I can not #include <tins/tins.h> . I found in libtinsTargets-debug.cmake and libtinsTargets-release.cmake that there is no INTERFACE_INCLUDE_DIRECTORIES target property. I manually add INTERFACE_INCLUDE_DIRECTORIES "${LIBTINS_INCLUDE_DIRS}" in set_target_properties(tins PROPERTIES ..., then it works ok.

Environment

OS: Windows
Compiler: whatever

To Reproduce
Steps to reproduce the behavior:

./vcpkg install libtins  (version: 4.3#6 newest)
cmake code, Note: only link to tins

find_package(libtins CONFIG REQUIRED GLOBAL)
add_executable(app1 app1.cpp)
target_link_libraries(app1 PRIVATE tins)

in `app1.cpp1

#include <tins/tins.h>

int main(int argc, char const *argv[])
{
    return 0;
}

Configure and build, then the error shows fatal error: 'tins/tins.h' file not found.

@jimwang118 就是自动生成的 libtinsTargets-debug.cmake 和 libtinsTargets-release.cmake 里，目标 tins的属性缺少 INTERFACE_INCLUDE_DIRECTORIES


Sound while eating

Add sound effect while rhino is eating.

new branch created: issue-1-sound_while_eating

implemented and merged


Add TravisCI to repository

@DavidOry just pinging you on this. @i-am-sijia and I do not have the rights to add it.
Thx!

Working now.


Show pennant information

Both on the results list and on the crew details page. For mobile layout, will probably hide on the results list. Will obviously need to be added to the data model as well - perhaps give some thought as to how these are added - should probably be referential integrity.
Maybe a Competition has 0 to many 'Awards' (terminology?), and then a Crew also has 0 to many Awards. An Award would probably have things like:

Id
Name

In order to calculate Masters handicaps, awards will need to know if they're a Masters Pennant, so going to need a boolean to take account of that.

Do we care about linking up previous instances of an award? Not sure.

Not going to link up previous instances initially.
It's obviously another view that we could deploy at some point, filtering results by award.

Closing in favour of #63


does the TFLite model allow batching?

I am using the TF Lite checkpoint
https://github.com/kahst/BirdNET-Analyzer/raw/main/checkpoints/V2.4/BirdNET_GLOBAL_6K_V2.4_Model_FP16.tflite
it seems I cannot pass batched samples, as passing any np array shape other than [1,144000] results in the model complaining the sample shape is not the expected shape. Is there an alternative approach to batching? Or does this model not support batching? (It's likely I'm simply using the model wrong)
set-up code, abbreviated
model_path = "https://github.com/kahst/BirdNET-Analyzer/raw/main/checkpoints/V2.4/BirdNET_GLOBAL_6K_V2.4_Model_FP16.tflite"
network = tflite.Interpreter(
    model_path=model_path, num_threads=1
)
network.allocate_tensors()

# ...load some audio into a 2d np array...
sample = ... #2d np array, shape [2,144000]

input_details = network.get_input_details()[0]
output_details = network.get_output_details()[0]
embedding_idx = output_details["index"] - 1

attempt to call the network on batched samples fails
network.set_tensor(
    input_details["index"], np.float32(sample)
)
network.invoke()
logits = network.get_tensor(output_details["index"])
embeddings = self.network.get_tensor(embedding_idx)

error:
File [~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:720](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:720), in Interpreter.set_tensor(self, tensor_index, value)
    [704](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:704) def set_tensor(self, tensor_index, value):
    [705](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:705)   """Sets the value of the input tensor.
    [706](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:706)
    [707](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:707)   Note this copies data in `value`.
   (...)
    [718](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:718)     ValueError: If the interpreter could not set the tensor.
    [719](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:719)   """
--> [720](https://vscode-remote+ssh-002dremote-002bsnow.vscode-resource.vscode-cdn.net/home/sml161/nb_opso/model_zoo/~/miniconda3/envs/opso_tf_cuda/lib/python3.9/site-packages/tensorflow/lite/python/interpreter.py:720)   self._interpreter.SetTensor(tensor_index, value)

ValueError: Cannot set tensor: Dimension mismatch. Got 2 but expected 1 for dimension 0 of input 0.

calling network with batch size=1 works (sample.shape=[1,144000])
sample = np.float32(audio[0])[np.newaxis, :] #shape [1,144000]
network.set_tensor(
    input_details["index"], sample
)
network.invoke()
logits = network.get_tensor(output_details["index"])
embeddings = self.network.get_tensor(embedding_idx)

Batching is possible, please have a look at our code, to see how we resize the input according to the batch size.

I can't tell how the input is shaped from that code. I've tried all of these shapes and none are valid:
[1, 2,144000]
[2,1,144000]
[2,144000]
[1, 144000, 2]
the only shape that works is [1,144000]

You have to resize the input tensor to your batchsize using resize_tensor_input have a look at the documentation and our code.

Thank you, I have it working now. As a PyTorch user, it didn't occur to me that I would need to modify the model before passing batched samples.


Stats Assert during shutdown

[2021-02-26 21:40:03.581][237396][critical][assert] [external/envoy/source/common/stats/symbol_table_impl.cc:194] assert failure: numSymbols() == 0.
This happens with istio-proxy master which uses 54c74450e82a3767a677ebe5406e88f0d045fb4b Envoy sha.
I am testing some Wasm filters that are unrelated to Stats.


Change the default extension to cap instead of pcap

Change the default extension of the rotate files to cap instead of pcap in order to be compatible with the file extension restrictions of DWPA.

Done. I think we need extension pcap no longer.
I did this only to  distinguish between wlandump-ng and hcxdumptool.


[WIP] Introduce Nyaplot.load_notebook

This PR introduces Nyaplot.load_notebook method to initialize Nyaplot environment on a notebook.
To introduce it, automatic initialization is removed.
JavaScript files such as d3.min.js are embedded inline in default.
If you want to use them on CDN, call Nyaplot.load_notebook(:cdn).
I don't think it is ready to merge currently because the following ugly message is displayed.

I think you can just add a nil at the end of the method so that it won't return anything and nothing will print.

Ok.  I'll try that way.

I've fixed the ugly output.
Currently load_notebook returns true if it succeeds.


Ensure that ScheduledExecutorService are cleaned-up on shutdown

Ensure that the ScheduledExecutorService objects used by the Postgres DAOs are correctly cleaned-up on shutdown.
It is generally well-advised to ensure that any ExecutorServices that are created by an application are shutdown properly as the application exits. Otherwise any ExecutorService instances that are left running may stay alive and prevent the JVM from exiting cleanly, requiring a SIGKILL to fully shutdown the process. The Postgres DAO implementations do not do this and this PR addresses that.
Pull Request type

[x] Bugfix
[ ] Feature
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes (Please run ./gradlew generateLock saveLock to refresh dependencies)
[ ] WHOSUSING.md
[ ] Other (please describe):

Changes in this PR
The Postgres implementations of ExecutionDAO, MetadataDAO and QueueDAO are now uniformly retaining references to any ScheduledExecutorServices that they construct and initialize and ensure that those are cleaned up appropriately on shutdown.
The shutdown procedure itself has been modelled on the implementation in com.netflix.conductor.es7.dao.index.ElasticSearchRestDAOV7#shutdownExecutorService.
Alternatives considered
None.

@v1r3n - thank you for reviewing and approving. Could you please merge as I don't have write access to do so.


My snails were determined to stay still

I got a x0 determination multiplier.

The one after that was a x1 muliplier... :P


TypeScript definition fixes

Fix export structure
Getters may return undefined
Add data members

Thanks for your improvements @andersk!


image with text embedded within article in confusing way (by blogging platform Ghost)

The general issue here is images that contain textual content can be confused with the actual text content of a scholarly blog post. I see this as a deeper issue of aesthetics vs function, which in turn is part of an even deeper issue of the priorities of blog posters vs priorities of scholarly writers. Blog posts tend to optimize for aesthetic: be pretty. Whereas scholarly articles, say on PubMed Central optimize for function: communicate the facts clearly, be unambiguous, even if less visually appealing.
The webpage
https://blog.front-matter.io/posts/improved-pdf-formatted-rogue-scholar-blog-posts/
is an example. The image
https://blog.front-matter.io/content/images/2024/01/Bildschirmfoto-2024-01-12-um-16.53.20.png
shows up at the start of the blog post but is confusing. Is Chris Hunter the author of the blog post? Was the blog post published on Jan 10, 2024? No, that text is from the image and the author and pub date are in the left side bar. But that's not the first impression visiting the web page, especially if one is in the mind set of reading something with the layout of a scholarly article.
Similar confusion can happen with other types of images with text in other contexts.
Should the author be responsible for tweaking the images to have a border? Should authors rely on the rendering of an article having a nice clean minimalist lack of a border, or a say a white background?
My thought is that author should not rely on assumptions about how the article images will look nice within an article that is rendered on another website. My thought is the website doing the rendering should add a big clear border around the images similar to what one sees on PubMed Central. It doesn't matter that it looks uglier. It's scholarly so it should put the function of communicating facts over aesthetics.

@castedo good points. And as you said, this is more a general issue than a specific bug. Let me think more about it. As I understand it, this is primarily about the Ghost theme the Front Matter blog uses, and how images are rendered.

Closing this as this is a valid point, but this will not be addressed for the time being.


Make the validator set restore validators' data from the chain

In current implementation of the enrollment manager, there are a problem to solve. All the problems occurs when the database crashes and a node cannot restore the data for validators
The information of validator should be stored safely so that it can be restored any time like UTXO set.
Definition of Done:

[ ] Restore data of validator set such as enrollment information and the enrolled height from the chain into the validator set table
[ ] Restore preimage data of a validator which is propagated from a validator

How to implement:

When aValidatorSet(which is being split from EnrollmentManager) is created, it can enrollment information and enrolled height from the chain.
The previously broadcast from a validator cannot restore from the chain in currently implemented code, so we must find the way to get preimages.

I suggested shutting down if the error is unrecoverable.
Now, if sqlite fails you may try to regenerate the preimage and then try to use the database again. But what guarantees do you have that you will not run into the same error as before? How many times should the node attempt to store the preimage before it gives up? If it never gives up, you risk running into an infinite loop of failed retries.
(There is an option of using error stats to trigger an alarm of sorts, in place of just shutting down. But those are unreliable too, because they use disk I/O which can fail. )
So we would need to analyze the d2sqlite bindings and see how the Exceptions are used. To find out why Exceptions can be thrown, and which errors are recoverable. In addition, the SQLite documentation needs to be consulted too.

How many times should the node attempt to store the preimage before it gives up?

There are common answers to this problem.
But even if the node cannot save the pre-image, the error isn't so critical that it would prevent it from making progression on the blockchain, is it ?

There are common answers to this problem.

It was more of a rhetorical question. There is complexity when you write code which tries to recover from errors, and that code too could have bugs and error out.
But yeah in the general case if the error is recoverable, we should try to recover.

But even if the node cannot save the pre-image, the error isn't so critical that it would prevent it from making progression on the blockchain, is it ?

I mean saving is not a critical error, indeed. But a lot of code in https://github.com/bpfkorea/agora/pull/563 logs errors and ignores those errors, there is no retry mechanism at all. Even for just getting a preimage, not just saving it. So we will have to improve this.

If DB crashed, the preimages cannot be recovered because the seed value for making preimages is also stored in DB.

If DB crashed, the preimages cannot be recovered because the seed value for making preimages is also stored in DB.

I changed the title "Make a node exit in case of not being able to sending pre-image" to "Make the validator set restore validator's data from the chain" and the description. These things are discussed in white-boarding session.

So to phrase this issue differently:
When a validator starts from a clean slate and catch up with the blockchain, it should start validating again if it is already enrolled.


after setting up tabnine i cannot use   any more for filepath completion is there any work around?

You should upload more information to reproduce.

It seems tabnine-vim's(YCM's) problem.
The auto completion plugin conflicts with manual completion(filename completion, line completion).

@Shougo is there any workaround ? i had to disable tabnine because of this

TabNine file completion unfortunately doesnt work. Or at least the directory listing is not working

for a brief second the popup is there then its closing

This looks like it could be a conflict between completion plugins. Can you provide steps to reproduce the issue?

I can't, unfortunately. I stopped using tabnine after this which was a year ago