How to overwrite the example theme

I am trying to develop based off this Bowser boilerplate, but whenever I try to edit or remove the example file structure, I get an error.
How to reproduce the issue
e.g. Trying to replace the firstExample and secondExample screens
Whenever I try to remove these and add my own screens in example-navigator.ts, I get the error:  Error: There is no route defined for key firstExample. Must be one of: .........
e.g. When trying to change the default font, if I remove the default Montserrat font files, I get an error
What I think is going on
The only remaining references to these example files, (i.e. the example screens and the font) are within the node_modules/ignite-ir-boilerplate-bowser/boilerplate/src directory
Could these files be causing it? And if so what should I do?
Many thanks!

Try to remove all application data or remove and reinstall the app on your phone/emulator.
It's probably because of the persisted navigation state.

About the font, please find the font name in global to check you have removed all references.

Amazing! That's done it @PMExtra - thanks a tone!!!! 💯💯


add a legend to map

It would be great to have a legend in the map, to understand which color means what.
I did annual changes, not sure if this is also true for the other options.

close because the issue is duplicated: https://github.com/sepal-contrib/tmf_sepal/issues/7


Please update characters in accent insensitive search

I am having problems using search without diacritics for some special characters in languages. I have made changes to your function and just want to recommend to use the fastest code from this example:
http://jsperf.com/diacritics/27
It removes much more diacritics characters than actual solution.

Released in v1.13.4!


Fix onnxrt adaptor

Type of Change
bug fix
Description
https://inteltf-jenk.sh.intel.com/view/lpot-validation/job/intel-lpot-validation-top-mr-extension/4522/artifact/report.html

extension test pass


chore(jest): ignore node_modules from watched files

jest --watch fails with open file limit reached.

You merged before, I opened the webpage. 😆


Youtube extracts super slow

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

$ yt -xi https://www.youtube.com/user/CableMetabollic/videos
[youtube:user] CableMetabollic: Downloading channel page
[youtube:playlist] UUqyT_nIuhQiVp_BiW0MO8ng: Downloading webpage
[download] Downloading playlist: Uploads from CableMetabollic
[youtube:playlist] UUqyT_nIuhQiVp_BiW0MO8ng: Downloading page #1
[youtube:playlist] playlist Uploads from CableMetabollic: Downloading 184 videos
[download] Downloading video 1 of 184
[youtube] jg1Gq8lL-eU: Downloading webpage
[download] Destination: Ed Rush, DJ Trace, & Nico - The Droid-jg1Gq8lL-eU.m4a
[download] 100% of 5.88MiB in 00:01
[ffmpeg] Correcting container in "Ed Rush, DJ Trace, & Nico - The Droid-jg1Gq8lL-eU.m4a"
[ffmpeg] Post-process file Ed Rush, DJ Trace, & Nico - The Droid-jg1Gq8lL-eU.m4a exists, skipping
[download] Downloading video 2 of 184
[youtube] Q0zkPEnJPCw: Downloading webpage
[youtube] Q0zkPEnJPCw: Downloading MPD manifest
[dashsegments] Total fragments: 62
[download] Destination: DJ Mix 11_01_09-Q0zkPEnJPCw.m4a
[download] 100% of 9.27MiB in 10:12
[ffmpeg] Correcting container in "DJ Mix 11_01_09-Q0zkPEnJPCw.m4a"
[ffmpeg] Post-process file DJ Mix 11_01_09-Q0zkPEnJPCw.m4a exists, skipping
[download] Downloading video 3 of 184
[youtube] B-bvEARBenE: Downloading webpage
[youtube] B-bvEARBenE: Downloading MPD manifest
[dashsegments] Total fragments: 62
[download] Destination: Apache Mix Part One-B-bvEARBenE.webm
[download] 100% of 8.63MiB in 05:26
[ffmpeg] Destination: Apache Mix Part One-B-bvEARBenE.opus
Deleting original file Apache Mix Part One-B-bvEARBenE.webm (pass -k to keep)
[download] Downloading video 4 of 184

ET CETERA...

[download] Downloading video 92 of 184
[youtube] sE41kx0giBk: Downloading webpage
[youtube] sE41kx0giBk: Downloading MPD manifest
[dashsegments] Total fragments: 51
[download] Destination: DJ Mix - All Gremlinz Mix - 07_24_09-sE41kx0giBk.m4a
[download]   7.8% of ~5.80MiB at  1.48MiB/s ETA 12:06

Description

Download is extremely slow on this whole playlist.  Reports ~800-1200KBPS but actual speed is ~1/10 lower.  Note last line of log - doesn't know actual file size.  How is 5.80MiB at 1.48MiB/S gonna take 12:06?   Segment downloading issue here?

had same issue fixed by adding --force-ipv4

I am running version 2020.07.28
I also had the same issue with suuuper long download times.  It was also affecting updates using youtube-dl -U.  dym-sh's suggestion fixed it.  Thank you @dym-sh !


Suite duration not correct for parallel tests

When running tests in a suite the total duration of the suite is the sum of each test's duration which is not correct for tests executed in parallel.
Here is a sample test class:
package zpetkov.java;

import java.util.Date;

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class ParallelTestNG {

   @BeforeClass
   public void beforeClass() {
      System.out.println("Start: " + new Date());
   }

   @AfterClass
   public void afterClass() {
      System.out.println("End: " + new Date());
   }

   @Test
   public void test1() throws InterruptedException {
      Thread.sleep(5000);
   }

   @Test()
   public void test2() throws InterruptedException {
      Thread.sleep(5000);
   }

   @Test()
   public void test3() throws InterruptedException {
      Thread.sleep(5000);
   }

   @Test()
   public void test4() throws InterruptedException {
      Thread.sleep(5000);
   }

}

The suite:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" verbose="1">
    <test name="Test" parallel="methods" thread-count="5">
        <classes>
            <class name="zpetkov.java.ParallelTestNG" />
        </classes>
    </test>
</suite>

Running this you should get output:
Start: Sun May 03 15:31:45 EEST 2015
End: Sun May 03 15:31:50 EEST 2015

===============================================
Suite
Total tests run: 4, Failures: 0, Skips: 0
===============================================

Looks like total duration is 5 seconds, but this is what eclipse shows:

It works for me:
Start: Sun May 03 09:13:34 PDT 2015
End: Sun May 03 09:13:39 PDT 2015
PASSED: test3
PASSED: test4
PASSED: test1
PASSED: test2

The screenshot you are showing is a bit odd: the green bar does show that the 4 methods ran in 5 seconds but the tree is claiming 20 seconds. Not sure what to make of that, did the tests really take 20 seconds to run?

Im pretty sure the whole suite does not take 20 seconds, it just reflects the sum of the durations.

Oh so you were just reporting the fact that the Eclipse plug-in is reporting incorrect times, got it.

ping @missedone - Nick can you please help take a look at this and advice if this is still a problem with the eclipse plugin ?

yes, looks like an issue in Eclipse Plugin:

https://github.com/cbeust/testng-eclipse/blob/master/testng-eclipse-plugin/src/main/org/testng/eclipse/ui/tree/SuiteTreeItem.java#L42
https://github.com/cbeust/testng-eclipse/blob/master/testng-eclipse-plugin/src/main/org/testng/eclipse/ui/tree/BaseTreeItem.java#L38

will try to fix it.

Closing this issue since its a problem with the eclipse plugin that is being tracked separately.


Feedback

[Enter feedback here]
Thanks for the exploration. Some code Examples will be good.

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

ID: 87848fec-98e6-32fe-8edb-c90b2ac0cd20
Version Independent ID: e4e9df75-c5bf-59f1-3eac-14f3becaee0e
Content: Process and Environment Control
Content Source: docs/c-runtime-library/process-and-environment-control.md
Product: visual-cpp
Technology: cpp-ucrt
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

I agree, but unfortunately, due to resourcing, I won't be able to get to this.
I've tagged it for community help and will leave it open for a while to see if we get any takers. If not, I'll close it.


Reaching the end of a div with scroll

Is it possible to detect whenever we reach the end of a certain div with the scroll? I'm using the infinite scroll function but instead of triggering in the end of the page I want it to be triggered when we reach the end of a div.

You could set the onTotalScrollOffset to be your div's height. For example:
onTotalScrollOffset: $("#element-id").height()
There are more than one ways to do this. Does the above help?

Isn't that outputting the height value instead of triggering when it reaches the height? For example, if my div has 100px height, the offset will be 100px from the bottom of the page up.

Oh sorry that was a mistake (I thought you just wanted the last element's height to be your offset).
You could set onTotalScrollOffset dynamically via the onInit callback. For example:
$(selector).mCustomScrollbar({
  callbacks:{
    onInit:function(){
      $(this).data("mCS").opt.callbacks.onTotalScrollOffset=Math.abs(this.mcs.content.innerHeight()-($("#element-id").position().top+$("#element-id").outerHeight(true)));
    },
    onTotalScroll:function(){ /* your callback */ },
    alwaysTriggerOffsets:false
  }
});

Let me know if this works for what you need

That works perfectly fine :) If it's not abusing too much, is it possible to give it a margin? Like e.g. if I'm close 50px to the end, it'll trigger the scroll :)
Thank you for your time!

You could do it by replacing in the code above:
$("#element-id").outerHeight(true)
with:
($("#element-id").outerHeight(true)-50)

Thank you brother! :)

You're welcome :)

The above example works like a charm! Thanks for that!


Multiple EventLoopGroup cause socketException

Hi.
Recently I make a server-stress-test client with netty bootstrap.
First,
I create multiple bootstrap to connect server and it causes error: java.net.SocketException: No buffer space available (maximum connections reached?): connect when the bootstrap was created bout 1,000 times in my computer.
At last i search in google find the right way to make to multiple connection with bootstrap.
And i looked at the bootstrap code and found nothing to cause SocketException.
Now i wonder why it causes SocketException when i create multiple bootstrap object and the correct way to create multiple client connection to server.
Here is the incorrect code(cause SocketException) and correct(maybe?) code.
Incorrect Code.
for(int i = 0; i < 5000; i++) {
  EventLoopGroup workerGroup = new NioEventLoopGroup();
  Bootstrap bootstrap = new Bootstrap();
  bootstrap
    .group(workerGroup)
    .channel(NioSocketChannel.class)
    .option(ChannelOption.SO_KEEPALIVE, true)
    .option(ChannelOption.SO_REUSEADDR, true)
    .handler(new ChannelInitializer<SocketChannel>() {
      @Override
      protected void initChannel(SocketChannel ch) throws Exception {
        ch.pipeline().addLast(new EchoHandler());
      }
    });

  try {
    ChannelFuture future = bootstrap.connect("localhost", 10000).sync();
  } catch (InterruptedException e) {
    e.printStackTrace();
  }
}

Correct(?) Code
EventLoopGroup workerGroup = new NioEventLoopGroup();
Bootstrap bootstrap = new Bootstrap();
bootstrap
  .group(workerGroup)
  .channel(NioSocketChannel.class)
  .option(ChannelOption.SO_KEEPALIVE, true)
  .option(ChannelOption.SO_REUSEADDR, true)
  .handler(new ChannelInitializer<SocketChannel>() {
    @Override
    protected void initChannel(SocketChannel ch) throws Exception {
      ch.pipeline().addLast(new EchoHandler());
    }
  });

List<ChannelFuture> list = new ArrayList<>();
for(int i = 0; i < 5000; i++) {
  ChannelFuture future = bootstrap.connect("localhost", 10000).sync();
  list.add(future);
}

Error Exception
Exception in thread "main" java.lang.IllegalStateException: failed to create a child event loop
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:88)
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
	at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:52)
	at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:87)
	at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:82)
	at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:63)
	at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:51)
	at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:43)
	at com.example.demo.DemoApplication.multipleBootstrap(DemoApplication.java:54)
	at com.example.demo.DemoApplication.main(DemoApplication.java:31)
Caused by: io.netty.channel.ChannelException: failed to open a new selector
	at io.netty.channel.nio.NioEventLoop.openSelector(NioEventLoop.java:175)
	at io.netty.channel.nio.NioEventLoop.<init>(NioEventLoop.java:149)
	at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:127)
	at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:36)
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
	... 9 more
Caused by: java.io.IOException: Unable to establish loopback connection
	at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:94)
	at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:61)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:171)
	at sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:50)
	at java.nio.channels.Pipe.open(Pipe.java:155)
	at sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:127)
	at sun.nio.ch.WindowsSelectorProvider.openSelector(WindowsSelectorProvider.java:44)
	at io.netty.channel.nio.NioEventLoop.openSelector(NioEventLoop.java:173)
	... 13 more
Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): connect
	at sun.nio.ch.Net.connect0(Native Method)
	at sun.nio.ch.Net.connect(Net.java:454)
	at sun.nio.ch.Net.connect(Net.java:446)
	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
	at java.nio.channels.SocketChannel.open(SocketChannel.java:189)
	at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(PipeImpl.java:127)
	at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:76)
	... 21 more

Expected behavior

Actual behavior

Steps to reproduce

Minimal yet complete reproducer code (or URL to code)
See Incorrect Code
Netty version
4.1.15.Final
JVM version (e.g. java -version)
java 1.8.0_151
OS version (e.g. uname -a)
Windows 10-64bit Enterprise 1709

Creating thousands of connections with the shutdownGracefully default does not let the JVM breathe to release the ports.  And if you want to be sure of the closing, use shutdownGracefully...sync().

This has to do with system-limits. You may need to raise some of them or not create so many instances. There is nothing we can do about it

@normanmaurer I create multiple servers sharing the same Eventloop group. My requirement is to close those servers individually(https://github.com/ballerina-platform/module-ballerina-http/pull/1040). I can't use workerGroup.shutdownGracefully(); as it shutdown all the service in the same Eventloop group. Also I can't have seperate
Eventloop groups for each server, as it causes java.lang.IllegalStateException: failed to create a child event loop and Too many open files exceptions.
What is the best practice to implement immediate stop for bunch of services which shares the same Eventloop group?

@chamil321 just call close() on the ServerChannel ?

@chamil321 just call close() on the ServerChannel ?

Great!! Thanks. It did work.  https://github.com/chamil321/module-ballerina-http/blob/fix-too-many-file-open/native/src/main/java/io/ballerina/stdlib/http/transport/contractimpl/listener/ServerConnectorBootstrap.java#L248


Prepare 1.3.0 release

This release sets the minimum supported Gradle version to 5.
1.2.2 was released to support gradle 4.9+ for the last time and include the Project.detekt deprecation warning.

Codecov Report

Merging #2165 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2165   +/-   ##
=========================================
  Coverage     80.58%   80.58%
  Complexity     2024     2024
=========================================
  Files           337      337
  Lines          5836     5836
  Branches       1065     1065
=========================================
  Hits           4703     4703
  Misses          564      564
  Partials        569      569

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 ffbd6e1...0e04cd9. Read the comment docs.

I merged two additional PRs, because I forgot about your PR that releases v1.3.0.
Can you please update the changelog once more?
Sorry for that! @arturbosch

@schalkms no problem, I was kinda busy, so I will see what else we can/will ship with 1.3 :)


where is the changelog?

hi - i saw a new release came out over the weekend.
there isnt a change log attached.
where can i find it?
if the project doesnt generate a change log .. how about this? https://github.com/github-changelog-generator/github-changelog-generator

anybody?


feat: add FixedLength#parse(Reader)

Addresses #36. Please let me know if this is acceptable for you or if I should change anything.

Right, got it removed 😃


Introduce service task failure data

Fetch service task (last) failure data alongside groups and provide getter - this is needed to implement the service debug tab.
/cc @mlunoe

I like it.


Shayan/feq 2389/implement auto login to p2p

changes:

updating the clients.accounts structure before storing it in. the localStorage so the api-hooks can use it

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.531%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4793

Relevant Lines:
5634

💛  - Coveralls

package-lock file shows a lot of changes but we only updated api-hooks version. can you please check?

@farrah-deriv updated 🙏


/organization/new and /method/new both throw the same server error

Possibly Unhandled Rejection at: Promise  Promise {
  <rejected> { error: invalid input syntax for integer: "'NaN'"
      at Connection.parseE (/Users/alannascott/code/participedia/api/node_modules/pg/lib/connection.js:555:11)
      at Connection.parseMessage (/Users/alannascott/code/participedia/api/node_modules/pg/lib/connection.js:380:19)
      at Socket.<anonymous> (/Users/alannascott/code/participedia/api/node_modules/pg/lib/connection.js:120:22)
      at Socket.emit (events.js:193:13)
      at Socket.EventEmitter.emit (domain.js:481:20)
      at addChunk (_stream_readable.js:296:12)
      at readableAddChunk (_stream_readable.js:277:11)
      at Socket.Readable.push (_stream_readable.js:232:10)
      at TCP.onStreamRead (internal/stream_base_commons.js:150:17)

Ah, ordering is important for routes. router.get('/new', fn) has to come before router.get('/:thingid:/', fn) or :thingid will be "new" instead of a number, and we'll try to retrieve an article with id "new" and BAD THINGS HAPPEN.


http & https redirection issues

Hello,
I was trying out isso instead of disqus. I have never hosted a comments server, so am trying it out on localhost.
This is my isso.conf file:
; -*- mode: conf-windows -*-
[general]
; database location, check permissions, automatically created if not exists
dbpath = /home/kmodi/usr_local/opt/isso/var/comments.db
; your website or blog (not the location of Isso!)
host =
     http://localhost:4444/~kmodi/beta/
[server]
listen = http://localhost:1234/

I use this in my static blog:

Please enable JavaScript to view the comments powered by Isso.
comments powered by Isso

And this is how I start the server:
> isso -c /home/kmodi/usr_local/opt/isso/etc/isso.conf run
2017-02-22 12:38:09,756 INFO: connected to http://localhost:4444/~kmodi/beta/

Above is all I get; I see not activity there as I click on Submit.
Here is what Firefox Inspector shows: I get 301 error on POST and 404 error on GET when I click on Submit.

Thanks for the reply.
I tried Chrome and I get this.. the same 301 error.

Where does it redirect?

How can I know that? I am an absolute beginner in web development.
I read through the QuickStart. I have not idea what Nginx is or how to install it -- I am on my work machine. So I probably won't be able to install that.
(My plan is to host comments for my work blog generated using hugo. Right now I am testing it out on localhost, but my blog then gets available at foo.bar.com/~$USER/.)

Inspector → Network →select the redirect request.

I wonder why it even redirects. This seems to be automatic from the framework. Can you remove the trailing slash at the end of data-isso="//localhost:1234//"?

I see this.. does it help?

Can you remove the trailing slash at the end of data-isso="//localhost:1234//"?

Yay! That fixed it!
The reason I got those trailing double-slashes is because I was looking for examples and had found this.
Can you explain what those // did? Would that have caused problem anyways? Or just because this was on localhost?
Thanks!

Proof :)

2017-02-22 13:39:57,477 INFO: comment created: {"website": null, "author": null, "parent": null, "created":<PHONE_NUMBER>.436903, "text": "test2", "dislikes": 0, "modified": null, "mode": 1, "hash": "4505c1eeda98", "id": 2, "likes": 0}

The second slash forced triggered an automatic redirection from the web framework and the JavaScript didn't handle that well. Definitely a bug, but with an easy workaround.

I read through the QuickStart. I have not idea what Nginx is or how to install it -- I am on my work machine. So I probably won't be able to install that.

You can use the built-in web server of Isso/Python, a frontend web server (e.g. nginx) is still useful for HTTPS handling etc.

Now it is working on Firefox too.

Definitely a bug, but with an easy workaround.

Should I keep this issue open then?
By the way, it also works on my published static website :)
I have this as isso.conf:
; -*- mode: conf-windows -*-
[general]
; database location, check permissions, automatically created if not exists
dbpath = /home/kmodi/usr_local/opt/isso/var/comments.db
; your website or blog (not the location of Isso!)
host =
     http://localhost:4444/~kmodi/beta/
     http://www.foo.bar.com/~kmodi/beta/
; you can add multiple hosts for local development
; or SSL connections. There is no wildcard to allow
; any domain.
; host =
;     http://localhost:1234/
;     http://example.tld/
;     https://example.tld/
[server]
listen = http://baz.foo.bar.com:5555/
; baz.foo.bar.com is my $HOST
; listen = http://localhost:1234/
; Basic Spam protection - https://posativ.org/isso/docs/configuration/server/#id8
[guard]
enabled = true
ratelimit = 2
direct-reply = 3
reply-to-self = false
require-author = false
require-email = false

Should I keep this issue open then?

Yes. I guess this also affects automatic redirection from HTTP to HTTPS in certain situations.

@kaushalmodi is this still a current issue?

@ix5 I'll close this issue as I am not using isso right now.


accuracy not changing when using decisionet of NiN

hi noam,
אני מריץ את הקוד עם הbaseline שבאמת נותן דיוק של 87 אחוז בסוף ההרצה לאחר מכן בהרצה של decision-net נראה שלא מתרחש שינוי בדיוק אני מתחיל לבדוק את זה אבל משער לעצמי שזה אולי קשום לאחד מהhyper parameters או משהו כזה
זה נשמע הגיוני?
תודה!
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.844%% (2079/21120); Sigma Loss: 0.409 | Sigma Acc: 25.014%% (5283/21120)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.850%% (2093/21248); Sigma Loss: 0.410 | Sigma Acc: 24.995%% (5311/21248)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.857%% (2107/21376); Sigma Loss: 0.409 | Sigma Acc: 25.005%% (5345/21376)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.849%% (2118/21504); Sigma Loss: 0.410 | Sigma Acc: 25.009%% (5378/21504)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.870%% (2135/21632); Sigma Loss: 0.411 | Sigma Acc: 24.991%% (5406/21632)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.876%% (2149/21760); Sigma Loss: 0.412 | Sigma Acc: 24.977%% (5435/21760)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.864%% (2159/21888); Sigma Loss: 0.411 | Sigma Acc: 24.941%% (5459/21888)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.861%% (2171/22016); Sigma Loss: 0.411 | Sigma Acc: 24.918%% (5486/22016)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.849%% (2181/22144); Sigma Loss: 0.411 | Sigma Acc: 24.950%% (5525/22144)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.820%% (2187/22272); Sigma Loss: 0.411 | Sigma Acc: 24.942%% (5555/22272)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.821%% (2200/22400); Sigma Loss: 0.412 | Sigma Acc: 24.938%% (5586/22400)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.814%% (2211/22528); Sigma Loss: 0.413 | Sigma Acc: 24.969%% (5625/22528)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.812%% (2223/22656); Sigma Loss: 0.413 | Sigma Acc: 24.982%% (5660/22656)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.853%% (2245/22784); Sigma Loss: 0.412 | Sigma Acc: 24.978%% (5691/22784)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.873%% (2262/22912); Sigma Loss: 0.413 | Sigma Acc: 24.965%% (5720/22912)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.861%% (2272/23040); Sigma Loss: 0.412 | Sigma Acc: 24.939%% (5746/23040)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.863%% (2285/23168); Sigma Loss: 0.412 | Sigma Acc: 24.953%% (5781/23168)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.864%% (2298/23296); Sigma Loss: 0.411 | Sigma Acc: 24.944%% (5811/23296)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.866%% (2311/23424); Sigma Loss: 0.411 | Sigma Acc: 24.927%% (5839/23424)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.880%% (2327/23552); Sigma Loss: 0.411 | Sigma Acc: 24.932%% (5872/23552)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.886%% (2341/23680); Sigma Loss: 0.412 | Sigma Acc: 24.924%% (5902/23680)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.892%% (2355/23808); Sigma Loss: 0.411 | Sigma Acc: 24.912%% (5931/23808)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.889%% (2367/23936); Sigma Loss: 0.412 | Sigma Acc: 24.912%% (5963/23936)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.890%% (2380/24064); Sigma Loss: 0.411 | Sigma Acc: 24.925%% (5998/24064)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.879%% (2390/24192); Sigma Loss: 0.412 | Sigma Acc: 24.901%% (6024/24192)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.860%% (2398/24320); Sigma Loss: 0.411 | Sigma Acc: 24.905%% (6057/24320)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.886%% (2417/24448); Sigma Loss: 0.410 | Sigma Acc: 24.906%% (6089/24448)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.896%% (2432/24576); Sigma Loss: 0.410 | Sigma Acc: 24.870%% (6112/24576)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.869%% (2438/24704); Sigma Loss: 0.409 | Sigma Acc: 24.870%% (6144/24704)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.862%% (2449/24832); Sigma Loss: 0.410 | Sigma Acc: 24.871%% (6176/24832)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.872%% (2464/24960); Sigma Loss: 0.409 | Sigma Acc: 24.888%% (6212/24960)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.873%% (2477/25088); Sigma Loss: 0.410 | Sigma Acc: 24.880%% (6242/25088)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.883%% (2492/25216); Sigma Loss: 0.410 | Sigma Acc: 24.853%% (6267/25216)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.880%% (2504/25344); Sigma Loss: 0.410 | Sigma Acc: 24.850%% (6298/25344)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.878%% (2516/25472); Sigma Loss: 0.410 | Sigma Acc: 24.839%% (6327/25472)
Total Loss: 2.303; Cls Loss: 2.303 | Cls Top-1 Acc: 9.867%% (2526/25600); Sigma Loss: 0.410 | Sigma Acc: 24.867%% (6366/25600)

Hi @ItamarDabush
Thanks for using my code (it actually excites me 😅 )
I'll look into it later this week if time will allow.
Obviously, I expect the same behavior as what was presented in the paper. it's been more than a year since I touched this code, so it will take me some time to get what's going on there :)

ok, I think I got this - try running with --beta 0.5 (that's the value used in our final results in the paper). The default value of beta is 0, so it makes sense that the loss is stuck with this value.
I just ran it and after 3 epochs I'm > 28% top-1 accuracy (in both the train & test sets). If the other hyper-parameters' default values are as we described in the paper, you should end up at ~86.8% test-set top-1 accuracy, as reported in the paper.

thanks! that was the problem. its intresting thats beta =0 makes the network not to improve at all🤔

If I remember correctly, when beta=0 the net collapses to a single computational route, which is just too small for this task. We saw some interesting phenomenons that invite some more research, go ahead :)


Adding a mechanism for self-improvement

Summary of Updates
1⃣  Internal Feedback Action:
Added the Feedback action in metagpt/actions/internal_feedback.py to allow internal evaluation among agents (currently supporting the handover process).
2⃣ Action Functions Enhancement:
Introduced two new methods, _add_action_at_head() and _add_action_at_tail(), for improved clarity and ease of defining actions.
3⃣ Long-Term Memory Utilization:
Commenced utilization of the previously underutilized longterm_memory, currently supporting storage in a JSON file. Future improvements will involve leveraging existing FAISS support.
4⃣ Reflective Mechanism:
Incorporated the reflect.py module within metagpt/learn.
5⃣ Initialization with Feedback:
Implemented feedback-driven constraints initialization during role setup, marking the initial phase of our journey towards self-improvement.
These updates address several urgent issues, including effective long-term memory utilization, internal evaluation mechanisms, and the integration of historical data into the self-improvement mechanism. And there is still ample room for improvement beyond these updates. 😄
Quick usage: python startup.py "Write a cli snake game" --self_improvement True
Note: Unit tests are pending implementation due to time constraints and will be added in the near days.

Excellent!  It seems that the HANDOVER_FILE is necessary. Could you kindly provide it as well?

This PR has been closed because it took too long, feel free to reopen it.


Aerox 3 Wireless never seems to persist my color settings (#000000 for everything. Max power savings.)

Bug description
What happened
I have to run my rivalcfg command every time to ensure the mouse doesn't engage its LEDs. I was dealing with multiple charges per day when they were left on. It's much easier to charge every second day or even later by leaving them off.
The command I currently issue at graphical session start (automatically) and manually after going from usb-c charging back to wireles mode is: /usr/bin/rivalcfg -p 1000 -s "800,800,800,800,800" -t 3 -T 0 -a 000000 --top-color 000000 --middle-color 000000 --bottom-color 000000
What was expected
Mouse should persist these "Stay dark" settings.

Step to reproduce

Is the bug always reproducible or is it "random"?

→

Issue a rivalcfg command which makes the LEDs stay off. Simply turn the mouse off (2.4GHz/Off/Bluetooth switch to the centre position) then back to the 2.4GHz position and the LEDs back on like the command never happened.
System information
<!-- Please provide the output of the `rivalcfg --print-debug` command here -->
RIVALCFG
========
Version: 4.11.0
udev rules installed: True
udev rules up to date: True
Installation path: /usr/lib/python3.11/site-packages/rivalcfg

OPERATING SYSTEM
================
OS: Linux
Platform: Linux-6.7.8-arch1-1-x86_64-with-glibc2.39
Version: #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000
Distribution issue: Arch Linux \r (\l)

PYTHON
======
Python version: 3.11.8
HIDAPI version: 0.14.0

PLUGGED STEELSERIES DEVICES ENDPOINTS
=====================================
1038:1838 | 00 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 00 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 01 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 02 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 03 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 04 | SteelSeries Aerox 3 Wireless (firmware v0)

Hello,
As written in the documentation page of the device:

On newer SteelSeries mice, the color settings are not saved in the onboard memory anymore (see Default Lighting bellow).

This is not a Rivalcfg bug but a design choice of SteelSeries for their hardware.

To turn off lighting by default, you may use the following command instead of setting a black color:
rivalcfg --default-lighting off

Additionally I am thinking of a way to restore last known settings each time the mouse is plugged to the computer, at least on Linux.

For reference, here is a related issue: https://github.com/flozz/rivalcfg/issues/191

Thanks for that command I've run it.
I too was considering something like a udev rule to run say, a one-liner bash script which just contains my rivalcfg command as mentioned. If rivalcfg could implement its own persistent settings option that would certainly be nifty - though in regular use-cases people buying new mice would probably find the flags change for their changed model anyway - invalidating their persistent settings.

Since v4.4.0, Rivalcfg started to save settings on disk (~/.config/rivalcfg). This was a mandatory step to be able to implement a GUI. Maybe in the future it will be also used to restore settings at startup / when mouse is plugged back. :)


Use Consistent Values for Repetition Tests

Use consistent values not time() since it is pretty difficult to
troubleshoot previous failed tests when the values being tested are not
known after the fact.

:game_die: :game_die:
Hopefully this makes the failing tests easier to debug. You guys are braver than I would be trying to roll your own recurring date library instead of using recurr.


Remove code coverage reporting from project

No other Flux project uses Codecov (deliberately so) so this is in alignment with that sentiment.

I suppose the Codecov integration needs to be removed from this repository by an admin after this PR has been merged.


Memory leaking issues

When I turn on the -fsanitize=address flag for clang++, and make check.
The aes.elf stage said:
Running build/aes.elf ...
Test results
AES-128 ECB encryption: PASSED!
AES-128 ECB decryption: PASSED!
AES-128 CBC encryption: PASSED!
AES-128 CBC decryption: PASSED!
AES-128 CFB encryption: PASSED!
AES-128 CFB decryption: PASSED!
AES-128 OFB encryption: PASSED!
AES-128 OFB decryption: PASSED!
AES-128 CTR encryption: PASSED!
AES-128 CTR decryption: PASSED!
AES-128 XTS encryption: PASSED!
AES-128 XTS decryption: PASSED!
AES-128 plaintext CMAC: PASSED!
AES-128 Poly1305 auth.: PASSED!
AES-128 GCM encryption: PASSED!
AES-128 GCM decryption: PASSED!
AES-128 CCM encryption: PASSED!
AES-128 CCM decryption: PASSED!
AES-128 OCB encryption: PASSED!
AES-128 OCB decryption: PASSED!
AES-128 SIV encryption: PASSED!
AES-128 SIV decryption: PASSED!
AES-128 GCMSIV encrypt: PASSED!
AES-128 GCMSIV decrypt: PASSED!
AES-128 EAX encryption: PASSED!
AES-128 EAX decryption: PASSED!
AES-128 FF1 encryption: PASSED!
AES-128 FPE decryption: PASSED!
AES-128 key wrapping  : PASSED!
AES-128 key unwrapping: PASSED!
+-> Let's do some extra tests
AES-128 OCB encryption: PASSED!
AES-128 OCB decryption: PASSED!
AES-128 GCMSIV encrypt: PASSED!
AES-128 GCMSIV decrypt: PASSED!
AES-128 GCMSIV encrypt: PASSED!
AES-128 GCMSIV decrypt: PASSED!
AES-128 SIV encryption: PASSED!
AES-128 SIV decryption: PASSED!
AES-128 SIV encryption: PASSED!
AES-128 SIV decryption: PASSED!
AES-128 EAX encryption: PASSED!
AES-128 EAX decryption: PASSED!
AES-128 EAX encryption: PASSED!
AES-128 EAX decryption: PASSED!
AES-128 Poly1305 auth.: PASSED!
AES-128 Poly1305 auth.: PASSED!

=================================================================
==33140==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 10065 byte(s) in 970 object(s) allocated from:
    #0 0x560ebde7fc82 in operator new(unsigned long) (me/git/rv32jit/build/rv32jit+0x16ac82) (BuildId: d5f40ebc9e253e729fadf45522801b8f8372a477)
    #1 0x560ebdee25ed in dbt::qir::Builder::CreateVGPR(dbt::qir::VType) const (me/git/rv32jit/build/rv32jit+0x1cd5ed) (BuildId: d5f40ebc9e253e729fadf45522801b8f8372a477)

And nqueens.elf said:
Running build/nqueens.elf ...
<---  N-Queens Solutions  --->
 N:        Total       Unique
 2:            0            0
 3:            0            0
 4:            2            1
 5:           10            2
 6:            4            1
 7:           40            6
 8:           92           12
 9:          352           46
10:          724           92
11:         2680          341
12:        14200         1787
13:        73712         9233
14:       365596        45752
15:      2279184       285053

=================================================================
==33144==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1343 byte(s) in 293 object(s) allocated from:
    #0 0x559fd52d8c82 in operator new(unsigned long) (me/git/rv32jit/build/rv32jit+0x16ac82) (BuildId: d5f40ebc9e253e729fadf45522801b8f8372a477)
    #1 0x559fd533b5ed in dbt::qir::Builder::CreateVGPR(dbt::qir::VType) const (me/git/rv32jit/build/rv32jit+0x1cd5ed) (BuildId: d5f40ebc9e253e729fadf45522801b8f8372a477)

and so on.
Would you like to use the smart pointer to replace the new operator?
(Actually, it would be std::shared_ptr and std::weak_ptr, I found there are some caching mechanisms that would need some gc here)

Would you like to use the smart pointer to replace the new operator? (Actually, it would be std::shared_ptr and std::weak_ptr, I found there are some caching mechanisms that would need some gc here)

Please go ahead with C++ smart pointers. Do change the necessary macros accordingly.

QuickIR compiler uses Arena chunks, it is just a mistake, use Arena instead of STL allocator :-)


[Event Request] Report 7305 "Whse.-Source - Create Document" – InitPostedWhseReceiptLineFromPutAway

[Event Request] Report 7305 "Whse.-Source - Create Document" – InitPostedWhseReceiptLineFromPutAway
Could we please have a in publisher OnWhsePutawayWorksheetLineOnAssignValuesPostedWhseRcptLine in function InitPostedWhseReceiptLineFromPutAway Report 7305 "Whse.-Source - Create Document"?
                "Shelf No." := WhseWorksheetLine."Shelf No.";
                "Qty. per Unit of Measure" := WhseWorksheetLine."Qty. per Unit of Measure";
                "Due Date" := WhseWorksheetLine."Due Date";
                "Unit of Measure Code" := WhseWorksheetLine."Unit of Measure Code";

  // >>>>>>>>
                OnWhsePutawayWorksheetLineOnAssignValuesPostedWhseRcptLine(PostedWhseReceiptLine, "Whse. Put-away Worksheet Line");
                // <<<<<<<<
                SourceType := DATABASE::"Whse. Internal Put-away Line";
            end else
                SourceType := DATABASE::"Posted Whse. Receipt Line";

            TestField("Qty. per Unit of Measure");

..
// >>>>>>>>
[IntegrationEvent(false, false)]
local procedure OnWhsePutawayWorksheetLineOnAssignValuesPostedWhseRcptLine(var PostedWhseRcptLine: Record "Posted Whse. Receipt Line"; WhseWorksheetLine: Record "Whse. Worksheet Line");
begin
end;
// <<<<<<<<

Hi @ttaeufer . Why can't you use existing event "OnAfterInitPostedWhseReceiptLineFromPutAway" in this function? There are no any validates, modifies or inserts in this function, so you can easily overwrite any value assigned before.

Yes, we'll take the publisher. Thanks for the tip.


one_of type handler needs better error output

Currently the one_of type handler returns a somewhat cryptic error message, it should be updated to clearly state the problem that occurred.

Fixed in 1.1.0


Check validity of pre-image with random seed

If there is no pre-image revealed previously, the validity of a newly received pre-image should be checked with the random seed of an enrollment. All the operations for checking the validity are based on the distance of two pre-image hashes.
Last commit is about fixing an bug related to calculating distance in order to get pre-image, but the bug had been found when applying the new validity checking code. So I include the commit in this PR. If it's a problem, I will make another PR.
Fixes #694

Ready for review.

Instead of the first two commit, why didn't you go with:
diff --git a/source/agora/consensus/ValidatorSet.d b/source/agora/consensus/ValidatorSet.d
index 9a6b3a70..07dea8ac 100644
--- a/source/agora/consensus/ValidatorSet.d
+++ b/source/agora/consensus/ValidatorSet.d
@@ -113,8 +113,9 @@ public class ValidatorSet

             () @trusted {
                 this.db.execute("INSERT INTO validator_set " ~
-                    "(key, val, enrolled_height) VALUES (?, ?, ?)",
-                    enroll.utxo_key.toString(), buffer, block_height);
+                    "(key, val, enrolled_height, preimage) VALUES (?, ?, ?, ?)",
+                    enroll.utxo_key.toString(), buffer, block_height,
+                    PreImageInfo(enroll.random_seed, block_height));
             }();
         }
         catch (Exception ex)

Instead of the first two commit, why didn't you go with:

The PreImageInfo has distance not height, so there is no way to represent the random seed in PreImageInfo' because cycle.preimages[0]` is the pre-image of the random seed.

Ah, then use 0, not block height.

cycle.preimages[0] is the pre-image of the random seed

But we're talking about cycle.preimages[$] here, no ? In any case, there is definitely a better way to handle this than to leak this into the validation routine.

Ah, then use 0, not block height.

cycle.preimages[0] is the pre-image of the random seed

But we're talking about cycle.preimages[$] here, no ? In any case, there is definitely a better way to handle this than to leak this into the validation routine.

Right, I meant cycle.preimages[$]. Sorry for the confusion.
`cycle.preiamges[$] is the pre-image of the random seed.

I will apply the code of the PR #848  into this PR today.

Ready to review.
The main part of this PR has been handled in the PR #848 and #851  by @Geod24 . So only the bug fix about getting a pre-image of a Node remains in this PR.


Unable to listen to ctrl+z events

hello，npm. package mind-elixir^2.0.2  Unable to listen to ctrl+z trigger operation listening event

You may set allowUndo to false


Setup override after setting up sysclock

Describe the bug
Unable to boot Zephyr on STM32F7 with 216MHz fomr MCUboot
Expected behavior
Normal boot procedure
Impact
Showstopper, CPU doesn't boot.
Logs and console output
Before log output
Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK
Commit SHA: 07c6af3b
Version used v3.3

Additional context
According to the reference manual the overdrive can be enabled when the sysclock source is set and  the PLL has been turned on:

I believe the following code block (including the FLASH ACR LATENCY) should be moved below set_up_plls();
https://github.com/zephyrproject-rtos/zephyr/blob/64e841152737507c62f9daa8009be0a0dbfcdc99/drivers/clock_control/clock_stm32_ll_common.c#L726-L739
I'm having issues in combination with MCUboot, standalone I don't have any issues.

We have a template for reporting issues, can you fill it in instead of clearing it and making it impossible to know what you're using?

We have a template for reporting issues, can you fill it in instead of clearing it and making it impossible to know what you're using?

Just used the github interface:

https://github.com/zephyrproject-rtos/zephyr/issues/new/choose is where issues should be raised
@nashif can this other way of raising issues be blocked?

I believe the following code block (including the FLASH ACR LATENCY) should be moved below set_up_plls();

Did you have a try?

I believe the following code block (including the FLASH ACR LATENCY) should be moved below set_up_plls();

Did you have a try?

Yes, but it's not exactly as the reference manual states.

Do you want me to create a PR @erwango?


Creative Mode / Experimental Branch

Mod stopped working on experimental after the last patch. Not sure if will affect the mod when patch goes to Retail, but I would imagine it will.

Thanks, I'll update soon and release when experimental is done

So creative mode loads as long as the Map Editing tools are disabled. otherwise it sits in limbo on loading screen when you try to load a game. Broken on release today when they patched.
Thanks for everything you do and have done!

When you have could you update this mod ?
This mod breaks in Experimental exiting with a failure.
(TimberAPI is at version 0.4.3, maybe that's the culprit ?)

Updated Creative Mode https://timberborn.thunderstore.io/package/hawkfalcon/CreativeMode/


Create scorecard action to scan for risky supply chain practices

https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions

Codecov Report
Patch coverage has no change and project coverage change: +0.05 :tada:

Comparison is base (1e9c782) 80.76% compared to head (8274504) 80.82%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #924      +/-   ##
==========================================
+ Coverage   80.76%   80.82%   +0.05%
==========================================
  Files         108      108
  Lines        3353     3353
  Branches      770      770
==========================================
+ Hits         2708     2710       +2
+ Misses        640      638       -2
  Partials        5        5

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


refactor calendar calculations, allow negative reference years (issue #71)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: jswhit:x: jwhitakerjwhitaker seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Sorting directories by date

Describe the bug
I am not able to get pigallery2 to sort directories by date. Is there anything I am missing? It seems it's using some weird sorting. Is it possible it's some locale/dateformat mixup? Sorting directories by name works as expected.
Screenshots (optional)
This is the top part of the list of directories in the gallery root:
$ ls --full-time --sort=time
total 784
drwxrwsr-x 1 lknop 100  4096 2021-11-23 19:27:32.000000000 +0100 2021_11
drwxrwsr-x 1 lknop 100  4096 2021-11-04 12:50:52.000000000 +0100 2021_10
drwxrwsr-x 1 lknop 100 12288 2021-09-20 23:30:00.000000000 +0200 2021_09
drwxrwsr-x 1 lknop 100 12288 2021-09-01 01:57:08.000000000 +0200 2021_08
drwxrwsr-x 1 lknop 100  4096 2021-09-01 00:04:55.000000000 +0200 canon_2021_08
drwxrwsr-x 1 lknop 100  4096 2021-09-01 00:01:51.000000000 +0200 canon_2021_07
drwxrwsr-x 1 lknop 100 12288 2021-07-20 23:30:00.000000000 +0200 2021_07
drwxrwsr-x 1 lknop<PHONE_NUMBER>-07-11 23:49:27.000000000 +0200 canon_2020_08
drwxrwsr-x 1 lknop 100  4096 2021-07-11 23:46:43.000000000 +0200 canon_2020_09
drwxrwsr-x 1 lknop<PHONE_NUMBER>-07-11 23:45:08.000000000 +0200 canon_2020_11
drwxrwsr-x 1 lknop 100  4096 2021-07-11 23:44:17.000000000 +0200 canon_2020_12
drwxrwsr-x 1 lknop<PHONE_NUMBER>-07-11 23:43:03.000000000 +0200 canon_2021_01
drwxrwsr-x 1 lknop<PHONE_NUMBER>-07-11 23:41:58.000000000 +0200 canon_2021_02
drwxrwsr-x 1 lknop 100  8192 2021-07-11 23:39:48.000000000 +0200 canon_2021_06
drwxrwsr-x 1 lknop 100 12288 2021-07-04 01:24:35.000000000 +0200 2021_06
drwxrwsr-x 1 lknop 100  8192 2021-05-31 19:25:19.000000000 +0200 2021_05
drwxrwsr-x 1 lknop 100  8192 2021-04-30 22:49:03.000000000 +0200 2021_04

When rendered by pigallery, this is the top of the list when sorted by "descending date". I have enabled "sort directories by time" checkbox.

Environment:
linux amd64 on docker
Used app version:

docker-nightly

you are probably missing this:

Its by default off.

I mean sort directories by date

It is enabled, I mentioned it in my report:

I noticed that some of the directories up in the list have a .thumbnails folder (created by a different tool) with a recent date. Maybe this is affecting the logic. And today the directory 2021_11 finally landed at the top as I wanted it to, but what caused it to do so is unclear to me.
Can you point me to the place in the code that does directories sorting? Maybe I would be able to discover the cause of the problem.

Here is the sorting code:
https://github.com/bpatrik/pigallery2/blob/d2d1472763aaa97730f695e1f4ffecb760aab454/src/frontend/app/ui/gallery/gallery.component.ts#L164-L209
here is how the last modified date is calculated: https://github.com/bpatrik/pigallery2/blob/22954550bfd473d85206d62aca50e47853b20862/src/backend/model/threading/DiskMangerWorker.ts#L20-L22
I personally only sort directories based on names. Dir dates is rather flaky. It does not have any reliable metadata. It uses the last modification date that can change based on the OS. Most likely it is based on the last time you touched that dir or any file within that dir.

Is there an option to sort images chronologically - ascending date - AND directories vice versa?
My typically organizing of my photos is having i.e. a vacation in one foldes and name folders with a year and month at the beginning. i.e. 2021.12 - Silvester with images like pic01, pic02, pic03...
As you (@bpatrik) wrote, sorting dirs by last modification date is not very reliable.
And if you have a lot of folders, it's not so handome if the youngst is sorted at the bottom/end which is what you get when sorting photos in a chronological manner

If you enable directory sorting by date, the app will only sort it by date when you set the overall sorting to date. If you set to name, both directories and photos will be sorted by name.

Thanks for clarifying.
My suggestion or wish was to have an option to sort dirs by name descending - which would sort 2011.12 before 2011.11
AND
images ascending by date - which would sort the welcome drink before the main course.

Sorry, but I find that confusing. If you show me a well known photo browser / gallery that has this feature, I will consider adding it.

i.e. google photo does something like that.
You can sort albums based on date of included photos which makes the youngest album to appear as first in the list. The single albums can be sorted with oldes first which makes the photos appear in chronological manner.
Or with your .order_descending_name.pg2conf trick and your Default photo sorting method set to ascending date you can do this with your PiGallery. But you have to put that file into every folder which includes subfolders.
Am I alone find sorting like that - youngest albums first and within an album see the start of the photo series before the end - natural?

Just to say I love PiGallery2, and the only thing I'm missing is the directory sorting like hajo62 proposed - newer directories first, not by directory modification time, but by contained picture EXIF time

Fixed this in #675. Closing this. Feel free to reopen if something is still missing.


What changes we need to make to Support Region "ap-south-1" (Mumbai)

We want to deploy this architecture in Mumbai Region so need help on what changes in we need in YAML to support this region.

Same issued with me too. i want to deloy this in Mumbai. i tried to change some VPC code but i failed. please help me.

Same issued with me too. i want to deploy this in Singapore. I tried to change some code, but it failed. please help me.


GH-90 endpoint to get transactions from pool concerning account

closes #90

can you remove the compiler warnings as well?

can you add a test as well for getting an existinng tx from the pool and one where there is none transaction?


Set User Role upon invite

I have followed the docs and every SO post on this and I cannot figure it out. I need an admin to set a User's role upon invite.
According to the docs, it should be as simple as adding this into app/controllers/users/invitations_controller.rb:
class Users::InvitationsController < Devise::InvitationsController
  before_action :configure_permitted_parameters

  protected

  # Permit the new params here.
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:invite, keys: [:email, :role])
  end
end

I do this an nothing appears in app/views/users/invitations/new.html.erb. That looks like:

<%= t "devise.invitations.new.header" %>

<%= simple_form_for(resource, as: resource_name, url: invitation_path(resource_name), html: { method: :post }) do |f| %>
  <%= f.error_notification %>

  <% resource.class.invite_key_fields.each do |field| -%>

      <%= f.input field %>

  <% end %>

    <%= f.button :submit, t("devise.invitations.new.submit_button") %>

<% end %>

My routes.rb file is structured as so:
Rails.application.routes.draw do
  resources :blocks
  devise_for :users, :controllers => {registrations: 'registrations', invitations: 'users/invitations'}
  resources :assignments
  resources :games
  resources :users, :only =>[:show]

  root "home#show"
end

I have tested that the email is sent out properly and can confirm it does. Any ideas on why I can't set the role in the new.html.erb file? The role field should be populating, but it doesn't.

You must change view invitations/new to add role field too. Default view include only invite_key_fields, which are fields needed to look for existing user, by default only email.
So you must change view to add new fields, and add these new fields to devise_parameter_sanitizer as you did. It's explained in README, https://github.com/scambra/devise_invitable#label-Strong+Parameters, you must add fields to sanitizer when you customize views adding more fields to form. Also, you don't need to override controller, you can add it to application controller.

I can't believe I never just tried adding that...thank you!
I think there should be an example in the docs of what a custom view might look like. A lot of research into my problem never showed anyone trying that and I think it would be a big help.

@rtamburro can you send PR improving that README section or adding a new one?

Yes, I will do that by end of tomorrow. Thanks again!

Just submitted, this was my first PR. Please let me know if anything needs correction.


Removed defaults

neovim has some nice defaults and some of your lines are not necessary. I also see that some of your code is inspired from my mine. 😉

Also removed if statements from .xinitrc since they present an runtime overhead when in such scenarios it's very much avoidable.

neovim has some nice defaults and some of your lines are not necessary.

Thank you for that! I had just copied my vimrc from the days I used pure vim. I guess I was just lazy to not poke around as it was just working 😄

I also see that some of your code is inspired from my mine. 😉

Yup! Gotta say you do have some nifty and sane configs.


Better Volume Control?

Could you please add a proper slider-based volume controller to the player and a JavaScript function to change the player's volume through scripts? This would be very helpful, and would most likely be very much appreciated by all users.

v2 of the player has a ToneDen.player.setVolume() function which accepts an integer argument between 0 and 100.


very basic mongodb support

closing this pull request until the work on refactoring the codes is done. please re-open it when your work is done fellas B-)