go-zero/core/logx has log coverage problem

Describe the bug
When creating log objects manually, log overwriting problems may occur if logging is performed continuously.
To Reproduce
The following code will have a high probability of reoccurring, because it is a concurrency problem and will not occur every time.

The code is
rule := logx.DefaultRotateRule("./log/test.log", "-", 7, true)
 logger, err := logx.NewLogger("./log/test.log", rule, true)
 if err != nil {
 	panic(err)
 }
 transferLog := logx.NewWriter(logger)

 rule = logx.DefaultRotateRule("./log/alarm.log", "-", 7, true)
 logger, err = logx.NewLogger("./log/alarm.log", rule, true)
 if err != nil {
 	panic(err)
 }
 alarm := logx.NewWriter(logger)

 transferLog.Info("bbbbbbbbbbbbbbbbbbbbbbb")
 alarm.Error("aaa")

Expected behavior

There is a coverage problem in the log, and test.log does not meet expectations.
After investigation, the reason is that the manually created object encapsulates a layer of standard log library. The object pool is used in the standard log library. If the first info has not been consumed by the channel, but when recording the log for the second time, after the object Pool, the first object will be fetched, and the first object will overwrite part of the previous data.
Environments (please complete the following information):

OS: ubuntu20.04
go-zero version 1.2.1
goctl version 1.2.1

More description
Solution:
Method 1: When creating a new object, cancel the use of the buffer pool of the standard library.
go-zero/core/logx/writer.go
// NewWriter creates a new Writer with the given io.Writer.
func NewWriter(w io.Writer) Writer {
	lw := newLogWriter(log.New(w, "", flags))

	return &concreteWriter{
		infoLog:   lw,
		errorLog:  lw,
		severeLog: lw,
		slowLog:   lw,
		statLog:   lw,
		stackLog:  lw,
	}
}

// After modification
func NewWriter(lw io.WriteCloser) Writer {
	return &concreteWriter{
		infoLog:   lw,
		errorLog:  lw,
		severeLog: lw,
		slowLog:   lw,
		statLog:   lw,
		stackLog:  lw,
	}
}

Please try the latest version, v1.2.1 is not supported any more.


Refactor/reorganize agent initialization and manage actions

Impact of the new feature
WMAgent
Is your feature request related to a problem? Please describe.
Yes. This issue succeeds this one: https://github.com/dmwm/WMCore/issues/8797.
We are now moving towards running the WMAgent inside a Docker container.  In this process we have introduced a new run.sh script which drives the agent startup and initialization inside the Docker container. Previously the whole process was driven only by the manage script, and now we started to face some duplicate mechanisms in keeping track of all steps followed. Namely:

We create a subset of .init files populated by the manage script which serve to keep track the steps needed to be triggered only once at the beginning of an agent's lifetime (e.g. $INSTALL_MYSQL/.init).
At the same time we have implemented the equivalent mechanism for a set of .dockerInit  files populated by the run.sh script and serving the same purpose but from the container perspective.

The more we go in that direction the closer to a locking condition we get. Since we are now about to consider all agent actions related to the Docker container management as well, we should start thinking of  a way to unite those mechanism in a single place and avoid future complications.
There are different scenarios we need to cover. Some of them involve database refresh or complete deletion, some of them not :

Agent starts for the first time - all databases need to be populated &&  agent configuratino needs to be generated out of WMAgent.secrets file
Agent normal restart -  nothing needs to be
Agent being reconfigured through WMAgent.secrets -
Agent being reconfigured through agent config file
Agent being patched and reconfigured
Agent's resource control needs to be updated
Eventual Agent complete cleanup - both databases and job areas etc.

Here to be filled in the int flow diagram:
...

Describe the solution you'd like
Split the initialization and manage actions to be driven by different scripts.

initialization steps by run.sh
manage actions by manage.sh

The former should deal with all .init files and keeping track of the correct agent initialization flow.
The later should deal only with manage actions (e.g. talking to databases, populating tables, calling resorce control etc.), which should be called from run.sh. The communication between them both should happen only based on return codes, and the handling of errors needs to happen in run.sh and to be in sync with the established init sequence.
Describe alternatives you've considered
None
Additional context
Depends on:

https://github.com/dmwm/WMCore/issues/8797
https://github.com/dmwm/CMSKubernetes/pull/1364

Part of the following meta issue: https://github.com/dmwm/WMCore/issues/11314

I can take this ticket if @todor-ivanov or @amaltaro will not object. Please let me know.

@vkuznet , I believe it might be better to leave this one to @todor-ivanov , given that he spent many weeks working on the initial steps to deploying PyPi WMAgent in a docker container and being able to start services up. But I am fine with whatever you two decide to do.

that's fine with me if @todor-ivanov will continue this effort. I'm walking though list of possible High priority ticket which were unassigned.

Thanks @vkuznet, I am definitely going to continue on that one. This issue is a natural continuation on the basic WMAgent image creation, during which I had to struggle a lot with multiple workarounds in the agent initialization process for keeping backwards compatibility etc. Many of those we have widely discussed with @amaltaro. I have marked few very crucial points for fixing with this issue and I already have some concrete ideas, which I am eager to implement.

Ticket closed through https://github.com/dmwm/CMSKubernetes/pull/1410 and the relevant leftovers have been materialized in new issues and linked to the meta-issue: https://github.com/dmwm/WMCore/issues/11314


How can we link users to country pollinator projects?

FIT Count app users may be contributing to one of several country-based pollinator projects. On registration, they are asked if they wish to be contacted. But as far as I can see we have no way of knowing which country project they are associated with.
This means that if I want to contact all FIT Count app users who have contributed to the UK Pollinator Monitoring Scheme I have no easy way of doing so.
Do we need to add an option to the registration process so that users can say that they agree to be contacted and which project they are contributing to?
An alternative is to run a query to compare users to the location of their counts.

We already ask which country the user belongs to in the app. This tailors the UX, i.e. different species lists, habitats but this setting is only stored in the device at the moment. What we could do is to also save this choice in the website so you could then use it when contacting users or analysing the data.

Ideally we want to be able to contact all people related to the country who have given permission to be contacted, regardless of whether they have yet submitted counts, so Karolis' suggestion sounds good.

Covered under #144 and #186 - closing.


changed line 138 in medallion/init.py

Codecov Report

Merging #145 (32ac5cd) into master (ce6af93) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #145   +/-   ##
=======================================
  Coverage   94.85%   94.85%
=======================================
  Files          26       26
  Lines        2837     2837
=======================================
  Hits         2691     2691
  Misses        146      146

Impacted Files
Coverage Δ

medallion/__init__.py
88.34% <ø> (ø)

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 ce6af93...32ac5cd. Read the comment docs.


Televido: init at 0.3.0

Description of changes

Televido (“Television” in Esperanto) lets you livestream, search, play and download media from German-language public television services. It is powered by MediathekViewWeb's API and the Zapp backend API which are both part of the MediathekView project.
closes #303323
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

[x] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[ ] Fits CONTRIBUTING.md.

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

@ofborg eval


Bundler CLI to support installing (and saving them to Gemfile) gems just like npm

Hello,
I would like to propose an enhancement to Bundler to support installing and saving a gem to Gemfile all using the CLI and the command will look like:
bundler install rake --save
This could then be further extended to allow saving it to the right group:
bundler install rake --save development, test
bundler install rake --save production

I will be happy to create a PR for the same.
Is it worth pursuing?

There's an add command that exists currently in the codebase but isn't exposed via CLI yet, in addition to the existing inject command

Thanks for the suggestion! We think this is a good idea. Today, you can add gems to your Gemfile using the bundle inject command, but you have to include the exact version that you want to add. In the next version of Bundler, there will be a bundle add command that lets you add a single gem without having to also give a version number.


Display account-name and key for azure blob storage

Currently, we will display storage info in user profile. But for azure blob, it not show account name and key. User will not know how to upload the data to the storage.

Refer to #4289


[DOCS] Fix incorrect publish date for release 0.6.1.

What changes were proposed in this pull request?
The publish date for release 0.6.1 is incorrect. This PR will fix it.
How was this patch tested?
No UT

LGTM

Thanks! Merged to master


Update deps. to Angular 7.0

I'm on it!

Looks like a package called tsickle is blocking the way for ng 7. We shall wait until that package adds support for TS 3.x 😞

WIP PR opened #44

@mhosman we just release version 3.2.0 which includes upgrading angular dependencies to 7.0.0


Extract Referer from request headers

It seems the Referer header is not extractable. This code
import org.http4s.headers.Referer
val service: HttpService[IO] = HttpService[IO] {
  case request @ GET -> Root =>
      request.headers.get(Referer)
}

overloaded method value get with alternatives:
[error]   (key: org.http4s.util.CaseInsensitiveString)Option[org.http4s.Header] <and>
[error]   (key: org.http4s.headers.Set-Cookie.type)Option[org.http4s.headers.Set-Cookie] <and>
[error]   (key: org.http4s.HeaderKey.Extractable)Option[key.HeaderT]
[error]  cannot be applied to (org.http4s.headers.Referer.type)
[error]       request.headers.get(Referer)

Fixed by #1984.


Std config removal

Remove HPX_STD_BIND, HPX_STD_FUNCTION and HPX_STD_TUPLE and friends. Also drop obsolete future_callback.
Originally #1344, github doesn't let me reopen a PR when the branch was recreated.

LGTM


Add dark mode

Hello, this is a PR to add dark mode to the platform. Attached is the look. Let me know if there's anything I can add/improve.

Hey @dotmarn! This looks really cool! Apologies for the slow reply. I'm hoping to take a look at this over the next few days so we can get it merged in 😄


[FIF-174] Change var name to SURVEY_MAX_FILE_SIZE_BYTES

Change value in environment.example to 1 GB

We also need to update the usages.


Using the Build Project with multiple versions of Revit doesn't build with correct nuget package

If you try to build revit versions R20-R24 with the build project and say you have your config set to Debug R22 (Can't have it set to Release when running the Build Project as that will cause issues with files being locked for the running process) then you run the Build project.
In your addin project you have conditional code based on the different versions of Revit so then when it goes to compile the R24 config of the addin it fails to compile because it believes it is referencing an older version of the Revit dlls. However the config is set to Release R24 for that addin and when I compile it manually in the Release R24 config it works. Its my understanding that when you run the Build project it compiles each project based on the passed in config not the config profile running the Build project.
To solve this I can run the build project with each different versions of Revit but I can't run it all at once.
What am I missing here?

Edit: I figured it out. Since I switched to MSBuild from DotNetBuild I had to explicitly tell nugut to restore the packages before it runs the build. This way you can run all configs of the Revit. I switch to MSBuild for building the projects as the newer DotNetBuild doesn't work with .resx files because the way serializable resources are handled changed from .net 48 framework to .net 7. You can add the System.Resources.Extensions to handle this issue, but that dll doesn't play nice with Revit. There might be ways around the dll hell issue would be open to comments.
`    Target Compile => _ => _
.TriggeredBy(Clean)
.Executes(() =>
{
var projectFiles = Globbing.GlobFiles("./", "**/*.csproj");
        foreach (var configuration in GlobBuildConfigurations())
            foreach (var project in projectFiles)
            {
                MSBuildTasks.MSBuild(settings => settings
                    .SetProjectFile(project)
                    .SetTargets("Restore")
                    .SetConfiguration(configuration)
                    .SetMSBuildPlatform(MSBuildPlatform.x64)
                    .SetVerbosity(MSBuildVerbosity.Minimal));

                MSBuildTasks.MSBuild(settings => settings
                    .SetConfiguration(configuration)
                    .SetMSBuildPlatform(MSBuildPlatform.x64)
                    .SetProjectFile(project)
                    .SetAssemblyVersion(Version)
                    .SetVerbosity(MSBuildVerbosity.Minimal));
            }
    });`

Hi @ktcondon )
You don't need to compile and run the Build project.
Instead, you need to do another thing

If you are using Rider, start Nuke from the startup configurations. It doesn't matter which build version you are running, DebugR20 or Release24. Nuke builds the project for all configurations

If you use other IDEs, write 'nuke' in terminal and run it.

MSBuild from DotNetBuild also does not need to be changed, the project is fully configured and works out of the box

I see I missed a very basic understanding of the nuke project. My apologies.
However while you are correct it works out of the box it still doesn't work when you are using .resx files in your visual studio projects. As you can see in the image below that by using the DotNetBuild it is requiring the use of System.Resources.Extensions. When you include that dll in your project it does compile but when you run Revit it fails to find the icons in the .resx file. Trying to resolve the assembly binding or use assembly redirects in the config file doesn't fix the issue with loading the dll into Revit.

Yes, you should probably use MsBuild for WinForms projects. Templates targeted for Wpf 😉


random fixes

should fix https://github.com/pombadev/sunny/issues/4

Thanks for the patch! I personally never came across this particular issue but very thankful to you guys for this.


[W5.11][F10-1] Neow Bo Kai

Non-case sensitive FindCommand

Remember to do update testing as well further on!


Freeze r-matrixstats version

Fixes issue #183 .

I'm confused that tests are passing in main with this issue persisting. I get the error when I attempt to rebuild the container image (during the testing stage).
Anyway let's merge this so the build can work.


Parsing COUNTER5 reports

When I follow this example from the README,
import pycounter.report
report = pycounter.report.parse("COUNTER4_2015.tsv")  # filename or path to file

COUNTER5 .json files do not parse, and throw an UnknownReportTypeError.
I've gathered these json files myself with curl and requests.get(url). Should I be using pycounter.sushi.get_report() for COUNTER5? The caveats from the README make me wary of doing that. Does it do something special that makes reports parseable?

Mark,
Sorry for the delayed response; I haven't been able to devote the time I'd like to this project lately.
Unfortunately, the same caveats from the README will apply no matter how you get the data, as the problem is with the object structures currently in pycounter not being redesigned from the ground up to handle the new design of COUNTER 5. pycounter.sushi5.raw_to_full() is currently the way to get a CounterReport object from the JSON you'd get from a COUNTER 5 SUSHI server (it takes a dict decoded from that JSON.) The resulting report object is the same Frankenstein's monster COUNTER 4-ish thing you get from making the SUSHI call directly from pycounter.
My hope has been that a final 3.0 release will finally fix this, but I don't have a timeline for that as I've been working almost entirely on our upcoming ILS migration.

TY for the clarification and udpate! That is helpful info


Broken from v2

I'm submitting a ...

[X] bug report
[ ] feature request
[ ] other

Current behavior:

Audioplayer does not have repeat options
Footnotes is not working
Tafsir is not working
No search in navbar

Expected / new behavior:
The above should work be working as they were previously.

cc @naveed-ahmad

Any of you getting this?

@mmahalwy where I can find the working behaviour? Does the production quran.com on v1?


Document Kuberhealthy Roadmap

Roadmap under development here: https://github.com/Comcast/kuberhealthy/blob/roadmap/ROADMAP.md

I need to do a little more review and convert this to milestones in github.

I need to do a little more review and convert this to milestones in github.

This was moved to the milestones page.


Grammar/style nitpicks by Misha

Minor grammar/style/typo issues found by Misha Ramendik in PR #28 after that PR as already merged

Thanks Misha!!


in multi-project case the version in the sub-project's build.gradle files do not replaced

even if i select all dependencies to update, only the toplevel build.gradle was edited and all others remain the seme (even without an error or warning message).

@lfarkas thanks for the report. Could you create a small reproducible project? It doesn't need any source code, just some directory hierarchy and the gradle files containing the version you want to replace. I'd greatly appreciate that.

here is a small example: https://guides.gradle.org/creating-multi-project-builds/ or this one https://docs.gradle.org/current/userguide/multi_project_builds.html. but here is a full example: https://rominirani.com/gradle-tutorial-part-3-multiple-java-projects-5b1c4d1fbd8d in the download link: https://drive.google.com/file/d/0B49Q1BZG4BXcbzFOUHU1clR5TWM/view?usp=sharing

@lfarkas Thanks. I'll have a look during the weekend

@lfarkas Released version 0.5.0 with multi-project support. Could you give it a spin?
npm install -g gradle-upgrade-interactive
Run gradle-upgrade-interactive in the gradle project root directory

now something strange happened. it can'f find the local gradlew:
# ./gradlew --version

------------------------------------------------------------
Gradle 6.1.1
------------------------------------------------------------

Build time:   2020-01-24 22:30:24 UTC
Revision:     a8c3750babb99d1894378073499d6716a1a1fa5d

Kotlin:       1.3.61
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          1.8.0_242 (Oracle Corporation 25.242-b08)
OS:           Linux 5.4.17-200.fc31.x86_64 amd64

# gradle-upgrade-interactive
Unable to find Gradle Wrapper or Gradle CLI.

@lfarkas Published version 0.5.1. Please try it with that version.
If it does not work, please run gradle-upgrade-interactive -d and post the output.

# gradle-upgrade-interactive -d
Determining gradle command
isWindows: false
Checking if wrapper file gradlew exists
Determined gradle command: null, wrapper: false
Unable to find Gradle Wrapper or Gradle CLI.
# ls -al gradlew
-rwxrwxr-x 1 lfarkas lfarkas 5764 Jan 30 15:07 gradlew*

Released 0.5.2, please upgrade again. I was actually missing an import after the internal refactorings.
Sorry for the hustle.

still the same.

Same output with gradle-upgrade-interactive -d?

ops sorry run in a wrong directory! now just check it's working properly...but seems to very slow...

The initial call to get dependencyUpdates (using the versions plugin) can be rather slow. After the first call, it should be way faster. I will also investigate whether it's an issue in my code. I am pretty much just delegating the call to the gradle plugin and getting the results.
I'll have a look.

working:-)
except the for som unknown reasone it's always find me this update:

   classpath "com.hello2morrow:sonargraph-gradle-plugin:9.13.0"

   classpath "com.hello2morrow:sonargraph-gradle-plugin:9.13.8"

but it's a bug in the upstream dependencyUpdates.
thanks

Thanks for sticking by @lfarkas !

By the way, you can also configure the versions plugin to reject certain versions. Check https://github.com/ben-manes/gradle-versions-plugin
That way, that specific version wouldn't pop up all the time.

still not working in subprojects...ie. show there are nbewer version i can select the but do not replace the version

@lfarkas Can you please attach the parent build.gradle and the child build.gradle and tell me which version doesn't get replaced?
It's also enough if you only include the affected dependency/variables from the two files.

Released 0.6.0 that has better support for multi-project builds better. Still, without an example it is going to be hard to reproduce, it might just be a missing pattern.

sorry i forget about it. what should i have to show?
this's a multi level gradle build but here are the relevant part as you can see eg in face/app/build.gradle tika-core - 1.23 => 1.24
but it's not working.
build.zip

Released 0.6.1
Build file search is now recursively. Previously, only build files below the current directory were found.

now i've got and error for a broken link:
gradle-upgrade-interactive
internal/fs/utils.js:230
throw err;
^
Error: ENOENT: no such file or directory, stat './vidux/data/vhv/var/www/html/vhv/data'
at Object.statSync (fs.js:932:3)
at /home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:41:14
at Array.forEach ()
at getAllBuildFiles (/home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:40:11)
at /home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:42:24
at Array.forEach ()
at getAllBuildFiles (/home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:40:11)
at /home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:42:24
at Array.forEach ()
at getAllBuildFiles (/home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:40:11) {
errno: -2,
syscall: 'stat',
code: 'ENOENT',
path: './vidux/data/vhv/var/www/html/vhv/data'

I released 0.6.4 with a few fixes. I was able to test this successfully on a multi-project build on windows.

But seems to very slow...

I was able to pinpoint one issue that hopefully resolves the "hanging" completely.
The build files should also properly resolve on linux now, in case they don't, you can also paste the debug log here using gradle-upgrade-interactive -d after upgrading to 0.6.4.
Thank you for not giving up on me yet and helping me troubleshoot :see_no_evil:

same error for broken link

Can you please run it using -d so I can see the debug output?

nothing else:
gradle-upgrade-interactive -d
Determining gradle command
isWindows: false
Checking if wrapper file gradlew exists
Wrapper file exists
Determined gradle command: ./gradlew, wrapper: true
Recursively looking for build files in directory /home/lfarkas/work/vidux/vidux/java
internal/fs/utils.js:230
    throw err;
    ^

Error: ENOENT: no such file or directory, stat '/home/lfarkas/work/vidux/vidux/java/vidux/data/vhv/var/www/html/vhv/data'
    at Object.statSync (fs.js:932:3)
    at /home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:42:27
    at Array.forEach (<anonymous>)
    at getAllBuildFiles (/home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:41:11)
    at /home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:45:28
    at Array.forEach (<anonymous>)
    at getAllBuildFiles (/home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:41:11)
    at /home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:45:28
    at Array.forEach (<anonymous>)
    at getAllBuildFiles (/home/lfarkas/.npm-packages/lib/node_modules/gradle-upgrade-interactive/buildFiles.js:41:11) {
  errno: -2,
  syscall: 'stat',
  code: 'ENOENT',
  path: '/home/lfarkas/work/vidux/vidux/java/vidux/data/vhv/var/www/html/vhv/data'
}

What linux distribution are you using? I do not know, how those paths are resolved.
I changed the search for build file paths to use resolve rather than join, hoping it helps.
I cannot reproduce this issue on Windows/Mac. I'll try a linux docker image similar to your distribution.

fedora-31

I couldn't reproduce on a fedora-32 docker image. What version of NodeJS are you using?

fedora-31's default nodejs-12.16.1-1.fc31.x86_64 and it seems to working now:-)


loss = NAN with revnet models on Cifar dataset

Hey!
First of all, thank you for your hard work. I think reversible networks are very interesting and will open up a lot of new use-cases for ML.
I noticed two things in using your code.
First of all, I had to rename the revnet subdirectory to models because train_cifar.py imports models and then models.revnet.
Secondly (and more importantly), when I run train_cifar.py --model revnet38 my loss quickly goes to NAN and the accuracy never surpasses 10%. Same thing for revnet110. The resnet architectures on the other hand all work perfectly fine with good accuracy. Any idea what's going on?

Hey!
Thanks for showing interest in my project! Unfortunately it is kind of a mess, that I should really clean up now that people are showing interest in it 😅
Regarding your issues:
I am not at home until next week so I am not able to test anything right now. However you can try adding --clip 0.25 when calling train_cifar.py. I found the gradients of the revnet tend to explode a bit and gradient norm clipping is what I used to obtain the results in the README.
I will add a task to the projects to add some kind of config storage that includes hyperparameters.
Hit me up if you know if it worked or not.
Happy holidays!

Hey man,
Adding clipping worked beautifully! I really appreciate you getting back to me so quickly, especially during the holiday seasons. Happy holidays and all the best to you and your family!


Update Notification Issue

hi,
I've installed Workspacer <IP_ADDRESS> Prerelease from the msi file. anytime I launch it, it notifies about the new update. And pressing Update doesn't do anything.

Weird. I guess it might be related to AutoUpdater.Net or OctoKit updates.
Do you know at which version this started happening (for you)?

it just happens on this preview version. i have been always using the stable release which doesn't have this issue.

Could be that the tag/release does not exist?

I believe the point at which the location of the bar is set is done here
Do with that what you will.


LSP not parsing .all() syntax

What platforms are affected?
macos
What architectures are affected?
arm64
What SpiceDB version are you using?
Latest version of the VSCode extension, 0.0.7: https://marketplace.visualstudio.com/items?itemName=authzed.spicedb-vscode
Steps to Reproduce
Just following https://authzed.com/docs/spicedb/concepts/schema#all-intersection-arrow:
definition file {
  relation project: project

  permission access = project.all(access)
}

Expected Result
Validates properly
Actual Result

I'm at an offsite right now but I'll take a look at this soon.

It should be sufficient to update the version in download-wasm and regenerate.

@mateenkasim I've cut https://github.com/authzed/spicedb-vscode/releases/tag/v1.0.0. Does that solve your problem?

Unfortunately it did not :/
Also fyi, I got this warning when updating:

@mateenkasim thank you for checking! I'll look into that on monday.

@mateenkasim I realized that the issue you're running into is because the extension uses the SpiceDB binary for its LSP. Upgrading your system's SpiceDB binary should resolve your issue.
I also figured out that we were able to simplify our publishing steps, so I'm going to cut a new release and see if that helps with the package signature problem.

Whoops, silly mistake, thanks for the pointer. That fixed my issue, and the new release fixed the signature problem!
Thanks for your help! 🙏


Fix AboutUs image name

Removed duplicate ".png"

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

Comparison is base (5ca15ca) 75.29% compared to head (8a280b9) 75.29%.
Report is 1 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##             master      #81   +/-   ##
=========================================
  Coverage     75.29%   75.29%
  Complexity      419      419
=========================================
  Files            71       71
  Lines          1340     1340
  Branches        126      126
=========================================
  Hits           1009     1009
  Misses          301      301
  Partials         30       30

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

LGTM


⚠ Bofrost.si has degraded performance

In 314e5bf, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 4361 ms

Resolved: Bofrost.si performance has improved in 98925ed.


[Issue 3307] [feature] Extension - Allow to use Migration Polkadot Appp to attach Ledger account

🚀 Deployed on https://pr-3346--sw-web-runner.netlify.app


Map view

Added the map to the individual elephant view. Currently no support for showing user location (#35) or offline tiles (#33)

jk need to create our own activity and migrate stuff there before merging. Not sure how to do that atm

Done in #37. If #37 is OK we can do that merge first and just kill this one


deploy did not work with free plan

delpoying on heroku did not work with a free plan anymore, because on a free plan cronjobs are not allowed. i get error message that i should enter my credit card details :/

My instance runs perfectly fine on the free plan and I haven't paid anything for it yet. However, I believe I also had to enter my credit card details back when I created my instance, in order to enable cronjobs. I think it's so they can charge you if your cronjobs use up more resources than what is allowed for on the free plan, not that they necessarily will.
https://devcenter.heroku.com/articles/scheduler

mhh okay, so i have to ask them if it is possible to deploy without credit card dteails, because i have no credit card. thanks.

Or you coud use OpenShift.

thanks i tried it on openshift. works now!


disable output of options

How to disable the output of options?
I currently use this code:
`var options= {lineSeparator: /[\r]{0,1}\n/, fromBeginning: false, watchOptions: {}, follow: true}
tail = new Tail("query.log", options);`
This results in:

Tail starting:
filename: query.log
options: { lineSeparator: /[\r]{0,1}\n/,
fromBeginning: false,
watchOptions: {},
follow: true }

How to disable this output?

Which version of the library are you using?
With the latest version if you don't pass a logger object as part of the configuration you shouldn't see any output.

I've used npm to install. How to update version of tails now?


Ignore more temporary files by default

files.exclude allows users to define which things should be not in file explorer, should not be searched and not indexed.
They can still be opened using "file open".
Reasonably the default https://github.com/microsoft/vscode/blob/4c31caa886a6f66fa3cff5f2654e4fa7fdad8f9c/src/vs/workbench/contrib/files/browser/files.contribution.ts#L155-L159 includes commonly used VCS' subfolders like .git, .svn, ...
The last commit there 1d9dc8b261cac5a65bea4e8ce97229511c78231b  "web - filter out *.crswap via files.exclude" sneaked in the windows-only Thumbs.db (which I find a reasonable addition in any case), the previous fa0bc23382316d6ec2cd6bd7d9b198f0511e3b42 added CVS, with previous .hg and .svn additions.
I suggest to add more files there and while I initially had a bunch of files in my mind, including the list from the end, I've stepped down and suggest to at least add files ending with a~ because those are, over several systems and software, always temporary files #228981.
I'd like the community to:

vote for general addition of more entries, staring with **/**~
discuss which entries should be added, possibly including (this list is from a portable C build)

*.la
*.lo
*.o
*.so
*.obj
*.dll
*.lib
*.exe

*cache*
*-coverage
*.bak
*.gcda
*.gcno
*.diff
*.patch
*.tmp
cscope.*
TAGS

ipch
.vs
*.aps
*.ncb
*.*sdf
*.suo

.libs
.deps

Users can override that (which then means to also include the default values wanted) in their settings (so workspace/user/machine scope), so files that are "only very seldom should be used in the UI" can still be included (for example if someone wants his Thumbs.db or TAGS files shown), but we should still consider the likelyness (.deps seems to also be "something .NET/C#, not sure if this is like .vscode which you want to have included by default, for example).
Entries like *cache* are likely bad, thinking of for example package names including it. But who should have .bak or .tmp files shown and searched...

@lramos15  Can you please explain why the previous changes in that area got in without a community vote, but this one doesn't?

The two commits you mentioned are

A VS Code core team member who added it to support our web initiative
A commit from 7 years ago which added a single exclude from when VS Code was quite a bit younger and our take on defaults was a bit different

If you think about the millions of users that use VS Code, 20 upvotes is not a large bar to cross. We receive tons of feature requests daily and the community helps us appropriately prioritize them.

I see and for prioritizing, especially "harder" parts or things that change the core design like #41309 with hundreds of votes > 4 year I totally understand that procedure (and it is always said to see "votes needed for backlog" and then issues like the referenced with many much votes standing still).
... for this case there is an existing PR (so the work to be done is possibly documentation, but otherwise nothing than the PR handling itself).
So... I guess this and the PR will go down for not enough upvotes.


lv_prelaod animation

Hello
The example code doesn't spin.  Please, how to enable the spin animation?
https://docs.littlevgl.com/en/html/object-types/preload.html
Thanks

I was using this, but with 5.3 version
// Boot up screen
  lv_obj_t *label = lv_label_create(mainCircle, NULL);
  lv_label_set_text(label, "Connecting to WiFi...");
  lv_obj_align(label, mainCircle, LV_ALIGN_CENTER, 0, -20);

  lv_style_copy(&preloaderstyle, &lv_style_plain);
  preloaderstyle.line.width = 6;                         /*?? px thick arc*/
  preloaderstyle.line.color = LV_COLOR_HEX3(0x258);       /*Blueish arc color*/

  preloaderstyle.body.border.color = LV_COLOR_HEX3(0xBBB); /*Gray background color*/
  preloaderstyle.body.border.width = 6;
  preloaderstyle.body.padding.hor = 0;

  /*Create a Preloader object*/
  lv_obj_t *preload = lv_preload_create(mainCircle, NULL);
  lv_obj_set_size(preload, 50, 50);
  lv_obj_align(preload, mainCircle, LV_ALIGN_CENTER, 0, 20);
  lv_preload_set_style(preload, LV_PRELOAD_STYLE_MAIN, &preloaderstyle);

  lvglMutex = xSemaphoreCreateMutex();
  xTaskCreate(gui_task, "lvgl", 10 * 1024, NULL, 5, NULL); // Start GUI task

I'll try to update the code to V6.0 and let you know...

I've tested it with the latest master branch (not in arduino) and it works for me.
@Uup115 Could you manually update lvgl from the latest master and try again?

@kisvegabor  Per your request, I updated from the latest master...  With the update, it makes only one complete CCW rotation, then stops.

@Uup115 When it "stops", has the processor crashed, or does LittlevGL keep running?

@embeddedt  LittlevGL keeps running as normal.  No crashes.

How is lv_tick_inc called on Arduino?

@embeddedt  Thanks for your last message, regarding "lv_tick_inc" .  I discovered an error in the way I configured the Timer interrupt.  Totally my fault.  Really, really sorry. :-(
I've already kicked myself several times.  I'll go ahead and kick myself several more times for you, kisvegabor, and Pablo2048.

:-) Ok, so it works now? Can you please try with pure lv_arduino? If it works only with actual sources I have to do new release with actual master...

@Pablo2048  I reverted back to lv_arduino (v2.0)  Yes, everything is working with both (latest master and lv_arduino).  Good to go!
Thanks for everyone's help!

... so I'm closing this as solved...

I've already kicked myself several times. I'll go ahead and kick myself several more times for you, kisvegabor, and Pablo2048.

Now we'll never be able to add a disclaimer stating that no developers were harmed in the making of this product. :smile:
Seriously, don't worry about it. It's a pretty difficult issue to find when it surfaces.


select_choices fixes

Improve a few things following @cunyap initial implementation

@cunyap: if you agree with those changes, we can merge this PR and make a new release of cli-ui.
Thanks for the initial implementation :)

@dmerejkowsky sure! thanks a lot for the clean-up.
One small thing on line 333 in the file docs/index.rst it should read ['apple', 'banana'].

on line 333 in the file docs/index.rst it should read ['apple', 'banana'].

Good catch :)


feat: added sorting

Added sorting in sidebar using the GraphQL query based on frontmatter property order

Oh no - I made the same PR and requested your review earlier today

Your method is better actually - it does the sorting using GraphQL

Is it ok if I cherry-pick your commit and merge my PR - I have also added a few comments to the code in my PR?

Or let me merge as is and re-purpose the other PR - approving and merging this


website for Kabul museum exhibition event

Complete the following Parts for Kabul museum exhibition website:

Home Page
About Page
Responsive both Home page and About page
display dynamically speakers in home page using JavaScript

Here is link of the  video about the capstone project I recorded.
https://www.loom.com/share/5d401174633b46a79d6045955ef5fd93

INVALID ❌ ❌ ❌
Hi @Booze33  👋
While you made a great effort in this project, I can't go ahead and review your code.
Invalid Code Review Request ❌
You have submitted a project that has Linter Errors 😨, Kindly fix the Linters and submit again once you are done 🙏
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Kindly create  a new PR that follows the Gitflow approach
Cheers, and Happy coding!👏👏👏
✅ Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Remember to tag me in your question so I can receive the notification.
⚠ Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Proposal

Continuing from our conversation on slack:
{
  // string | number: a unique identifier for the dispatch
  id: 'abcdef123',

  // any: Symbol, string, number, object, function. A unique way to identify the action dispatched
  type: ActionTypes.ADD_TODO,

  // any: whatever is being dispatched
  payload: { text: 'Create FSA Proposal' },

  // information about the action itself
  action: {
    // string representation of the particular action type
    // since Symbols are not strings and action type can be anything, having a way to identify an
    // action as a string is useful for serializing, debugging, and logging.
    id: 'ActionTypes.ADD_TODO'
  },

  // other information about the dispatch
  meta: {
    // no opinions here...
    status: 'success'
  }
}

There's a difference between dispatch and action. I need to uniquely identify dispatches, this is useful for time travel, rollback, etc. I also need to be able to unique identify actions, this is good for logging and debugging.
I think this is a good MVP. I was using details for action information in alt but I think action is a better name.

Couldn't you merge action and meta into a single field?

Yes you can, I just think action is a better name because meta may refer to meta information about the dispatch.

How are you distinguishing between the dispatch and the action? To me they're synonymous. I get your "class vs. instance" analogy from our Slack conversation, but I don't really think it fits. To me the only field here that kinda feels like a "class" property is type. And type is meant for introspection. Isn't everything else is specific to the dispatch or "instance"?

We need more information than just the type. Since the type can be anything.
In alt I include a string representation of the type, the name of the action, and the namespace.
Everything else is dispatch info.

Okay, so if everything else is dispatch info, action and meta can be merged together, right?

Could actions in Alt look like this instead?
{
  // any: Symbol, string, number, object, function. A unique way to identify the action dispatched
  type: ActionTypes.ADD_TODO,

  // any: whatever is being dispatched
  payload: { text: 'Create FSA Proposal' },

    // information about the action itself
  meta: {
    // string | number: a unique identifier for the dispatch
    id: 'abcdef123',

    // string representation of the particular action type
    // since Symbols are not strings and action type can be anything, having a way to identify an
    // action as a string is useful for serializing, debugging, and logging.
    displayType: 'ActionTypes.ADD_TODO'
  }
}

yeah that looks good enough. Not sure about the displayType name but we can work on it

Closing this in favor of #4 which looks like a better issue.


Timeout for TransactionResponse.getReceipt  not working well

Description
Description
When I set the timeout for getReceipt as 1 sec, it works fine - it waits for exact 1 second and throws TimeoutException.
By the way, when I set the timeout as 2 to 10, it works weird - it waits for exact 10 seconds and throws TimeoutException.
Duration.ofSeconds(2) ~ Duration.ofSeconds(10)
It worked same when I use Duration.ofMills(2000)) - it waits for 10 seconds, not 2 seconds.
Please let me know if there is another factor for timeout amount of getReceipt.
Problem

getReceipt's timeout setting does not work as expected. For example,

If I set 1 second, it waits 1 second. -> OK
If I set 2 seconds, it waits 10 seconds, not 2 seconds -> NOK
If I set 3 seconds, it waits 10 seconds, not 3 seconds -> NOK
...

Expected result

getReceipt should wait for the exact time as I set.

Steps to reproduce
Please see the code below.
Additional context
// After executing transaction..

int HEDERA_TESTNET_TIMEOUT_SEC = 1 // Timeout amount for getReceipt (sec)
try {
     TransactionReceipt receipt = transactionResponse.getReceipt(client, Duration.ofSeconds(HEDERA_TESTNET_TIMEOUT_SEC)));
 } catch (java.util.concurrent.TimeoutException e) {
     Log.e("cannot get the receipt for timeout" + e);
 }

Hedera network
testnet
Version
v2.22.0
Operating system
macOS

@soharang thank you for bringing this issue to our attention. After reviewing the information you provided, we require additional details to resolve the issue. Could you please upload a Minimal, Complete, and Verifiable Example (MCVE) to a GitHub repository and provide us with a link to it?

@thenswan Thanks for your comment,
I created a new repository with test android project - https://github.com/soharang/samples.
You can run the test code - https://github.com/soharang/samples/blob/main/app/src/test/java/com/example/hederatest/ExampleUnitTest.java.
@Test
    public void testHederaTransfer() throws Exception {
        System.out.println(getCurrentTime() + "  start test.");

        String mnemonic = "comfort assume rookie fault zoo fatigue river marriage match idle water solution";
        PrivateKey ownerPrivateKey = PrivateKey.fromMnemonic(Mnemonic.fromString(mnemonic)).derive(0);

        AccountId ownerAccount = AccountId.fromString("0.0.15538452"); // account which belongs to the mnemonic above.
        AccountId toAccount = AccountId.fromString("0.0.6295"); // account to receive HBAR

        Client client = Client.forTestnet();
        client.setOperator(ownerAccount, ownerPrivateKey);

        TransferTransaction transaction = new TransferTransaction()
                .addHbarTransfer(ownerAccount, new Hbar(-1))
                .addHbarTransfer(toAccount, new Hbar(1))
                .setNodeAccountIds(Collections.singletonList(AccountId.fromString("0.0.3")))
                .setTransactionId(TransactionId.generate(ownerAccount))
                .freezeWith(client);

        String txId = transaction.getTransactionId().toString();
        System.out.println(getCurrentTime() + "  executing transaction txId=" + txId + "...");

        try {
            TransactionResponse transactionResponse = transaction.execute(client);

            System.out.println(getCurrentTime() + "  getting receipt for " + txId + "...");

            TransactionReceipt receipt = transactionResponse.getReceipt(client, Duration.ofSeconds(2)); // (PROBLEM HERE) It should wait for exact 2 seconds, not 10 seconds.
            System.out.println(getCurrentTime() + "  Completed. receipt status=" + receipt.status);
        } catch (java.util.concurrent.TimeoutException e) { // TimeoutException Occured in 10 seconds although I set timeout duration as 2 seoncds.
            System.out.println(getCurrentTime() + "  TimeoutException=" + e.getStackTrace().toString());
        }
        System.out.println(getCurrentTime() + "  Completed.");
    }

Sometimes, it works fine with no delay. By the way, when it has a TimeoutException for getting receipt, its duration does not work as I intended. Please see the comments on the code.

👍


LdapIgnoreTlsErrors and LdapIgnoreTlsValidation are not Documented

PassCore Server

OS: [Linux (Docker)]
Provider: [LDAP (in a Windows AD)]
Settings file (without sensitive information):

docker run -e AppSettings__LdapHostnames__0='<IP_ADDRESS>' \
-e AppSettings__LdapHostnames__1='<IP_ADDRESS>' \
-e AppSettings__LdapUsername='CN=Password Changer,OU=Service Accounts,DC=example,DC=com' \
-e AppSettings__LdapPassword='password' \
-e AppSettings__LdapSearchBase="OU=dev,DC=example,DC=com" \
-e AppSettings__LdapPort='389' -e AppSettings__LdapStartTls=true \
-e AppSettings__LdapIgnoreTlsValidation=true -it -p 80:80 passcore:latest

Describe the bug
LdapIgnoreTlsErrors and LdapIgnoreTlsValidation are not described in any of the READMEs, and nor are they in the default appsettings.json.
Obviously this isn't a show-stopper, but to figure out how to ignore cert issues requires delving into source code (or finding this issue, I guess).
On the subject of finding things... for anyone else trying to make this work with Windows AD, you must have a certificate in Active Directory to provide TLS or SSL on LDAP to be able to change a password (it's a feature of AD, doesn't appear to be changeable). I'm not yet clear how you could convince the Docker image to trust the CA that generated the certs in AD though, so need to ignore cert validation issues for now.
On happier news, this all seems to work great with AWS Microsoft AD - so thanks very much for Passcore!

WIP


chore(ci): use determinate's system nix installer

Maybe it will work better.

Why exactly do we need this at all now that we are running on our own nix machines?

Why exactly do we need this at all now that we are running on our own nix machines?

If a step needs Nix, it's easier to just put it there, and have it do nothing when running on self-hosted runners. E.g. we run MacOS steps on Github Actions machines, and making stuff like that conditional is just extra work.

Anyway, this action seems completely incompatible with self-hosted runners. I reported it upstream.


Docker container updates destroy git repos

Description
I am using the official docker container for Gitea where I have configured an external data directory.
 Kontaktiere den Administrator deiner Instanz oder lösche dieses Repository.“
(Git data of the repo cannot be read)
Gitea Version
Latest
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Docker
Database
SQLite

We need more information, I don't think there are any logic which will delete them.

So the setup is as follows:

I pull the official gitea docker repo
I configure it as follows:

So /data/gitea is stored outside the docker container.
I now and then update the gitea docker pulling "latest" - it then always destroys the repos. So the git repo still is there, but you can no longer access it. This was the case for more than 2 years now, so I had to rebuild the git repos after every upgrade.

Let me know what else you need to investigate the issue, happy to help.

You should mount /data, not only /data/gitea. Gitea stores data into /data/gitea, /data/git and /data/ssh.
See https://docs.gitea.com/next/installation/install-with-docker

@wolfogre Thanks a lot, not sure where I had found the wrong instruction. Will mount it and close the issue.


Sri Hari: Batch-4/Neetcode-All/Added-articles

@neetcode-gh

Took 15 hours for this work.
Please review it.
This PR took some extra time as there are more than 6 approaches in many articles. I added articles for 2 problems of segment tree that you mentioned. Adding articles for remaining problems also.

Should I also add articles for the problems in your courses that you didn't make a video of?

@Srihari2222 Thanks. Going forward, i think we can limit each article to at most 4 different solutions. I'll leave you to pick them.


ecryptfs test: use TTY output to stabilize test

Motivation for this change
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

I've tested this before, but want to test again prior to merging.

Very nice!! :+1:


US21: In the end-game screen, a "Register" button is displayed for unregistered users.

Closed with commit: 3da58885fc5cb9da86492ed5162948221e94da60


No longer working for Chrome

Hi, love the script. It stopped working recently on the newer version of youtube (couldn't find youtube's version number).
Tested in regular youtube and in https://www.youtube.com/new (to use dark theme).
My browser:
Google Chrome is up to date
Version 64.0.3282.167 (Official Build) (64-bit)

Hmm. It's working just fine for me on Chrome 64.
Do you see the little Eye icon (https://github.com/EvHaus/youtube-hide-watched/raw/master/screenshot.png) in the top?

Yes, I see it, it just doesn't do anything when I click it.
Youtube's must have given me some new trial version that is not out yet for everybody.  I use to get a red bar showing the amount of video watched under the thumbnail, now I get a little box saying Seen. When this change happened it stoped working.

Ah, yeah. If the red bar disappeared, the script would stop working. We use that bar to decide if the video is watched or not.
Ok.. I'll keep an eye on this and once I can reproduce, I'll issue a fix.

I don't have the progress bars anymore either - now I just have an overlay that says 'WATCHED'.
Here's the HTML (I'm using the new UI I think) -

   <ytd-thumbnail-overlay-playback-status-renderer class="style-scope ytd-thumbnail">
      <yt-formatted-string class="style-scope ytd-thumbnail-overlay-playback-status-renderer">WATCHED</yt-formatted-string>
      <template is="dom-repeat" class="style-scope ytd-thumbnail-overlay-playback-status-renderer"></template>
   </ytd-thumbnail-overlay-playback-status-renderer>
   <ytd-thumbnail-overlay-time-status-renderer class="style-scope ytd-thumbnail" overlay-style="DEFAULT">
      3:38

   </ytd-thumbnail-overlay-time-status-renderer>

So the findWatchedElements function doesn't find the watched elements for me anymore.
I just changed it to this which works for now:
var findWatchedElements = function () {
    var watched = $('yt-formatted-string.ytd-thumbnail-overlay-playback-status-renderer');
     if (__DEV__) console.log(`[YT-HWV] Found ${watched.length} watched elements`);
     return watched;
};

Ok actually, sometimes I do get the red progress bars....earlier I wasn't, now I am. YouTube is probably doing some A/B testing or something.

Straight into production?! Who would actually do that?
Oh Yeah! YouTube!
On a more serious note. I also got a mention of my "watched later" userscript not working anymore.
I also depended on HTML elements on page to select upon. I'm wondering if I should gravitate more to using the actual YouTube API to prevent breakages like these.

@ackoujens I'm not aware of any YouTube APIs that expose watched status information.

I can also confirm this isn't working. I'm using Chrome 64 bit, version 66.0.3359.181. I do have the progress bars at the bottom of my videos. Although, I don't see the icon showing up at the top.
In the TamperMonkey code editor, I see several warnings saying '$' is not defined.

Funnily enough it's back working for me. Youtube keeps changing different stuff for different people...

Yeah, they do. Unfortunately, I've yet to see any issues on any of my accounts -- so I can't implement a fix for the experiments they're doing. :( I'll keep this issue open and keep an eye out for changes. If I can find a way to reproduce it -- I'll see if there's anything I can do.

Turns out it used to be possible to retrieve the list of watched videos using the API, and if you skim the API reference, you may get the impression that it's still possible.
However, if you check the revision history, you can see that they removed this possibility on September 15, 2016:

The channel resource's contentDetails.relatedPlaylists.watchHistory and contentDetails.relatedPlaylists.watchLater properties now contain values of HL and WL, respectively, for all channels.
To be clear, these properties are only visible to an authorized user retrieving data about the user's own channel. The properties always contain the values HL and WL, even for an authorized user retrieving data about the user's own channel. Thus, the watch history and watch later playlist IDs cannot be retrieved via the API.
In addition, requests to retrieve playlist details (playlists.list) or playlist items (playlistItems.list) for a channel's watch history or watch later playlist now return empty lists. This behavior is true for the new values, HL and WL, as well as for any watch history or watch later playlist IDs that your API Client may have already stored.

Closing this as it's quite old. If this is still happening, feel free to leave more info.


Add a size-limit check to CI

For example, lit-html has this script:
https://github.com/Polymer/lit-html/blob/master/package.json#L25
It would be great add something similar to the CI to check the components size.
Another reference from the vaadin components: https://github.com/vaadin/vaadin-core/pull/177
bundlesize package: https://github.com/siddharthkp/bundlesize

We've implemented this internally with our size tracking tools :)


Upgrade upgrading-rc5.md

ONLINE
For http://docs.mailwatch.org/install/upgrading.html
It will may be better to stop mailscanner before the upgrade procedure (mailscanner part).
service mailscanner stop
...
service mailscanner start
(One error in the use of service, this is service mailscanner start  not service start mailscanner)
For http://docs.mailwatch.org/dev/contributing.html
When we click on GitHub issue tracker -> 404 error.
Requesting New Features
If you’ve got a feature request for MailWatch, file it with the GitHub issue tracker. We’re aiming to create an useful utility, and would love to hear your ideas.
DEVELOP
Will check develop later.

Done in #24.


Fix/mobile layout margins

This adds an outermost margin for the DOM element div.primary-source-sets, which contains main content (not header or footer).  It also moves one DOM element outside of div.primary-source-sets b/c it should not have an external margin and does not contain content specific to primary source sets.  Finally, it tweaks some paddings and widths for other DOM elements so that the layout overall looks good with the the new outermost margin.  It has been tested on android phone and iphone.
This addresses ticket #8232.  It has been tested and approved by Franky on staging.

Looks good; needs rebasing. Having screenshots to indicate the visual difference for cases like this might be useful for reviewers - I don't think this is something to resolve immediately, but perhaps we could look at using something like Wraith to generate these for us.

Good suggestion about screenshots!  Will look into Wraith for the future.  Rebased to develop.


Project#logger uses a memoized AsyncWriter instead of always creating a new one

I pulled this branch and ran acceptance tests locally. On the first run I saw the same error that broke some builds yesterday (but not all). The second run was successful. Noting this here as it may have something to do with AsyncWriter, although nothing to do with this PR.
...
  4) Failure:
Google::Cloud::Logging::logging::Ruby Async Logger#test_0001_writes to a log with add and a symbol [/Users/quartzmo/code/google/codez/gcloud-ruby/google-cloud-logging/acceptance/logging/logging_test.rb:258]:
Expected [] to include "Danger Will Robinson (:debug)!".

12 runs, 97 assertions, 4 failures, 0 errors, 2 skips

...

$ bundle exec rake acceptance

...

12 runs, 137 assertions, 0 failures, 0 errors, 2 skips

@quartzmo Thanks, I'll take a look at the acceptance tests.


I can't click the Patch Button

Hi julian, I can't press the button to patch. I would like to make a donation in PayPal for your magnificent work.
macOS High Sierra
Version 10.13.6
MacBook Pro
15 inch, mid 2010
2.4 Ghz Intel Core i5
8GB 1067 MHz DDR3
Intel HD Graphics 288 MB

Hello @bronxiao, the donation is not mandatory but thanks.
Did you disable the SIP as instructed here ? : https://www.youtube.com/watch?v=Wmhal4shmVo

Hello @bronxiao, the donation is not mandatory but thanks.
Did you disable the SIP as instructed here ? : https://www.youtube.com/watch?v=Wmhal4shmVo

Hi Julian, The video is no longer available, but i have find some information on YouTube.
I know the Donation is not obligatory but we wanna thank you for you Work, because thanks to you we were able to solve the problem with the graphic card.
Greats from Switzerland
Muchas Gracias

Thanks a lot, really appreciated.


Keys changes

Add Key#name property & Create a struct KeyUpdateParams to update keys
Replace Task with TaskInfo in the keys async occurrences
Add KeysQuery type to handle the keys endpoints parameters

@bidoubiwa I made a PR with all the changes you requested #321 (I'll add all the requested changes in this PR)


Building fbdoom

I am getting an error when I try to build fbdoom on Ubuntu 20.04 x86_64.
Maybe I am missing some 16bit libraries, does anyone knows which ones I need to install ?
$ ./scripts/build_toolchain -s build_fbdoom

ARCH=i386
GCC_TC_VER=7.3.0
ARCH_GCC_TC_VER=stable-2018.11-1

CI Detected: None [Assuming user machine]
[build_toolchain] Executing single function 'build_fbdoom'
NOTE: Skipping FBDOOM
[build_toolchain] Executing single function: DONE

$ cat ./toolchain2/i386/fbDOOM/fbdoom/build.log
mkdir -p build
[Compiling i_video_fbdev.c]
[Compiling i_input_tty.c]
[Compiling i_main.c]
[Compiling dummy.c]
/tmp/tilck/scripts/build_scripts/i686-linux-gcc: 2: exec: -m32: not found
make: *** [Makefile:61: build/i_video_fbdev.o] Error 127
/tmp/tilck/scripts/build_scripts/i686-linux-gcc: 2: exec: -m32: not found
make: *** Waiting for unfinished jobs....
make: *** [Makefile:61: build/i_input_tty.o] Error 127
/tmp/tilck/scripts/build_scripts/i686-linux-gcc: 2: exec: -m32: not found
make: *** [Makefile:61: build/i_main.o] Error 127
/tmp/tilck/scripts/build_scripts/i686-linux-gcc: 2: exec: -m32: not found
make: *** [Makefile:61: build/dummy.o] Error 127

Hi!
I'm unable to reproduce your issue, not even on a fresh install of Ubuntu 20.04. build_fbdoom uses a prebuilt GCC i686 toolchain downloaded the first time ./scripts/build_toolchain is run, so there's no need to install 32-bit cross-compilers at system level.
Did you run ./scripts/build_toolchain without options first? That's the first step required after cloning Tilck's repo:
https://github.com/vvaltchev/tilck#building-tilck
Or, if you're interested in the long story, there's also this document: https://github.com/vvaltchev/tilck/blob/master/docs/building.md
After that, of course, you can install additional packages using the -s option.
Let me know if this solves your problem :-)
Have a nice day,
Vlad

Hi Vlad, thank you I've tried again and could build it this time, maybe I missed running the script without the -s option.
Now I need to figure out how to get the framebuffer thing to work with qemu, I am getting a Could not open /dev/fb0 error when trying to run fbdoom, any idea how to fix that ?

I'm happy to help :-)
You could get such an error only if you booted Tilck in "text mode". The bootloader allows you to choose text mode or plenty of other resolutions. 800x600 is the default one.
If you're using Linux, just run ./build/run_qemu and boot using the default settings by just pressing ENTER.
If you're using WSL, running Linux graphical applications (such as QEMU) is more tricky. You'd need to install an X server on Windows and then configure properly the DISPLAY environment variable in WSL. You should probably google for a generic tutorial about that, as it has nothing to do with Tilck. BTW, at some point, when WSLg will become mainstream, it would be much easier to run Linux graphics apps from WSL.

Awesome it's working ! I was using the kernel and the ramdisk, I switched to using the image ;-)

That’s great!


Automatically resolves with arguments even though it wasn't accepted with Tab

Even though I don't accept new URL| (| - cursor) it automatically resolves to new URL((url)).
So then I write new URL( it becomes this:
const url = new URL((url))'http://example.com'

The question is, why it adds additional () around url and why it resolves even though I didn't accept it with Tab?
BTW: I tested same happens with JSON.parse, etc. it is just enough to add ( and it automatically resolves.

Maybe it's related a little bit to: https://github.com/zardoy/typescript-vscode-plugins/issues/142?

See https://github.com/microsoft/vscode/issues/42544
Its also painful to write ... without shortcut inside objects (https://github.com/microsoft/TypeScript/issues/27623)

The question is, why it adds additional () around url and why it resolves even though I didn't accept it with Tab?

You can disable it with "editor.acceptSuggestionOnCommitCharacter": false

Closing this one since I'm not using "editor.acceptSuggestionOnCommitCharacter": false anymore and it works fine for me now. And, I do think it works even with it enabled so probably fixed as well.

afaik it was not fixed

But at my first test it seemed to work fine, anyways I'm closing it if you want you can re-open. Is just that I'm not using that setting anymore since it just doesn't work as expected compared to WebStorm.

yes its now possible to fix with new TS API update


PEAR-1815: removes Developer's guide as it is now in gdc-docs

Description
Removes Developer's guide from the repository as it has been moved to gdc-docs
Checklist

[ ] Added proper unit tests
[ ] Left proper TODO messages for any remaining tasks
[ ] Scanned for web accessibility with aXe, and mitigated or documented
flagged issues

Screenshots/Screen Recordings (if Appropriate)

In the README > Documentation section, there's a link to the dev guide in the repo:

we can update the link to point to https://docs.gdc.cancer.gov/Data_Portal/Users_Guide/Developers_Guide/


Error after Abyss Stash Tab 1

Loading Abyss Stash Tab 1...                                                              [OK]
[Error] Downloading stash for Abyss, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues and include your DebugInfo.log

Abyss items causing the error...

This has been fixed in Procurement 1.19.0
Please install a clean copy of 1.19.0 and create a new issue if you have further problems.


fix(tailwind): additional settings

Make it possible to define your own tailwind settings in opts, and merge them with the default, additional Phoenix settings in tailwind.lua
Description
Add the possibility to add your own tailwind settings in opts and have them deep merged into the default opts.settings
I needed this for configuring support for tailwind when coding on a htmgo project in Neovim.
E.g.
return {
  "neovim/nvim-lspconfig",
  opts = {
    servers = {
      tailwindcss = {
        filetypes_include = { "go" },
        settings = {
          tailwindCSS = {
            includeLanguages = {
              go = "html",
            },
            experimental = {
              classRegex = {
                { "Class\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
                { "ClassX\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
                { "ClassIf\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
                { "Classes\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
              },
            },
          },
        },
      },
    },
  },
}

Checklist

[x] I've read the CONTRIBUTING guidelines.

I believe what you're trying to do would simply be solved if you moved the opts.settings from setup.tailwindcss to servers.tailwindcss without any need for doing any kind of merge.

I believe what you're trying to do would simply be solved if you moved the opts.settings from setup.tailwindcss to servers.tailwindcss without any need for doing any kind of merge.

You're 100% correct @dpetka2001, I moved the default Phoenix settings up into the settings I defined in opts.servers.tailwindcss (7f285fe) and the LazyVim automagically merges them with the ones I provide in my own configuration.

Yeah I don't know why they were there. I don't do any web dev, but I believe the tailwindcss.settings being defined in opts.setup instead of opts.servers might override the user's personal configuration (specifically the tailwindcss.settings table). I think with your latest changes it should be more correct (although I might be wrong as I'm just a simple user myself with quite a lot to learn still).


Fix link syntax in FR starting-a-project page

[X] Have you followed the contributing guidelines?
[X] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Hi,
On this page: https://opensource.guide/fr/starting-a-project/ the rendering of the link is wrong because an extra space is present, this PR fixes that.
Regards

Guides even guidance

435494b


Add capability to set cookie (httponly and client-side)

What is your Test Scenario?

We have a number of test scenarios that require deleting (expiring) cookies, both client side and server side (httponly: true). Right now, we can use a Client Function to manipulate the client side cookies... but are unable to interact with the server side (httponly) cookies.
What are you suggesting?

I believe it would be really useful to have inbuilt cookie functions, which allow for interaction with both client and server side cookies. This allows for chanining:
await t
      .navigateTo('/<url>')
      .setCookie('mySessionCookie')
      .click(<button>)
      .expect(<thing>);

await t
      .navigateTo('/<url>')
      .deleteCookie('mySessionCookie')
      .click(<button>)
      .expect(<some-other-thing>);

It would also hopefully limit the number of <search engine of choice> searches for "TestCafe get/set/delete cookies", and trying to find a solution that suits the user's scenario.
What alternatives have you considered?

I've used the recommended solution with a Client Function, however this doesn't solve my problem of interacting with server side (httponly) cookies.
Additional context

Other frameworks have this functionality: Cypress, Puppeteer, Nightwatch (selenium based) etc. All of which allow for client and server side interaction with cookies.

Hi @rob4629
Thank you for your suggestion. I agree with you that in some cases it would be useful to have a method to set cookies.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
Example
await t.setCookie({
    key: 'test-key',
    value: 'test-value',
    domain: '.my-domain.com',
   secure: true
})

When using the ClientFunction method I have to force navigation on every single tests after the page is loaded by fixture and cookies are set, so its a lot of unnecessary page loads - makes it terrible for a bigger test suit.
I would suggest setting default cookies in the fixture:
fixture`Search Page`.page(testUrl).cookies([{
    key: 'test-key',
    value: 'test-value',
    domain: '.my-domain.com',
    secure: true
}]);

I don't know if that would be possible using testcafe's stack though.
For server side cookies you can try solution by Rafaela Azevedo. I just think she made a small mistake and the header name should be "Cookie" and not the name of the cookie (as explained here).
It would be nice to have more control over browser cookies. My app for example has a gpdr banner, and this is an roadblock for using TestCafe. In this case I will have to switch to nightwatch ( glad to hear it covers cookies ) which is too bad since I really like testcafe's clarity.

I would suggest setting default cookies in the fixture

I think it's difficult to have a "One size fits all" solution to this. While that will be useful in most cases, it wouldn't in mine as I need to delete/amend cookies mid-test for some scenarios.
Definitely something to keep in mind though, since implementing a function on the test object would require setting cookies in the BeforeEach hook...

re-iterating on the Cookies, since many personalization options relies on them.
It would be useful to keep cookies while using navigateTo, or at least have an option to keep them including the httpOnly ones

Hi @saropatzi
The site with TestCafe should work in the same way as without TestCafe. If you found any differences, please create a separate issue with an example illustrating it.

TestCafe of version 1.19.0 includes a proper set of cookie management methods that can set, get, or delete browser cookies even if the httpOnly flag was specified for them.

I believe it would be really useful to have inbuilt cookie functions, which allow for interaction with both client and server side cookies.

Please take a look at the following example that illustrates how to work with cookies.
fixture`Cookies API`;

test.only('test', async t => {
   await t.setCookies([
       { name: 'clientSide' },
       { name: 'mySessionCookie', httpOnly: true }
   ]);

   const cookies = await t.getCookies();

   await t
       .expect(cookies.length).eql(2)
       .expect(cookies[0]).contains({ name: 'clientSide', value: '', httpOnly: false })
       .expect(cookies[1]).contains({ name: 'mySessionCookie', value: '', httpOnly: true });

   await t
       .deleteCookies()
       .expect(await t.getCookies()).eql([]);
});


Also scrape and report flake8.report entry points?

There's just as much chance of a collision in flake8.report as in flake8.extension, even if the reporter/formatter plugins aren't raising error codes.

Yup. Done!


when I'm going from landing to newest lists on rmrk

I'll land on https://beta.kodadot.xyz/rmrk/explore?page=1&sort=UPDATED_AT_DESC&tab=GALLERY and seems we don't support filters through subsquid there?
https://user-images.githubusercontent.com/5887929/183407915-2df1c6b9-11b3-4d7a-a724-1b004ef60267.mov

👋


Creating game "window" for SDL editor renderer

Should probably just go ahead and completely remove the code for the old editor. It is adding quite a bit of cognitive load and unnecessary flags.


Is there any limitations to use a common dataset in multiple pipelines?

If i have 100 pipelines and i'm sharing a common dataset in these 100 pipelines will there be any concurrency/performances gaps ?
Any other issues if i use same dataset with same linked service in 100 difference pipelines which may or may not run at a same time?

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

ID: 1cd57b6d-3c6f-e546-b3ea-f83892f4c23d
Version Independent ID: 27aecc7b-f107-96d4-b044-ae026bca2727
Content: Azure subscription limits and quotas
Content Source: articles/azure-subscription-service-limits.md
Service: billing
GitHub Login: @rothja
Microsoft Alias: byvinyal

@AJAnujsharma Could you please provide more information regarding the documentation link that you are referring to against which the issue can be mapped?
Please note that Azure docs is used for issues related to documentation and for issues related to functionality or code MSDN/stackoverflow forums might be the right place to post the same as the right audience would help in answering the question.

Its regarding Dataset and Linked Service in Azure Data factory. I want to understand if i create a generic dataset and reuse it in parallel with different pipelines will it have some limitations?

https://github.com/MicrosoftDocs/azure-docs/blob/master/includes/azure-data-factory-limits.md

@AJAnujsharma There are no limitations on the no of pipelines that can consume a single dataset. Latency and other factors depend on the data source.

thanks !!

you can close the defect

ok thanks for the information


Allow engine parser errors to be handled

In engines/toml.rs (and similar in the other engines)
impl Engine for TOML {
    fn parse(content: &str) -> Pod {
        match toml::from_str::<Value>(content) {
            Ok(value) => value.into(),
            Err(_) => Pod::Null,
        }
    }
}

This makes it more difficult to troubleshoot issues with front matter parsing, since any internal error thrown by the parser is completely hidden. It would be nice if the Pod enum instead contained an error state containing whatever error type the internal parser uses. (Or something like that, I'm no expert)

SGTM.


DIO0 Only

First off, let me thank you for producing this library. It is much cleaner and more efficient than the others out there.
I know this might be a big request, but I figured it couldn't hurt to ask. There are a number of Arduino boards out there that are readily available using the RFM69 module. The problem is that they only have DIO0 connected. The other digital IO pins are unused. Some even lack a wire connecting the reset pin, relying on a full board powercycle for a clean slate.
I'd love to see this library more widely used, but having to make physical changes to the existing off-the-shelf solutions makes it impractical.
Would you consider creating a version that uses only the DIO0 pin? I'm aware that the same interrupts are not available there, but other libraries manage, so there must be a way.
Thanks in advance!

First off, let me thank you for producing this library. It is much cleaner and more efficient than the others out there.

Thanks, that's what I set out to do!

There are a number of Arduino boards out there that are readily available using the RFM69 module. [...] I'd love to see this library more widely used, but having to make physical changes to the existing off-the-shelf solutions makes it impractical.

Totally agree, you've probably seen #1, which discusses the Moteino and use of this library on that hardware. The hardware modification is indeed a major show-stopper to wider adaptation.

Would you consider creating a version that uses only the DIO0 pin? I'm aware that the same interrupts are not available there, but other libraries manage, so there must be a way.

Good to see that you did your research and took the time to look up the datasheet. I did the same and noticed the CrcOk and PacketSent fields in the DIO0 packet-mode Tx and Rx fields. I'm currently short on time so I didn't check this; I believe the other libraries use this to check whether there is a packet or it has been sent. These flags should also be raised when the AutoMode system is used according to the datasheet.
So, I thought I'd give it a go using these flags to detect new packets or successful transmission. I did a very short test with this; all I changed was the following line:
// tell the RFM to represent whether we are in automode on DIO 2.
rfm.setDioMapping1(RFM69_PACKET_DIO_2_AUTOMODE);

To:
// tell the RFM to set DIO0 when the CRC is ok and when a packet has been sent.
rfm.setDioMapping1(RFM69_PACKET_DIO_0_RX_CRC_OK | RFM69_PACKET_DIO_0_TX_PACKET_SENT);

That was basically all that was needed, in my very very short test this actually worked. Unfortunately I do not have the time to do extensive testing (although during the writing of this post it didn't get stuck (3000+ messages sent and received).

I know this might be a big request, but I figured it couldn't hurt to ask.

No, it never hurts to ask. @bloever actually asked it in #1, but the question was answered when he soldered a wire to DIO2. So I didn't really investigate whether it would be possible back then.
I don't really see a way around the reset wire though, on the Moteino a reset was really required. There doesn't seem to be a way to issue a reset via a register, perhaps this is different for other hardware?
I've created a new example in commit a5040471daa50868b1be4cf9953a969a7c403639, please give MinimalInterruptUnoDIO0 a try and let me know if it works.

Greetings "iwanders" and thanks for the library.
Having had some issues using the LowPowerLab RFM69 library with a Moteino, I found this while looking around for alternatives while researching how to write my own.  I was about to start working on the SX1231 drivers source code (also on github) and found this library.  It is unfortunate that the Moteino version doesn't send all the pins out, especially reset.
While evaluating your library, I found a couple minor errors and submitted corrections on a fork.
So, I modified the MinimalInterruptUnoDIO0.ino example to work with my 915Mhz Moteino board and removed the dependency on the reset and sender_detect also since I don't have those. I just made it hardcoded to be either a 'sender' or 'receiver'.
It seems to work, at least with my rudimentary check but will have to do some additional testing to get an idea of what error rate it will have.  On the LowPowerLab library I ran a bi-directional ping pong test  and was getting between 3% and 5% packet errors -- and the devices are less than 5 feet apart.
The project I'm using it with sends button presses to multiple receivers and there were occasional times where it looked like the button was "stuck". I first blamed it on not having good de-bouncing and/or bad buttons but some experimentation showed the packet loss was causing it - that's when I started running the ping pong test to see what was going on.
My application isn't doing error detection or retransmit but just sends all of the packets twice... Not great but should have worked much better in my simplistic application than it did.  I'm trying to get near real-time button press response but not sure how well that will work out. I was trying to keep it simple without having to code up a protocol for error detect and retransmit.
This library looks like its working better, so may have something to work with.  Consider it preliminary - I'll still have to modify the example to do my faster ping pong for a more direct comparison.
Do you have a ballpark idea of what kind of bit error rates you are expecting and experiencing?  I'm looking for any guidance to obtain quick device response without complicated software protocols (nor delays).
--  Thanks

It seems to work, at least with my rudimentary check but will have to do some additional testing to get an idea of what error rate it will have. On the LowPowerLab library I ran a bi-directional ping pong test and was getting between 3% and 5% packet errors -- and the devices are less than 5 feet apart.

Considering the distance, I'm surprised by those error rates, they're really high from what I remember when I worked on this. Especially with just a few meters distance. One thing that is important is to have a large capacitor (electrolytic) as close as possible to the radio module. I found that helped significantly. Also you get more bit errors as your bitrate goes up, if you lower it I expect the bit error rate to decrease as well (and range to go up). I'm not sure which baudrate you are using, but consider the lower ones from the baud setup functions. It may help a lot depending on your circumstances.
The maximum ping pong example prints correct and incorrect pingpongs. If you look at the readme's section on performance you can see that in the simple test I did for the readme I pingponged 123468 messages with zero incorrect or missed transmissions. In the maximum speed example I send 101600 messages, it shows one incorrect message, but in fact that's the one from the startup when we sync the timers.. So 3% to 5% is definitely too high. Those tests were done with the examples unmodified, with radios close to each other.

The project I'm using it with sends button presses to multiple receivers and there were occasional times where it looked like the button was "stuck". I first blamed it on not having good de-bouncing and/or bad buttons but some experimentation showed the packet loss was causing it - that's when I started running the ping pong test to see what was going on.

Hmm, I would definitely not use two packets for the 'depress' and 'press' event. I would just use one for 'button pressed', or one message that sends 'button pressed for x ms'. That way you can do all the debouncing locally and the receivers can't get into a incorrect state if they missed a packet. (Don't do the sending from the button press interrupt, of course.)

I was trying to keep it simple without having to code up a protocol for error detect and retransmit.
Yeah, well, in my opinion it should 'just work'. Especially given the fact that you have multiple receivers that should detect the button press it would likely not be trivial to conceive a simple protocol that does what you need.

I would try the capacitor and lower the baud rate as first steps to resolving your packet loss.

I wanted to let you all know that the Adafruit Feather M0 RFM69 module (and possibly other AdaFruit boards) connects the RST pin and breaks out the DIO 2, 3, and 5 pins. This makes the addition of a short jumper to enable those pins a trivial modification.
https://cdn-learn.adafruit.com/assets/assets/000/032/914/original/feather_schem.png?1465421956

Thanks for adding that information @etherfi, that's useful information for people who just want things to work without lots of soldering. :+1:

i want to measure the ping of rfm69 hcw ....please can anyone give ping library so that i can check the network response speed of rfm69

This is an old, closed thread. If you want help, please start a new thread.


to #10692: fix Parameter transfer problem when recover failed task an…

https://github.com/apache/dolphinscheduler/issues/10692

Pls fix ci error


Added GitHub testing with JDK19

Enabled testing on latest available Temurin (JDK19), so that we could catch here issues on newer jdks, such as: https://github.com/rh-openjdk/CryptoTest/pull/31

Considering that in a month we weill be bumping that 19 to 20, can it be extracted to variable?

Ok, I'll try that :)

ty!
lgtm

Btw I noticed the github actions of many our pojects are full of "19". Once it will be changed (by anybody) the varibale would be highly appreciated.  Thanx!


[GLUTEN-6701][CH] fix: Performace regression at 20240802 daily build

What changes were proposed in this pull request?
Revert https://github.com/apache/incubator-gluten/pull/6659
(Fixes: #6701)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

By reverting https://github.com/apache/incubator-gluten/pull/6659 and https://github.com/apache/incubator-gluten/pull/6677, The perfromance is good

20240803
20240803-6702

1
mean-total 126708, min-total 122403
mean-total 102143, min-total 96952

2
mean-total 119730, min-total 116358
mean-total 103784, min-total 99023

3
mean-total 125670, min-total 121776
mean-total 103295, min-total 97832

let's try only revert https://github.com/apache/incubator-gluten/pull/6659


spring boot: how to provide application.properties for payload app

Hi - it appears that the datasource for payloads when run with a JQM provided context doesn't reflect the application.properties of the payload spring boot app.
Is there a way to set application.properties for JQM provided context? Possibly adding it to the classpath somehow (I'm terrible with classpath magic...)
The workaround I've found is to provide the datasource on a @Configuration class:
    @Bean
    @Primary
    public DataSource dataSource() {
        return DataSourceBuilder
                .create()
                .username("")
                .url("")
                .driverClassName("")
                .build();
    }

Thanks!

Hi. I shall take a look at this but inside JQM, the usual way to define data sources is to use JNDI, which in turn can be injected by Spring without further ado. There is a full section inside the doc on the JNDI directory.


no utf surrogate in json.dump

I noticed during testing, that uft surrogates are being used.
E.g. in the mathlib notations like this one:
# @[inherit_doc]
# scoped notation "𝓟" => Filter.principal
would only yield  " \ud835\udcdf" instead of "𝓟"  and this would not be consumed correctly by the REPL env.

Merging into dev and running unit tests.
Thanks!


Add players list with some moderator command

Hello,
Is it possible to add a players list with some moderator commands (kick, revive, ...) ?
Thanks !

This is definitely possible! What do you mean with revive?

Heal somebody, resurrect, give food, water etc.

Hmm yeah we could eventually do that but i think a good starting point is list players and kick/ban

Some general server admin stuff like force adding a player into a Tribe might be useful as well. On our server we seem to have a bug where sometimes guild members end up not being part of the tribe anymore and me having to go into the game to ForcePlayerToJoinTargetTribe ... would be handy if we could do server admin commands like that from the server itself.


500 error

http://purl.bdrc.io/lib/rootSearchGraph?LG_NAME=sa-deva&I_LIM=500&L_NAME="धर्म"&format=json
gives a 500, it would be useful to have the stacktrace to see where there's an error (could be in the analyzers)

This is an error in the analyzers, let's ignore it (it should disappear when we deploy a more recent config of Fuseki)


RetryMakeDirs refactor

Refactor try/except OSError blocks to use the RetryMakeDirs decoration instead

Coverage increased (+0.03%) to 90.085% when pulling 2ca68b9d959602887f28fdfe62a22c26acab9acf on dev into 09565e8e15a5ff4b51321fe96a2e1d375b10b58f on master.


Remove all Mozilla Thunderbird v78.1.0 manifest files

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

Microsoft Reviewers: Open in CodeFlow

I'm closing this PR for now -- will issue individual PRs for the v78.1.0 manifest files.


[SERVICE TEAM SUPPORT REQUEST] Unable to download connector using paconn download

Description of Feature or Work Requested
Hi, I am facing an issue trying to download any connector from my environment. It was working fine yesterday, today I am seeing an error:
HTTPSConnectionPool(host='paeu2weu8.blob.core.windows.net', port=443): Max retries exceeded with url: /api-swagger-files/working-20days-5f4852aa71f2f6363c-5fefd1edd798a27c02.json_original?sv=2018-03-28&sr=b&sig=mC1aqcbJYJwHExvOOBZkSXaciH7kUEdNPSjlY%2FL3KDc%3D&se=2022-09-13T17%3A32%3A43Z&sp=r (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')))
It is not even working for the connector I was able to successfully download yesterday. What is the reason of this issue? How to solve it?

Thanks in advance,
Tomasz
Target Date
No Target Date.

Sorry, I was connected to VPN that messed with certification authority :)


Randomly pick start idx of test dataset in concurrency search.

In the current implementation of concurrent search, all threads begin querying the test dataset starting at index 0 and proceed sequentially through the dataset (looping multiple times). As a consequence, all threads are making the same query to the database almost at the same time. To make it more realistic the PR starts each query from a different starting index, resulting it different threads running different queries.
Databases like Postgres, rely on storing the data/index on disk and loading it on demand in memory. In case of constraint memory, where index doesn’t fit in memory, the first query typically hits the table, but subsequent queries are served from the index cached in shared_buffers. This skews performance metrics by making it difficult to observe the true cost of querying uncached data.
Note that there is no ramp-up or pre-warming step in VectorDBBench. However, there is a serial search task during which recall is calculated, where the set of 1000 queries is executed (this is the same set that is queried during the conc search). Therefore, the relevant index should already be present in memory, if enough memory is there. However, in case memory is not large enough to hold the index, it makes sense that randomizing the idx will result it more realistic numbers.
In summary, if index fits in memory, then this and previous approach would give same QPS. However in case index > memory, QPS numbers with these changes will decrease as different threads are executing different queries at the same time and to accommodate the index in memory certain data needs to be evicted.
Tested on:
Database: Postgres
Algo: pgvectorhnsw

/assign @xuanyang-cn

@Sheharyar570 Well done! Randomizing the start_idx can reduce cache hits, which will make the VectorDBBench tests more representative of real-world scenarios. You did an amazing job!


Disappearing cursor when using bash keyboard shortcuts

Issue summary
When using the keyboard shortcuts CTRL+A, CTRL-E the cursor disappears on the Firefox 76.0.1 browser.
This bug started happening on version 2.15.1 and is present through the current version 2.16.1. I've confirmed that version 2.14.1 is ok. Also confirmed that I don't see this bug on Chrome.
Reproduced on http://codepen.io/jcubic/pen/MbVMwO on Firefox 76.0.1 (64-bit), on MacOs Catalina.

Thanks for the report, it seems that in Firefox cursor work only when it's at the end of the line. Probably some CSS issue. Will investigate.

The issue is fixed on devel branch it will be in next bug fix release probably in the end if the week.