[BUG] Nix-ts-mode doesn't seem to work with tree-sitter

Describe the bug
I enabled the me-progs module as well as me-tools, opened a .nix file with nix-ts-mode
seems like treesitter is not working, when I Mx nix-mode the syntax is highlighted.
Sorry if my English is not good.
Emacs version
GNU Emacs XX.29.1(build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.18.0)

Checkup list

[x] You've tested disabling your config.el using MINEMACS_IGNORE_CONFIG_EL=1 emacs?

Modules
;;; modules.el -*- lexical-binding: t; -*-

;;; Ordered list of enabled core modules
(setq minemacs-core-modules
      '(me-splash         ; Simple splash screen
        me-keybindings    ; Keybinding (general, which-key, hydra, ...)
        me-evil           ; Emacs as Vim (evil, evil-collection, evil-snipe, evil-numbers, ...)
        me-core-ui        ; Core UI (doom-themes, modus-themes, doom-modeline, ...)
        me-completion))   ; Completion (vertico, marginalia, corfu, cape, consult, embark, ...)

;;; List of enabled modules
(setq minemacs-modules
      '(me-ui             ; User interface (svg-lib, focus, mixed-pitch, ...)
        me-editor         ; Editing (tempel, tempel-collection, rainbow-delimiters, expreg, drag-stuff, ...)
        ;; me-daemon         ; Emacs daemon tweaks
        me-undo           ; Better undoing (undo-fu, undo-fu-session, vundo, ...)
        ;; me-multi-cursors  ; Multi-cursors editing (iedit, evil-mc, evil-iedit-state, ...)
        me-vc             ; Version control (magit, forge, core-review, diff-hl, ...)
        me-project        ; Project management (consult-project-extra, ibuffer-project, ...)
        me-prog           ; Programming stuff (tree-sitter, eldoc-box, apheleia, editorconfig, ...)
        me-checkers       ; Static checkers (flymake-easy, ...)
        ;; me-debug          ; Debugging tools (realgud, disaster, ...)
        ;; me-lsp         ; LSP and DAP (lsp-mode, dap-mode, consult-lsp, lsp-pyright, ccls, ...)
        me-emacs-lisp     ; Emacs lisp development (parinfer-rust, macrostep, eros, helpful, ...)
        ;; me-common-lisp ; Common Lisp development (sly, sly-quicklisp, ...)
        ;; me-scheme      ; Scheme development (racket-mode, geiser, ...)
        ;; me-clojure     ; Clojure development (clojure-mode, cider, ...)
        ;; me-embedded    ; Embedded systems (arduino, openocd, bitbake, ...)
        ;; me-robot       ; Robotics stuff (ros, robot-mode, ...)
        me-data           ; Data file formats (csv, yaml, toml, json, plantuml-mode, ...)
        ;; me-math        ; Mathematics (maxima, ess, ein, julia-mode, ...)
        ;; me-modeling    ; Modeling tools (scad-mode, ...)
        me-org            ; Org-mode for life (org-contrib, org-modern, org-appear, ...)
        ;; me-extra          ; Extra features (better-jumper, crux, ...)
        ;; me-notes          ; Notes & Zettelkasten (denote, ...)
        ;; me-email       ; Email (mu4e, mu4e-alert, org-msg, ...)
        ;; me-rss         ; News feed (elfeed, ...)
        ;; me-lifestyle   ; *Very* opinionated lifestyle packages (awqat, ...)
        ;; me-docs           ; Documents (pdf-tools, nov, ...)
        ;; me-calendar    ; Calendar (calfw, calfw-org, calfw-ical, ...)
        ;; me-latex          ; LaTeX (auctex, auctex-latexmk, ...)
        ;; me-biblio      ; Bibliography & citations (citar, zotxt, ...)
        ;; me-natural-langs  ; Natural language stuff (spell-fu, go-translate, eglot-ltex, ...)
        ;; me-files          ; Files and directories (dirvish, treemacs, vlf, ...)
        me-tools          ; System tools (vterm, tldr, ssh-deploy, docker, ...)
        me-tty            ; Emacs from terminal (xt-mouse, xclip, ...)
        ;; me-fun            ; Games and funny packages (xkcd, speed-type, ...)
        ;; me-media          ; Multimedia (empv, emms, ...)
        ;; me-workspaces  ; Workspace separation (tabspaces, ...)
        ;; me-binary         ; Display binary files in hex or decompile them
        me-window))       ; Frame & window tweaks

;;; List of disabled packages
(setq minemacs-disabled-packages
      (append
       '(;; me-ui
         focus
         me-writing-mode
         visual-fill-column
         ;; me-tools
         bitwarden)))

Backtrace
If the bug rises an error, please attach the full backtrace. To be sure to obtain a backtrace, you should launch Emacs with MINEMACS_DEBUG=1 emacs or emacs --debug-init.
⛔ Warning (treesit): Cannot activate tree-sitter, because language grammar for nix is unavailable (not-found): (libtree-sitter-nix libtree-sitter-nix.0 libtree-sitter-nix.0.0 libtree-sitter-nix.so libtree-sitter-nix.so.0 libtree-sitter-nix.so.0.0) No such file or directory

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
I tried running removing the nix-ts-mode package with MINEMACS_DEBUG=1 emacs and it worked fine, it seems the error is coming from nix-ts-mode.

It seems treesit-auto is not doing its job
treesit-auto-install-all also nothing happened

Thank you for the feedback @hmanhng ,
It seems weird! You can temporarily add (push 'nix-ts-mode minemacs-disabled-packages) to your modules.el in order to disable the package until I take a look at it!

As I understand it, the following 2 lines will push treesit are not installed to treesit-auto-langs but when I check the variable treesit-auto-langs it returns nil.  Perhaps the error lies here.

@hmanhng
Yep, you're right!
It seems that seq-difference expects the bigger set to be the first one! I've pushed a fix, can you pull it and try again?
Thanks again

Now it works with other languages except nix-ts-mode. There are 2 issue with nix-ts-mode

nix-ts-mode doesn't work with hs-minor-mode
treesit-auto lỗi với tree-sitter-nix

treesit I don't know why you deleted these lines, it will remove nix from treesit-auto-langs and make it impossible to install

What I wanted to achieve with these lines https://github.com/abougouffa/minemacs/commit/3c5d6e9cd237d1206688b410b27263c9bcf3c350 was to only try to install language grammars that are not already installed (due to an issue with a previous version of treesit-auto. However, setting the treesit-auto-langs this way resulted in an empty list, which disables the mode mapping (i.e. mapping x-mode to x-ts-mode).
Can you confirm that the libtree-sitter-nix.so has been installed (to ~/.emacs.d/local/tree-sitter/) ?

When reverting https://github.com/abougouffa/minemacs/commit/3c5d6e9cd237d1206688b410b27263c9bcf3c350, Emacs won't remap the modes when the grammars are installed. Practically, it will only work on the first session (when grammars aren't installed), and once installed and restarted Emacs, it will raise other problems.
For example, see: https://github.com/renzmann/treesit-auto/blob/07a8f924cd4f020a2eb32b45d8543af9556f355d/treesit-auto.el#L461C30-L461C30
The (treesit-auto--selected-recipes) function (which depends on treesit-auto-langs) is used in several places. Which make any change to treesit-auto-langs affect this.

if there is no nix in treesit-auto-langs then I won't be able to install it even with treesit-auto-install-all

Indeed. Well in this case, just adding nix to treesit-auto-langs will fix the issue.
I've pushed a fix for this.
Thanks for you patience! @hmanhng


how-to-npm on windows

Can't get past the very first step (verifying npm is up-to-date).
C:\Users\Quasar\Desktop\how-to-npm>how-to-npm verify
verifying that npm is installed...
Uh oh!  npm had a problem! {"killed":false,"code":1,"signal":null,"cmd":"C:\\Win
dows\\system32\\cmd.exe /s /c \"C:\\Program Files\\nodejs\\npm.CMD --version\""}

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
#########################################
###   YOUR SOLUTION IS NOT CORRECT!   ###
#########################################

Looks like something to do with the space in the Program Files folder.
Anything I can do about this other than re-installing Node itself to a different folder that doesn't have space characters?

I suppose just skipping the first part doesn't hurt at all. Just a heads up that this issue exists, though.

There are 3 patches that attempt to to solve this
https://github.com/npm/how-to-npm/pull/17
https://github.com/npm/how-to-npm/pull/19
https://github.com/npm/how-to-npm/pull/32
And this was the original bug report
https://github.com/npm/how-to-npm/issues/11
@isaacs @mmalecki @linclark
Please can we get this in somehow?

Seeing this as well. Quotes around the file location of the npm executable are necessary on Windows because the default install location for Node.js has spaces in its name.

The problem seems to be worse now than when the OP submitted the issue. I can't advance past step 2 (Login) because attempting to skip verification also results in an error:
...\Kyle\Portfolio\Studying\temp-workspace> how-to-npm verify
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.

Uh oh!
It looks like something went wrong
#########################################
###   YOUR SOLUTION IS NOT CORRECT!   ###
#########################################

...\Kyle\Portfolio\Studying\temp-workspace> how-to-npm verify skip
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.

Uh oh!
It looks like something went wrong
#########################################
###   YOUR SOLUTION IS NOT CORRECT!   ###
#########################################

try run how-to-npm in 'Node.js command prompt' see if it solves the problem

@8fdafs2 Thanks. Running how-to-npm in Node.js command prompt solved the problem in my Windows environment.

Just updating with my error. This is still an issue and needs more instruction for people to work around.
λ how-to-npm verify
verifying that npm is installed...
Uh oh!  npm had a problem! {"killed":false,"code":1,"signal":null,"cmd":"C:\\Program Files\\nodejs\\npm.CMD --version"}
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
#########################################
###   YOUR SOLUTION IS NOT CORRECT!   ###
#########################################

Possible solution:
Instruct people on Windows to run npm -v and if the version is high enough instruct people to run how-to-npm verify skip. Otherwise upgrade npm via npm install npm.
I believe this could solve this issue but I'm not 100% on this idea.

#108 is shipeed as v2.4.1. Closing as resolved :)


GitLab, AWS, and File credentials

This PR reimplements the functionality introduced by @matez's work in #467 and adds AWS and GitLab credentials.

@danzilio Any idea why the acceptance tests are all of a sudden failing?

@jhoblitt just looking at https://travis-ci.org/jenkinsci/puppet-jenkins/jobs/306471051 I'm seeing:
Error: /Stage[main]/Main/Jenkins_credentials[7e86e9fb-a8af-480f-b596-7191dc02bf38]: Could not evaluate: Execution of '/bin/cat /usr/lib/jenkins/puppet_helper.groovy | /usr/bin/java -jar /usr/lib/jenkins/jenkins-cli.jar -s http://localhost:8080 groovy = credentials_update_json /tmp/Jenkins_credentials::ProviderCli20171123-5177-7z1wcg' returned 1: ERROR: Unexpected exception occurred while performing groovy command.
  MissingRequiredPlugin: gitlab-plugin
  	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)

Seems like the gitlab-plugin isn't getting installed properly...
I'd have to take a look at the jenkins log to be sure but I suspect there's a dependency that's missing. Will try and take a look at this tonight.

@danzilio I think this PR probably fixed it: https://github.com/jenkinsci/puppet-jenkins/pull/820


bug !

What is your Quests version / build number (do not say "latest")?
4.8.1
Describe the problem and how to replicate it.
pluggin keeps saying "pluggin is currently loading, try again later"

Any console errors to share?
no errors that i can see

If applicable, can you provide an example quest from quests.yml?
https://pastebin.com/FJgYUk11

file had to many charectors pastebin ^^^^

Thanks for the report. Will need to see your server's startup log (use Pastebin).

https://pastebin.com/wjduqT35
this issue started after i was making a quests and had to do /questadmin reload

This excerpt from your log appears to be the issue:
[11:39:08] [Server thread/WARN]: [Quests] Task #123 for Quests v4.8.1-b402 generated an exception
java.lang.IllegalArgumentException: No enum constant org.bukkit.entity.EntityType.SKELETONHORSE
	at java.lang.Enum.valueOf(Enum.java:273) ~[?:?]
	at org.bukkit.entity.EntityType.valueOf(EntityType.java:25) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
	at me.blackvein.quests.Quests.loadQuestStages(Quests.java:3417) ~[Quests-4.8.1.jar:?]
	at me.blackvein.quests.Quests.loadQuests(Quests.java:1981) ~[Quests-4.8.1.jar:?]
	at me.blackvein.quests.Quests.lambda$delayLoadQuestInfo$3(Quests.java:846) ~[Quests-4.8.1.jar:?]
	at org.bukkit.craftbukkit.v1_19_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at org.bukkit.craftbukkit.v1_19_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1500) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:488) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1424) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1194) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:321) ~[purpur-1.19.3.jar:git-Purpur-1933]
	at java.lang.Thread.run(Thread.java:833) ~[?:?]

Will look into it soon.

Your quest ID custom67 (name: '&c13 &aRancher') has an invalid constant in the mobs-to-tame list. The constant skeletonhorse should be skeleton_horse. I'll have the plugin catch this type of exception in the future, but for now make sure to add the _.

yes that was the most recent quest i was trying to complete. i did finish then the plugin asked me to do /questadmin restart then it went to poop. how do i fix this ? cause i cant get back in it to edit using /quests editor

when doing /quests editor the plugin says its still loading try again later ..... says all day long lol

@shawn695 If you don't feel comfortable with adding the underscore yourself, try this build:
https://ci.codemc.io/job/PikaMug/job/Quests/403/


Add setOrigRanges() to YAML.parseCST() output

This (hopefully) fixes #20 by adding a method setOrigRanges() to the array object returned by YAML.parseCST(). That method would set origStart and origEnd indices for all of the range objects contained within the CST, which in turn would point to the start and end of the source before the CR characters got stripped out.
@ikatyang, comment from you would be appreciated here esp. regarding the specifics of the API, as you would have an actual use case for this. In particular:

I'm not sure about the new method and member names, and would be interested to consider alternatives.
The current setOrigRanges() implementation will return a boolean indicating whether it did in fact add the ranges, to allow for a fast return for inputs that did not contain a \r\n string. Does this make its usage more difficult, as it's then not certain that origStart and origEnd are always set after calling?
If a range end is pointing at the \n character that in the source was preceded by a \r, the corresponding origEnd will then point at the \r character to maintain the same semantic meaning as before. This has particular significance for valueRange values, as this makes sure that a slice of the source using the range does not get a somewhat surprising \r suffix if origEnd is left pointing at the \n.
The Range class now has a couple of utility methods, apply(src) and applyOrig(src), for slicing the range contents from the source. Should these be published and documented? Atm just applyOrig is used, and even then in just one test case.

I did try a couple of more automated methods of handling all of this, e.g. mutating the range start and end values automatically after parsing to match what's now origX, but that messes up the value parsing and actually breaks YAML spec a bit. I also considered calling setOrigRanges() internally before returning from parseCST(), but that would make the presence or non-presence of origX values unclear, as well as adding a useless tree traversal for use cases that don't need the indices into the original source.

I'm not sure about the new method and member names, and would be interested to consider alternatives.

I have no opinion on it. 😅

The current setOrigRanges() implementation will return a boolean indicating whether it did in fact add the ranges, to allow for a fast return for inputs that did not contain a \r\n string. Does this make its usage more difficult, as it's then not certain that origStart and origEnd are always set after calling?

I think it's fine either way since it's just a matter of range.origStart || range.start, writing docs for it would be helpful. (It seems this change only affect valueRanges, shouldn't it also affect ranges?)

If a range end is pointing at the \n character that in the source was preceded by a \r, the corresponding origEnd will then point at the \r character to maintain the same semantic meaning as before. This has particular significance for valueRange values, as this makes sure that a slice of the source using the range does not get a somewhat surprising \r suffix if origEnd is left pointing at the \n.

👍

The Range class now has a couple of utility methods, apply(src) and applyOrig(src), for slicing the range contents from the source. Should these be published and documented? Atm just applyOrig is used, and even then in just one test case.

I actually won't use this functionality so I'm not sure, the original start/end is not suitable for my use case (e.g., PLAIN usually contains a lot of trailing whitespaces) and I have to adjust it then apply slicing.

It seems this change only affect valueRanges, shouldn't it also affect ranges?

No, all ranges should get origX values. Also including all props and even the BlockValue header.
Docs indeed will need to be updated for this change. And it'd probably be better to completely drop the apply and applyOrig methods, as they're a bit too arcane.


Add two-dimensional Fermi-Hubbard model

Fixes #126

Note that as part of this addition, I have added the "initialize tunneling keys" block to fermi_hubbard_1d. This fixes the edge case where N=2 and periodic boundary conditions are set. In this case, dictionary entries will appear twice, once corresponding to the internal hopping and once corresponding to the periodic boundaries. Previously, these dictionary entries were overwritten, however now they are added, as intended. The same care needs to be taken in fermi_hubbard_2d when Nx=2 or Ny=2. Other terms in the Hamiltonian are not affected.

Note that as part of this addition, I have added the "initialize tunneling keys" block to fermi_hubbard_1d. This fixes the edge case where N=2 and periodic boundary conditions are set. In this case, dictionary entries will appear twice, once corresponding to the internal hopping and once corresponding to the periodic boundaries. Previously, these dictionary entries were overwritten, however now they are added, as intended.

If I understand correctly, you're saying that this PR fixes a bug in fermi_hubbard_1d? If so, can you please split that off into a separate PR which also adds a test case that triggers the bug (and which that PR should fix)?

Yes, that's right. I will split that off into a separate PR with tests...

In the fermi_hubbard_1d case, I tested the ground-state energies for a N=4 chain because I found empirically this was the upper limit before the tests become noticeably slow, compared to your other tests. However, I have since noticed the above-mentioned edge case when N=2 with periodic boundaries, and so I have fixed this issue and added tests for that case too.
In the fermi_hubbard_2d case, the same is true. I test the ground-state energies of a 2x2 system because I find empirically that this is the upper limit before the tests become cumbersome. However, since N_x=2 and N_y=2, this is an edge case for PBCs. I find that it is too slow to test the ground-state energies for the smallest non-edge-case system (3x3). Instead, I test the terms of the edge-case (2x2) and non-edge-case (3x3) systems explicitly, and I check the ground-state energies for the edge-case (2x2) system only.
If you don't mind having tests that are slow (e.g. 60-120 seconds each), then I could add ground-state energy tests for the 3x3 system also. However, since I check the terms explicitly anyway, it may not be necessary.

I have noticed that OpenFermion has a fermi_hubbard function, which is essentially the fermi_hubbard_2d function in this PR. Should we "merge" our fermi_hubbard_1d and fermi_hubbard_2d functions/tests into a single fermi_hubbard function, as in OpenFermion?

I have noticed that OpenFermion has a fermi_hubbard function, which is essentially the fermi_hubbard_2d function in this PR. Should we "merge" our fermi_hubbard_1d and fermi_hubbard_2d functions/tests into a single fermi_hubbard function, as in OpenFermion?

Is the 2D model the most general model that people might possibly be interested in? Do people ever study the 3D model or other graphs? If so then I'd like to reserve fermi_hubbard for a potential future function that can handle more general graphs.

Is the 2D model the most general model that people might possibly be interested in? Do people ever study the 3D model or other graphs? If so then I'd like to reserve fermi_hubbard for a potential future function that can handle more general graphs.

That's true, we will probably want other 2D lattices in the future (e.g. triangular, honeycomb, kagome) and potentially also the 3D Hubbard model (although this is less common). I agree that we can reserve fermi_hubbard for this most general case.


Translate with Google HTTP EXCEPTION

[ ] Android Studio

[ ] Google

Version of Plugin and IDE

Plugin Version: 2.6.0
IDE Version: 2021.2.1

Issue details
When trying to translate with Google, it says HTTP EXCEPTION. Sorry I forgot the exact error and I don't want to retry as I have already associate my Google Api and API KEY. But on Android Studio Google doesn't work for me.

This error is not related to the plugin, but to the translation service itself.
It is usually caused by frequent translations resulting in denial of access or running out of credit, etc.
You can check the specific error message in the "Event Log" after the error is reported, and go to the Google Translate API documentation to see the corresponding cause.

In fact I don't speak about the Google(API) but the error occurs on the Google(first choice of the plugin translator).
Also as I already associated Google(API) (which works perfectly by the way), I didn't want to change again the translator to Google(normal) to retest to see what kind of error it told.

Okay, I understand. You can go ahead and use Google(API), which is what I recommend.
The first choice is Google just for the convenience of some people who do not want to apply for their own accounts, although convenient, but it is not very stable translation.


Health-checks

Kafka-streams exposes a method for retrieving the current state: org.apache.kafka.streams.KafkaStreams#state.
We use this for implementing health-checks. If state is in created, rebalancing or running the application is considered healthy. Otherwise the app is considered unhealthy and the application would normally be stopped/restarted.
In PC I've implemented a health-check querying io.confluent.parallelconsumer.ParallelEoSStreamProcessor#isClosedOrFailed == false.
Would a different, more "healthcheck-like" abstraction be smart? Perhaps on the io.confluent.parallelconsumer.ParallelConsumer interface? The current method requires a cast to ParallelEoSStreamProcessor.
(not critical!)

Do you have any thoughts on what metrics you might consider would indicate health? One major aspect is "progress" through the work queues. Described here: https://github.com/confluentinc/parallel-consumer/issues/34
Time since last progress made perhaps. Or time since last committable offset shift - per partition?

In kafka-streams any leaked exception from user-code or any "permanent internal errors" causes the state to change to Error -> Pending Shutdown -> Not Running. We use this for our (aggregate) application health-checks and polls KS.state. If KS is in a unhealthy state the app is typically restarted by container-platform. Sometimes a restart can make the app recover and other times there's a poison-message being consumed that causes a restart-loop and needs manual intervention.
So maybe exposing something like state on ParallelConsumer interface for application-healthchecks might be a good start and any "shutdown"-scenarios in #34 would change the state to "error".
I'm doing ParallelEosStreamProcessor#isClosedOrFailed now and it works ok, but maybe a more uniform interface wold be smart down the road.
Current spring-boot-actuator-pc-healthcheck :)
@Component
class ParallelConsumerHealthIndicator(
    parallelConsumer: ParallelStreamProcessor<String, Any>,
) : HealthIndicator {

    private val logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass())

    val parallelEosStreamProcessor = parallelConsumer as ParallelEoSStreamProcessor<String, Any> // notice cast

    override fun health(): Health {
        return if (!parallelEosStreamProcessor.isClosedOrFailed) {
            Health.up().build()
        } else {
            if (parallelEosStreamProcessor.failureCause != null) {
                logger.warn(
                    "Parallel-consumer is unhealthy! Failure-cause: ${parallelEosStreamProcessor.failureCause.message}",
                    parallelEosStreamProcessor.failureCause
                )
            } else {
                logger.warn("Parallel-consumer is closed or unhealthy - no failure-cause.")
            }

            Health.down().build()
        }
    }
}

Draft implementation with test: https://github.com/confluentinc/parallel-consumer/pull/464
If you can, take a look and see if there's anything else you'd like to see. I won't get them all first time around, but that's the goal.


Update README.md

Refs #33 - this mr based on update-readme branch instead of master

Beat me to it! Thanks for the quick turn around on this patch


A problem on parsing nested list containing different types of lists

Thanks for creating this cool lib. ;)

I'm using md to parse a nested list containing different types of lists, such as:
1. 1 | 1
  - 2 | 1
  - 2 | 2
2. 1 | 2
  - 2 | 3
3. 1 | 3

The generated AST
[
  {:ol, nil, [{:li, nil, ["1 | 1"]}]},
  {:ul, nil, [{:li, nil, ["2 | 1"]}, {:li, nil, ["2 | 2"]}]},
  {:ol, nil, [{:li, nil, ["1 | 2"]}]},
  {:ul, nil, [{:li, nil, ["2 | 3"]}]},
  {:ol, nil, [{:li, nil, ["1 | 3"]}]}
]

The expected AST
{:ol, nil,
 [
   {:li, nil, ["1 | 1"]},
   {:ul, nil, [{:li, nil, ["2 | 1"]}, {:li, nil, ["2 | 2"]}]},
   {:li, nil, ["1 | 2"]},
   {:ul, nil, [{:li, nil, ["2 | 3"]}]},
   {:li, nil, ["1 | 3"]}
 ]}

How to reproduce?
I created a commit, which contains the tests for this problem - https://github.com/plastic-forks/md/commit/fe6ff18224eefb0d6cd5dbe4453229144807f444 .
You can copy and run the tests.

Hi @c4710n, thanks for the bug report!
Yes, nested everything is officially the least solid part of md, sorry for that. Let’s see what can be done here.

Package published to https://hex.pm/packages/md/0.9.8
(e51c76a2e4e5017ca895146f74ec4508cf7221fc42090df7a084a4fa210742d5)

🎉

@am-kantox ;)


Task to manage chefignore file

The aim of this change is to try to detect the presence of the ignore
files/directores in the chefignore file and try to add them if they
are missing.
In addition to adding the ignore files to the chefignore file we are
displaying a warning to the user suggesting they update their
chefignore file in the source repo so we don't have to do this.
Finally, we copy the chefignore file to the .builderator so that the
berks binary can find and use it.
The content we are adding looks like this:
.builderator

We are no longer nesting vendored cookbooks, so this fixes #88.
$ find .builderator -name rapid7-logstash-server

$ find .builderator/cookbooks | wc -l
     813

Looks good! 👍


Add an Async redis Watcher

Add an Async redis Watcher

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

Thanks for submitting the PR. In order to pass the Semantic PR check, please change your PR and commit msg to: docs: add an Async redis Watcher

Details

I did't change that file, I think this code have no problem, or how to fix that?  @hsluoyz


update of scrollbar for pages

Fixes #279

Added Feature

Enhance the scrollbar functionality by dynamically adapting its thumb color to the current color theme
hiding the scrollbar on devices smaller than 767px, fostering a mobile-centric experience that prioritizes seamless navigation and user interaction

Hey, @rithviknishad  @sainak
Regarding the scrollbar functionality, instead of relying on traditional CSS methods, I propose leveraging the "tailwind-scrollbar" package. It boasts a weekly download count exceeding 100k+ across both modern and legacy browsers, making it a robust solution for our needs. Given the frequency with which we'll be implementing scrollbars across various components, using this package seems both practical and efficient.
I'm prepared to integrate this package into our workflow if you believe it aligns with our objectives. Otherwise, I'm fully capable of proceeding with the conventional methods outlined in the documentation.🚀

Hey @sainak , I have added the features of tailwind-scrollbar package in our website 👍

@Lobi29 closing as stale + conflicts + not a requirement. Let's keep the design minimal and consistent across all browsers.
Feel free to re-open once if we can do this for all browsers consistently.


Revisit enum name stemming.

Remove the requirement that all enum values having to be prefixed
with the enum name to do any stemming. This should help in two ways:

If a new enum value is added that doesn't share the prefix, it won't
suddenly change all the existing names breaking existing code.
If there is an alias (that could be deprecated) for a old name that
didn't have the prefix, the existence of it doesn't prevent the newer
names from getting the stemming and being more "swifty".

Note: The CSharp generator does this, it prefix strips any value it can,
without requiring all of the value to have the enum type as the prefix.
Reminder - This has never been generic common prefix stripping, it is
only about stripping the enum name off the front of the value.  That
specific case is because most protobuf enum follow that pattern since
global C++ enum values are global scope, so a common prefix is needed
on them.

@tbkka & @allevato thoughts on this before we're locked down with 1.0?


zlib set zones persistent across boots.

I suggest that, instead of putting the set zones emulation metadata into /tmp, that it be placed in /etc/zbc/.meta.  This would allow persistence across boots.
Thanks

Good suggestion. We will be looking into this.
Thank you.


Co-maintainer(s) needed!

This package does need more Jazzbanders helping maintaining it, ideally people with some knowledge in authentication stuff (ideally more than me, which isn't very hard in fact :smile:).
Note the enforced commit policy is to require an approval for each commit, which is a good thing per se, but a bit hard to live when only one maintainer is really active (no offense to you @moggers87, your reviews are still MUCH appreciated).

@claudep
I'm in jazzband for a while and contributing to some projects, and I'd be happy if there is anything that I can help with.

Thanks for the offer! As a first task, could you explore why the pre-commit is currently failing?

I can also assist

@claudep our organisation uses this package and I'm a jazzbander, so I'm happy to assist as well. Let me know if there is anything I can do.

@peymanslh helped me a lot recently to review/approve patches. But being more that two active people would be awesome. So if you can take some time to review patches and triage tickets, that would be very much appreciated. Generally I find better to spend a little time regularly than 2 days per week and burning out quickly. You see what I mean... :smile:
I'm closing the ticket now, but everyone is still welcome to help, of course.


Better German translation

Merging your other pull created conflicts in this one. Could you bring it up to date?

@chriskiehl done

hey @jwaschkau, github is still showing conflicts. Could you manually rebase against master and resolve the conflicts?
Thanks!

@chriskiehl i merged from master. Does it work now?

Hey @jwaschkau, I brought this pull up to date and manually merged it here: https://github.com/chriskiehl/Gooey/commit/f6270af6db6e664ad0f56dbb0eaf95e351897892. Thanks for the translation! 👍


too quiet parts of speech

Hey! One of the Enhance.py arguments, --snr, is not used in your code. At least in the enhance function, I have not found a use for it. Using the default settings, my slightly noisy sound is clearer, however parts of speech are much quieter and speech volume is uneven. I think snr can help with this, right?

Thanks for your questions. Actually, the "--snr" argument is not used in this code. You can ignore it. Because the testset for VB+DEMAND is not splited by different SNRs. In our other testset, such as WSJ0+DNS-Challenge, we use the snr argument forinference. So here in this code, you can just ignore it.

Thanks for the quick response. In this case, could you advise how you can correct too quiet parts of speech? That is, most of the audio is at the same volume, while some parts are muted too much.

Thanks for your response. Actually, i think you could use a Voice Activity Detection (VAD) to tackle the muted parts. I mean when you conduct inference, you could calculate the power of each frame to detect the muted parts and correct these frames. In my research, i didn't implement the manual detection. In fact, i didn't correct the muted parts for this dataset.  As for the arguments "--snr", it is just used for different testset. And we don't calculated the  snrs to help to enhance the noisy utterances. Following your suggestions, we might calculate segmental snrs to detect the correlations between speech and noise for better enhancment. Thank you.


logging issue

Hi Grzegorz,
Even though in advanced settings Log Info and Log Device Info are disabled plugin logs every 15s that device is offline.
It happens when my device is in a sleep mode.
I use scheduled sleep mode to save energy.
[2/8/2023, 8:20:34 AM] [OpenWebIfTv] Device: <IP_ADDRESS> Dekoder, Info error: Error: connect EHOSTUNREACH <IP_ADDRESS>:80, reconnect in 15s.

added options to disable logging connect error in 3.18.0

Thank you :-) 👍

This seems to have started again in one of the recent versions. I have disableLogConnectError set to true, but it's still logging it every 15 seconds after my device is turned off. I have to restart Homebridge for it to stop doing that. Could you please look into it?

I will look into this.

This option is there, what a error you see exactly?

The option doesn’t seem to have any effect now until I restart Homebridge. If my device turns off, it starts filling the log with “device is disconnected” every 15 seconds, just like it did before you added the option to disable it in 3.18.0 (which I immediately enabled back then). If I restart Homebridge while my device is off, it works as intended and stops writing to the log. It used to work correctly all the time until a couple of weeks ago, I think.

Please update to the latest version

Thanks!


Using ftrace counters significantly slows down UI in Safari

I am creating a synthetic trace from a log via Cortex-M ITM output to debug DMA performance on STM32H7.
Here is an example file with counters for understanding how much each DMA channel has transferred. Each time a DMA transfer stops, the counters get incremented via a ftrace print message.
If I have the "DMA Channels 100000" process slice open with all the counter, the UI stutters to a halt. If I close the process slice, the UI runs smoothly again. I can pin every DMA channel print and everything is super smooth, but if I pin even just a single counter, everything crawls to a halt.

The memory usage counters (eg. mem.rss.*) in the Android example also run smoothly, but they aren't prints, they are memory events. Am I using counters wrong?  I'm using the standard protobuf C++ libary to generate these events like so:
auto *event = ftrace->add_event();
event->set_timestamp(ns);
event->set_pid(did);
auto *print = event->mutable_print();
char buffer[100];
snprintf(buffer, 100, "C|100000|DMA%u CH%u Transfer|%u", instance, channel, transfer_count);
print->set_buf(buffer);

Hi @niklaut, this seems like it might be a UI issue, but I can't seem to repro (Chrome, MacOS). What platform are you on, and which version of Perfetto are you using?
Cool use case BTW!

Huh, interesting. But it works absolutely fine on Chrome Version 120.0.6099.216 (Official Build) (arm64), so I'll use that for now, thanks!
I'm on macOS 13.6.1 (22G313), Safari v17.1 (186<IP_ADDRESS>.10, 18616) and Perfetto v39.0-ce5ca. No difference if I switch to Perfetto Canary v40.0-bf17f.

Glad you found a solution - unfortunately support for other browsers is a relatively low priority.
Oddly, I can't seem to repro on safari either: MacOS: 14.2.1, Safari: Version 17.2.1 (196<IP_ADDRESS>.12) - seems like we're both on arm64, different macos version maybe? 🤷
I'll probably close this as I don't think we'll get round to it any time soon, sorry!

It also works fine with Safari Technology Preview Release 186 (Safari 17.4, WebKit 186<IP_ADDRESS>.1) on my macOS 13.6.1. So it's definitely an issue with Safari 17.1 (perhaps also lower) and not related to the OS. Thanks!
Next time I'll test the browser directly, not sure why that didn't come to mind… 🤦

No worries, we should probably make it more obvious in the docs that we mainly test the UI against Chrome.


Payment Forwarding to improve Security between Hot and Cold Wallets

Summary
The payment forwarding feature should make it possible to automatically forward a percentage of incoming payments to another wallet.
This would require 3 new flags/parameters:

destination address of forwarding (FA)
amount in percent for each incoming payment (FP)
enabled

Motivation
This feature would enable exchanges and FIs to directly forward a part of incoming transactions from a hotwallet
to a coldwallet without the need to access the keys through a extern solution. This would also simplify security to a new level.
Solution
An example would be:
User A, B and C send 1000 XRP to an exchange by a given hotwallet address X.
A -> 1000XRP @ Dtag: 0123 -> X, recv: 1000
B -> 1000XRP @ Dtag: 0124 -> X, recv: 1000
C -> 1000XRP @ Dtag: 0125 -> X, recv: 1000
Based on those transactions  the exchange can credit the amounts to the specific users as usual.
But as we have seen in the past, many exchanges got hacked in some way and funds within their hotwallets were partially or fully lost because they didnt send parts of incoming payments directly to an coldwallet.
Thatswhy X has now set Y as a forwarding coldwallet with a percentage of 60.
Then the flow of each transaction would look like the following:
A -> 1000XRP @ Dtag: 0123 -> X (FA=Y, FP=60), recv: 1000, fwd: 600 -> Y, recv:600
B -> 1000XRP @ Dtag: 0124 -> X (FA=Y, FP=60), recv: 1000, fwd: 600 -> Y, recv:600
C -> 1000XRP @ Dtag: 0125 -> X (FA=Y, FP=60), recv: 1000, fwd: 600 -> Y, recv:600
That would mean that on each incoming transaction 60% of the amount is automatically sent to the coldwallet Y.
By implementing this feature the exchange can scan incoming transactions like usual on X and the XRPL takes care of the security.
This would simplify a natural security need for every participant on the XRPL. Be it the big exchange/FI based on the example above or the regular user who just wants to use the feature to redirect a percentage of his incoming payments to a savings wallet/account.
Greetings GAFO

Heads up / FYI: @RichardAH built an example Hook to do this with Hooks :)

Heads up / FYI: @RichardAH built an example Hook to do this with Hooks :)

That’s interesting, but still - correct me if I’m wrong - way more complex and work reliant than submitting one transaction with 3 parameters & done. Surely hooks have their use cases but the suggestion above is more of an addition of a basic security need as simple as possible so anyone can use it effortlessly without knowledge reliant steps.
Nonetheless I will check the possibilities with the hooks. :)

The enabled flag is redundant. If a user wants to disable forwarding, they can remove the info entirely. Alternately, they can set the FP percentage to 0.

The enabled flag is redundant. If a user wants to disable forwarding, they can remove the info entirely. Alternately, they can set the FP percentage to 0.

Yes that makes sense, a null check regarding the FA or a zero check of the FP would end up being the same. Good point.

This feature would enable exchanges and FIs to directly forward a part of incoming transactions from a hotwallet
to a coldwallet without the need to access the keys through a extern solution.
[...]
But as we have seen in the past, many exchanges got hacked in some way and funds within their hotwallets were partially or fully lost because they didnt send parts of incoming payments directly to an coldwallet.

Actually, the best practice would be to have all deposits sent directly into the cold wallet. You can learn more here:

A cold wallet to securely hold the majority of XRP and customers' funds. For exchanges, this is also the address to which its users send deposits. To provide optimal security, this account's secret key should be offline.

https://xrpl.org/list-xrp-as-an-exchange.html

This feature would enable exchanges and FIs to directly forward a part of incoming transactions from a hotwallet
to a coldwallet without the need to access the keys through a extern solution.
[...]
But as we have seen in the past, many exchanges got hacked in some way and funds within their hotwallets were partially or fully lost because they didnt send parts of incoming payments directly to an coldwallet.

Actually, the best practice would be to have all deposits sent directly into the cold wallet. You can learn more here:

A cold wallet to securely hold the majority of XRP and customers' funds. For exchanges, this is also the address to which its users send deposits. To provide optimal security, this account's secret key should be offline.

https://xrpl.org/list-xrp-as-an-exchange.html

The „best“ practice is not something which works the „best“. It’s just something theorists come up with. - You need to consider several things like maintaining liquidity for withdrawals which would not work well in reality due to (heavy) market movements. If you would send all directly to an coldwallet and a lot of users want to withdraw you run into troubles. Means you then have to bring a part of all the money which goes directly to an coldwallet back to the hotwallet. And ofc we know that it’s better to access coldwallets as less as possible.
So you need to find a balance between both of them e.g. by percentage forwarding which can be dynamically adjusted depending on the market conditions.
Also do not forget that crypto is a fast developing market which leads to many exchanges open. Providing a simple way of security benefits not only the exchanges/FIs but also regular people who use them and in private as well.
All IMO of course.

Agreed. However, some exchanges have also lost funds by losing access to their cold wallet. You always want to have access to the cold wallet and to have a robust and secure procedure for moving funds from the cold wallet to the hot wallet. A typical practice would be to keep track of your exchange's typical withdrawals in a specific timeframe, e.g. 1 week, and project the anticipated needs for the upcoming week. Once per week, you move funds from the cold wallet in order to meet anticipated withdrawals for 1 week. If the hot wallet is compromised, you cannot lose any more funds than what is needed for 1 typical week of withdrawals.
Of course, you can include a modest buffer (e.g. keep 50% more than what you need for a typical week's withdrawals) to avoid running out of hot wallet funds. You should also have alerting in place so that you'll know when funds are low, before they actually run out. If the hot wallet does run out of funds, it may indicate a compromise, in which case you should audit your transaction history to ensure that it matches with your internal database and does not contain any suspicious activity. If the issue is caused by a legitimate increase in withdrawal demand, you can top up the hot wallet and take that growth into account when projecting the next week's withdrawals.
That said, I am in favor of this feature request. It sounds useful, albeit potentially dangerous if misused.

Agreed. However, some exchanges have also lost funds by losing access to their cold wallet. You always want to have access to the cold wallet and to have a robust and secure procedure for moving funds from the cold wallet to the hot wallet. A good practice would be to keep track of your exchange's typical withdrawals in a specific timeframe, e.g. 1 week, and project the anticipated needs for the upcoming week. Once per week, you move funds from the cold wallet in order to meet anticipated withdrawals for 1 week. If the hot wallet is compromised, you cannot lose any more funds than what is needed for 1 typical week of withdrawals. Also, if the hot wallet is compromised, you really want users to be making their deposits directly into the cold wallet, so that no further funds can be lost. (Popular exchanges have a steady inflow of deposits, so a system that automatically sends funds to a hot wallet could potentially result in higher losses if the hot wallet is compromised.)
Of course, you can include a modest buffer (e.g. keep 50% more than what you need for a typical week's withdrawals) to avoid running out of hot wallet funds. You should also have alerting in place so that you'll know when funds are low, before they actually run out. If the hot wallet does run out of funds, it may indicate a compromise, in which case you should audit your transaction history to ensure that it matches with your internal database and does not contain any suspicious activity. In this case, you want withdrawals to be paused, because there is some kind of unusual activity. If the issue is caused by a legitimate increase in withdrawal demand, you can top up the hot wallet and take that growth into account when projecting the next week's withdrawals.
That said, I am in favor of this feature request. It sounds useful, albeit potentially dangerous if misused.

The more you explain the more features I would come up with, like a rebalancing feature in set intervals which considers the percentage in both hot and cold wallet. (naturally with a safety mechanism that a hacked hot wallet can’t empty out the cold wallet by rebalancing) That said this would get out of hand so better stick with the suggestion above. ;)
As for the actual suggestion I’ve just noticed the obvious with your explanation aka FA needs to be excluded from the forwarding scan on incoming payments. Otherwise payments from the cold to hot wallet would go partially back.
Regarding the misuse (e.g. the hot wallet gets hacked) it would eventually make sense that a enabling is bound to a ledgerwide timeframe of 1-3 days. Then the attacker can’t change the forwarding fast enough before the exchange/FI/person notices a FA set transaction & can counter with measures that way. Aka no funds can be falsely forwarded to a shady actor.


Upgrade selenium tests

We should update tests/util/test.js with the following:

replace selenium-webdriver with wd
integrate browser stack (https://www.browserstack.com/automate/wd) (contact me for the access key)
possibly improve how assertions work with chai
configure so that we run the tests with IE11
add a status badge to the front page (BS requested that so that they give us an opensource project plan) https://www.browserstack.com/automate/status-badges
if needed integrate with travis https://www.browserstack.com/automate/travisci

Instead of replacing selenium-webdriver, let's look into:

https://www.browserstack.com/automate/node
https://www.browserstack.com/local-testing (with an extra setting as documented here: https://www.browserstack.com/automate/java#setting-local-tunnel )

so we don't need to change all our tests.

Integration with Travis CI is split off into #211.


Fix weak memory emulation to avoid generating behaviors that are forbidden under C++ 20

After discussion with Viktor Vafeiadis and Michalis Kokologiannakis, we concluded that the only thing Miri still needs to do to be sound wrt C++20 is treat SC fences as RMWs to a global location -- i.e., have a global unique clock that each RMW releases to and acquires from. This is unnecessarily strong (it rules out some behaviors that would be legal), but it is currently unclear how to do better, and we still pass all our tests for generating weak behaviors so hopefully we'll still get good test coverage for other cases.
@cbeuw does this make sense to you?
Fixes https://github.com/rust-lang/miri/issues/2301

My main reservation here is that I believe this is effectively the same SC fence treatment as proposed by Promising Semantics. And previously (when I remembered all of these stuff better than I do now) I said https://github.com/rust-lang/miri/issues/2301#issuecomment-1229517106

SC fences are better behaved. Adapting Promising Semantics' SC fences is possible and can actually simplify our code. The bit I'm not fully comfortable with is the interaction between SC fences and SC accesses, which are fairly intertwined.

There could be an example involving both SC fences and SC accesses that exhibits C++20-forbidden behaviour. I think it's worth asking Viktor and Michalis what they think. I'll try to come up with such an example as well.
Though in any case, I'm happy for this to be merged, but without promising that we're fully C++20-compatible for programs that have both SC fences and SC accesses

Thanks for taking a look!

There could be an example involving both SC fences and SC accesses that exhibits C++20-forbidden behaviour. I think it's worth asking Viktor and Michalis what they think. I'll try to come up with such an example as well.

When I asked them, they said this should be enough, but I didn't ask specifically about the interactions. If a thread does first an SC fence and then an SC access, they do interact via the local clock after all, so in my understanding that should be enough.
We're generally not promising to be bug-free so I think this should suffice.
I can ask Michalis specifically about this again next time I see him.

Note that SC fence also serve as a release+acquire fence, so you might need a bit more.
See second bullet on page 10 here:
https://www.cs.tau.ac.il/~orilahav/papers/popl21_robustness.pdf

We do have this:
https://github.com/rust-lang/miri/blob/4e7f53a77c4b46b59a7bc313992c6170c9a27a9a/src/concurrency/data_race.rs#L870-L893
But it doesn't quite have the right order, compared to the paper. I guess we have to move the release fence to after the SC logic.
Is it possible to construct an example that is broken due to this?

perhaps this one:
Rk1 acq
Ry0 rlx
||
Wx1 rlx
SC-fence
Wk1 rlx
||
Wy1 rlx
SC-fence
Wz1 rlx
||
Rz1 acq
Rx0 rlx

with preceding F-rel the behavior is allowed
with following F-rel the behavior is disallowed

To my great surprise Miri does indeed produce that behavior. :) And https://github.com/rust-lang/miri/pull/4076 fixes it. Thanks a lot!
While you are here @orilahav , could you quickly confirm whether there is anything particular about the interaction of SC fences and SC accesses that we need to be worried about? Like, are they in some sort of global order whose effect changed with C++20?

I'm not sure what you mean exactly.

The treatment of SC accesses in C++20 is broken (unsound for x86)...
(at least the text in https://en.cppreference.com/w/cpp/atomic/memory_order)

Their axioms are similar to what we mentioned in the RC11 paper to be too strong
(https://plv.mpi-sws.org/scfix/paper.pdf, Remark 4).
Hans Boehm knows about this issue, and I belive it is planned to be fixed at some point.
(Maybe already discussed in a standard committee meeting?)

With RMWs for SC-fences you get a memory model incomparable to RC11.

Wx1 sc
Ry0 sc
||
Wy1 rlx
SC-fence
Rx0 rlx

disallowed in RC11
allowed with RMWs for SC-fences
But:
x:=1 na
SC-fence
y:=1 rlx
a:=y rlx
if a=2 then
  k:=1 rlx
||
y:=2 rlx
SC-fence
b:=k rlx
if b=1 then
  c:=x na

racy in RC11
not-racy with RMWs for SC-fences

Note that there is also the question of acyclic(poUrf).
RC11 has this condition, to conservatively solve the thin-air problem.
C++20 doesn't have it.
Some examples with SC-fences are related to this choice.

Wz1 rlx
SC-fence
Wx1 rlx
||
Rx1 rlx
Wy1 rlx
||
Ry1 rlx
SC-fence
Rz0 rlx

allowed in RC11
disallowed with RMWs for SC-fences (when you include acyclic(poUrf))

I hope my examples are correct. If you draw conclusions from them, we need to check more carefully :)

The treatment of SC accesses in C++20 is broken (unsound for x86)...

Oh gosh I didn't realize it was so bad.^^

I'm not sure what you mean exactly.

What I mean is this: we are looking for a model (supporting all fences and all accesses) with the following properties:

most importantly: all behaviors generated by the model are allowed by C++20 (but not necessarily the other way around)
the model can be implemented using vector clocks or similar, i.e. we don't have to track and maintain an undue amount of state
the model should generate as many (legal) behaviors as reasonably possible

Our starting point is this paper. However, C++20 has forbidden some behaviors that were previously allowed, so this violates the first property above. To fix that we have done two changes:

If an SC load reads from an atomic store of any ordering, then a later SC load cannot read
from an earlier store in the location's modification order. This is to prevent creating a
backwards S edge from the second load to the first, as a result of C++20's coherence-ordered
before rules. (This seems to rule out behaviors that were actually permitted by the RC11 model
that C++20 intended to copy (https://plv.mpi-sws.org/scfix/paper.pdf); a change was
introduced when translating the math to English. According to Viktor Vafeiadis, this
difference is harmless. So we stick to what the standard says, and allow fewer behaviors.)
SC fences are treated like AcqRel RMWs to a global clock, to ensure they induce enough
synchronization with the surrounding accesses. This rules out legal behavior, but it is really
hard to be more precise here.

The question is, is this enough? We changed SC accesses and SC fences, but maybe the interplay of the two changed in more subtle ways in C++20 and that could still lead to us generating behaviors that C++20 does not allow.

I suspect the first example in my previous comment shows a problem in your approach, right?
It is disallowed by C++20, but I think your algorithm allows this behavior.
(More generally speaking, I don't really understand why one should care about C++20 when we know it is broken.)

I hope my examples are correct. If you draw conclusions from them, we need to check more carefully :)

I have a hard time understanding bare examples like that, so the risk that I may be able to draw my own conclusions from them is rather low. ;)

I suspect the first example in my previous comment shows a problem in your approach, right?
It is disallowed by C++20, but I think your algorithm allows this behavior.

That looks exactly like the kind of example @cbeuw was worried about, thanks!
I can this test 1000 times and never saw the bad behavior. So I think we are fine. I'll have to figure out why, though...

I don't really understand why one should care about C++20 when we know it is broken

Because it's the model Rust officially subscribes to... because developing our own model is hard and also we need to be able to share memory with C/C++ programs.

The first example is prevented in our implementation:
https://github.com/rust-lang/miri/blob/0603597615c75e376baac18a8db99e6546e0ea16/src/concurrency/weak_memory.rs#L346-L352

So here's the explanation:

We have a global last_sc_write_per_thread clock. Usually this is only updated by SC writes: when a thread does an SC write, it sets its own index in that clock to its current time. (It doesn't update the value for any other thread in that clock. So, this is like joining last_sc_write_per_thread with a clock that is 0 everywhere except for the thread that did the SC write).
On an SC fence, we join the current global last_sc_write_per_thread the write_seqcst of the current thread.
On a read, when searching the store buffer for a read we may use, if we encounter an element that was written with SC ordering and that is older than the per-thread write_seqcst, we do not consider older entries. That is the code @cbeuw just posted.

IIUC, this check was already present in the original POPL paper? https://github.com/rust-lang/miri/pull/2512 only changed the comments here, not the logic, as far as I can tell.

I don't really understand why one should care about C++20 when we know it is broken

Because it's the model Rust officially subscribes to... because developing our own model is hard and also we need to be able to share memory with C/C++ programs.

This is a strange reason in my mind. C++20 compilation to x86 is currently wrong!
That's much more important than unsoundness in Miri, and there is no reason to copy wrong C++20 to Miri.
You can use RC11 instead of C++20.

On an SC fence, we join the current global last_sc_write_per_thread the write_seqcst of the current thread.

Then, you do more than the RMW encoding you mentioned, bcs an RMW (+ rel/acq fences) won't do that (right?).
In that case it's hard for me to judge correctness, bcs it is not clear to me what is the declarative model your algorithm follows.

Here are more complicated examples to try (both disallowed in RC11 IIUC):
Wx1 sc
Ry0 sc
||
Wy1 rlx
Wz1 rel
||
Rz1 acq
SC-fence
Rx0 rlx

Wx1 sc
Ry0 sc
||
Wy1 rlx
F-sc
Rz0 rlx
||
Wz1 rlx
||
Rz1 rlx
F-sc
Rx0 rlx

This is a strange reason in my mind. C++20 compilation to x86 is currently wrong!
That's much more important than unsoundness in Miri, and there is no reason to copy wrong C++20 to Miri.
You can use RC11 instead of C++20.

Sorry, I should have clarified: this is not a Miri decision. Rust documents that we use the C++20 memory model. Miri should match that.
Maybe we should track this x86 problem somewhere... Is there a document or blog post or so that describes the problem?

Then, you do more than the RMW encoding you mentioned, bcs an RMW (+ rel/acq fences) won't do that (right?).
In that case it's hard for me to judge correctness, bcs it is not clear to me what is the declarative model your algorithm follows.

Yeah, we also do whatever the POPL17 paper mentioned above does.
Sadly I do not know of a well-documented operational model we could just use, so we are patching that POPL17 model instead. And until the C++ model situation is resolved I'd rather not spook crate authors with alerts I cannot explain...

Maybe we should track this x86 problem somewhere... Is there a document or blog post or so that describes the problem?

This is what I was able to track:
https://cplusplus.github.io/LWG/lwg-active.html#3941

Here are more complicated examples to try (both disallowed in RC11 IIUC):

Miri seems to not generate either of them.
I think I understand the first of these tests (it checks the combination of SC accesses being order with a release-acquire pair), but I don't get the second one. The lonely relaxed store in thread 3 is particularly confusing. Could you explain a bit what kind of a situation this test is targeting?

Okay I think I understand why that execution is impossible, I added some comments in https://github.com/rust-lang/miri/pull/4090 (the test name there is test_sc_multi_fence). Would be great if you could take a look. :)


Post per page limit in the themes

We should make an agreement on if we should have some fixed post per page limit, except disallowing -1, and handling nopaging in queries.
A discussion in the WPTRT would be needed to reach a conclusion.

Generally speaking, we've said that themes should not touch the core queries (e.g., blog posts page, author archive, etc.).  That falls under plugin territory.  Custom page templates and a front page template are the obvious exception to that.

With the above said, there are some special cases.  I could theoretically see some type of directory theme that lists off everything and alters the main query in other ways.  Of course, that'd fall under a special case and wouldn't be a part of a standard.

Yeah, you could hook to pre_get_posts and alter any query in the theme (wouldn't see why that couldn't be in the theme tbh).
Some sensible number should be agreed upon, so that we can add it in the ruleset, and in the handbook

A sensible number is "don't touch it unless you absolutely must because this is generally plugin territory".  That was already discussed long ago.  Putting an arbitrary number up as a limit doesn't help when it's not allowed and would never address all the use cases for when there's an exception.
Frankly, this topic seems like we're looking for a solution to a problem that doesn't really exist.
Are we suddenly getting themes that are querying 110 posts but 100 seems like a nicer cut-off point?  What's the reason for this ticket?

The reason for this ticket is the existing posts per page sniff that we need to make a decision what to do with it - if we allow it in the TRT CS then some limit needs to be set.
I'd rather include it to prevent cases where people query the entire table (setting posts_per_page => -1). We could just include that case, and leave the number to be whatever (10, 50, 10000)...

@dingo-d Just FYI: As an alternative, a sniff could be added to completely forbid touching posts_per_page from within a theme.

We don't need such a thing.  If there's an existing sniff, simply ignore it for the purposes of TRT.
There are legit cases to set 'posts_per_page' => -1.  Just as a quick example off the top of my head, a theme might build a custom page template that creates an archive of pages or some other post type.

There are legit cases to set 'posts_per_page' => -1

Let's agree to disagree. Unless you have a blog with over 100k posts in it, setting posts_per_page to -1 has a huge negative effect on the query speed. I did the test on one of my projects where I had huge number of posts and had to search through all of them, and even setting posts_per_page to 50000 was better than setting it to -1.
Sure, if you have a huge number of posts you could run into a problem of passing this limit. But these are really big edge cases.
Anyways, I'd like to see what other members think about this. @pattonwebz could bring this up on one of the meetings, and if the people are for ignoring this rule, we can ignore it :)

I agree that in most cases -1 is not needed. Though if you have 50000 posts then you will not likely be using a theme from w.org and will have your own team who will tell you to use -1 is not a good idea. Related: https://10up.github.io/Engineering-Best-Practices/php/

Team decided it wants this check but to keep it as a warning rather than an error for some edge cases.
Meeting: https://wordpress.slack.com/archives/C02RP4Y3K/p1528822802001090

If I'm not mistaken this would just require the change in the ruleset.xml so
<rule ref="WordPress.WP.PostsPerPage">
  <type>warning</type>
</rule>

If that's correct it's a minor change and can be added in 0.2.0 release 🙂

@dingo-d The WordPress.WP.PostsPerPage sniff checks for a high (> 100) limit, not for -1. That part was contained in the VIP sniff which has been removed, though there is discussion in WPCS about bringing it back.
See: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1638

Closing as this has been addressed via PR #218.


demo is broken

hi brandon!
your demo in the readme: https://codesandbox.io/s/yp34vpk50j is mostly commented out.
i tried to fix it but ran into this weird destructuring issue: https://codesandbox.io/s/qz227r7q0w
can you please take a look? i cant figure it out.

i made a working todolist demo if that helps https://codesandbox.io/s/nkmow5qx04

Hey @sw-yx! Thanks, I must have made edits to it thinking I had forked it 😬
I'll fix this soon.

yeah for some reason all these online editors make a bad habit of not making it super clear when you are editing the main thing vs editing a fork. only astexplorer.net does it right.

I would really like to see a working demo. I've been tracking this issue and I'm surprised it hasn't been fixed after so long.


Use a single type for TextFormatType everywhere and use set operation…

I was getting confused with having multiple types for TextFormat and having to convert between them. So i refactored to use a single TextFormatType as an OptionSet and using set operations where possible.
Happy to discuss. Just trying to reduce the number of types lexical declares and converting between them.

Hi! Happy to merge this, once I've had time to update our internal stuff to be compatible.
You might be interested in my proposed new styles system (PR #46). It's a rethink of text styles, to make them extensible, type-safe, and more. The idea is that we bring this to both iOS and web, replacing the TextFormat and Style fields on both platforms. I've got an initial iOS implementation in that PR (subject to a couple of things on my to-do list, but it's essentially functioning). We need to decide on a path to shipping it, especially in terms of backwards compatibility, and whether we wait for web to build it and ship both at the same time. I'd welcome your thoughts!


Sir, can I get whole code junk for SHAP partial dependence plot (scatterplot)+nonparametric regression line with SD with right and top histogram. I am very confused about it and i like it. Please provide me Thanks.

Please reopen with more details and clear request.


Track Details Pane Refactor

The Track Details pane as currently implemented only supports TrackFile types and their data. This limits users' ability to see details for non-TrackFile objects, so should be refactored!
One idea: ItemDetails class and IHasDetails interface

IHasDetails has a "GetDetails()" method that returns an ItemDetails object
ItemDetails class has some hardcoded fields that need to be filled, like Position, Altitude, object type (e.g. TrackFile or TacticalElement), source, Name, etc. Pretty much all the big common details

ItemDetails should also have a list or dictionary of values that get filled into the Details pane

the Details Pane should automatically conceal unavailable values and reveal available ones

Alternate idea: just create a new pane for TacticalElements and show whichever one is applicable

Will require some refactoring of the ProgramData events, maybe into an EventSystem independent of ProgramData

Better idea: use the customizable label feature to do this! Amazing!


Date

Related Issuse
Date calculator
Closes: #209
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.

Screenshots

Original
Updated

original screenshot
updated screenshot

conflict is resolved

Kindly update your code, it's still creating conflicts @satyampgt4

Make new PR ,with required changes


Link to a specific line of a scratch

e.g. /scratch/asdf#L100 to automatically scroll to line 100

Possibly by clicking/selecting line number(s) in the gutter


Testing

Changes
Removed ImageMagik and replaced it with pure libpng code.
Issues

Only supports PNGs with 4 channels (RGBA) meaning it fails on some images
Converts 16 bit colour images to 8 bit colour when reading.

I too was looking at how to replace the IM dependency (it doesn't compile on Ubuntu Wily)
I pulled this branch and ran a comparison, the results are not the same between the old and new, and I think the old looks better. (probably due to the issues noted already in the PR) Here were my results:
https://gist.github.com/solarkennedy/2544a9fe9ff4d76bedbc
I used the same methodology as http://www.xkyle.com/a-comparison-of-image-to-ascii-conversion-tools/


Release Google.Shopping.Merchant.Quota.V1Beta version 1.0.0-beta03

Changes in this release:
New features

Add IServiceCollection extension methods for client registration where an IServiceProvider is required. (commit 022fab2)

Created release for Google.Shopping.Merchant.Quota.V1Beta-1.0.0-beta03


Mega Ind V1.1 CAN protocol

Dear,
are there any writed  python CAN lib for MegaInd to comunicate with CAN devices?
Were can I find?
Any example?
Thanks
Regards

Hi,
The current firmware version does not support CAN, A new firmware version
and python lib to support CAN is under construction.
Regards
În joi, 26 nov. 2020 la 11:22, maudal78<EMAIL_ADDRESS>a scris:

Dear,
are there any writed python CAN lib for MegaInd to comunicate with CAN
devices?
Were can I find?
Any example?
Thanks
Regards
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SequentMicrosystems/megaind-rpi/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AD3ZCWUR2XBZPDJNIBDFFCLSRYM5FANCNFSM4UDO2MUA
.

Dear Alex
Do you plan to release soon new Firmware with CAN bus update ?
Thanks
Regards

Hi,
We don't have the time for finishing the implementation but I think in a month or so we will have the first version.
Regards

Dear Alex
In the event of you worked on CAN bus update, i m still interested in it !
Regards

Dear ALex
Have you had time to do Can bus firmware update ?
Regrads

Not yet!
În joi, 2 sept. 2021 la 12:48, Sebastien-GG @.***> a
scris:

Dear ALex
Have you had time to do Can bus firmware update ?
Regrads
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SequentMicrosystems/megaind-rpi/issues/2#issuecomment-911469087,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD3ZCWVAIQUSFDVNGMFTFDTT75B5HANCNFSM4UDO2MUA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Adding to project using gradle does now work

Gives an error: "Unable to find module with Gradle path ':' (needed by module 'test-livedetection'.)", pointing to line in gradle.build.kts where dependency was used.
AGP: 3.6.3,
Kotlin: 1.3.72,
gradle wrapper: gradle-5.6.4-all.zip

nvm, used it via jitpack.io - maybe you should specify that in README ?
Or I can make a PR, if you want

I added dependencies in this way, but I couldn’t find the class in ksv,
util.kt


Make dead brokers die harder

When a broker gets an error trying to receive a response (either from the
network layer, or from failing to parse the minimal global header), it should
just abandon ship and die. Save that error and return it immediately for any
further requests we might have made.

The vast majority of the time the connection is going to be hosed anyways, if
nothing else by being out-of-sync on correlation IDs (which we don't handle
and which doesn't seem particularly urgent).
All of Sarama's built-in callers (producer/consumer/offset-manager)
immediately Close a broker when they receive one of these errors anyways, so
all this does is speed up that in the common case.

If one of these errors is recoverable, and if there is user-space code
somewhere which actually tries to recover in one of those cases, then that code
would break.
This neatly satisfies one of the XXX comments I left in about this issue from
way back in 2013. The TODOs about correlation ID matching are still present.
@wvanbergen @4578395263256 another approach to #546, one I am generally happier with. Thoughts?

This change looks good to me :+1:.
I can't really see any use code out there trying to salvage the connection, especially because the correlation IDs are probably broken after something like this happens.

Alternatively, we could put in a circuit breaker. Not sure if it is worth the effort.

A circuit-breaker would be neat, but we already have other ones higher in the stack so we'd end up with nested breakers on slightly different conditions which would be odd. Also, this is really not something that can heal without re-starting the network connection so it's not an ideal use.


chore: update bitcoind to v25.1 and lnd to v0.17.1-beta

Tilt CI worked for me locally within 3 tries


fix: remove deprecated use of vim.tbl_add_reverse_lookup

merge pls msg is anoying

thank you!

@hrsh7th @lewis6991 This iterates while adding new keys, which doesn't seem to cause any issues but is technically undefined afaik. vim.tbl_add_reverse_lookup uses vim.tbl_keys to get around this issue.

Yes, I just realised that. Hopefully this doesn't cause an issue but fixing should be easy if it does.

I could confirm this causes some kv pairs not added on my end. I added a print statement just after the loop assignments:
diff --git a/lua/cmp/types/lsp.lua b/lua/cmp/types/lsp.lua
index 65d6301..2dfa192 100644
--- a/lua/cmp/types/lsp.lua
+++ b/lua/cmp/types/lsp.lua
@@ -205,6 +205,7 @@ lsp.CompletionItemKind = {
 for k, v in pairs(lsp.CompletionItemKind) do
   lsp.CompletionItemKind[v] = k
 end
+vim.print(lsp.CompletionItemKind)

 ---@class lsp.internal.CompletionItemDefaults
 ---@field public commitCharacters? string[]

And occasionally it shows that some pairs are not correctly added:

Reference at index 18 is missing this time. The missing kind is random, and I've seen kinds Function and Text could also disappear in completion window.


minor fixes

@preda-bogdan we will need some minor fixes:

[x] If the monitor already exists but it has the confirmation email in pending, no longer send the confirmation email. Now if I create again the monitor for a website that is already present but not confirmed I get from the API ->
{"status":500,"message":"Could not save a monitor for url `https:\/\/themeisle.com` because there already exists another monitor with the same url. Try saving a monitor with a different url."}
but the email is still sending.
[x] Instead of http://prntscr.com/ikzcx8 on confirm, please output just the string -> 'https://themeisle.com activated, email confirmed!', not the JSON output. Make sure the url is decoded. -
[x] The same thing applies to the message when the token is invalid.

@selul Made the requested changes and updated the server. Let me know if there is anything else I can help.

works great now. thanks !


links on homepage footer are not working

Describe the bug
links on footer just hang the page, nothing happens.
To Reproduce
Steps to reproduce the behavior:

Go to opencollective.com
Click on Docs&Help link on footer

Expected behavior
successfully being directed to the address on the link.
Additional context
A user reported same behaviour when clicking on an invoice PDF, might be related?

On it

This actually affects all footer's external link. Fix is on its way


Fix Issue 18104: improve example showing that aliases cannot be used …

…for expressions

I recommend this:
struct S
{
    static int i;
    static int j;
}

alias a = S.i; // OK, `S.i` is a symbol
alias b = S.j; // OK. `S.j` is also a symbol
alias c = a + b; // illegal, `a + b` is an expression
a = 2;         // sets `S.i` to `2`
b = 4;         // sets `S.j` to `4`

This purpose of this example is simply to illustrate the one can't alias an expression.  Trying to show that S.i and s.i are equivalent is irrelevant, and actually that feature is currently being debated.


Using it in PHPStorm

Did anybody try wslgit in PHPStorm? We have problems :-) Is there a reason why it should not work?

I have not tried it myself, but I also don't know why it shouldn't work.
Is there a git-console or something similar in PHPStorm, where you can see which commands are executed? That would be useful to reproduce why it doesn't work.

Usually yes but in this case nothing is logged, that is the strange thing.

I am working  with @amenk on this.
Now we get this error:
15:00:03.203: [intranet] git -c core.quotepath=false -c log.showSignature=false checkout -b develop origin/develop --
CreateProcess failed with error 2: Das System kann die angegebene Datei nicht finden.
(System can not find the specified file)
When we call git.exe directly via the cmd shell it is working, but not from PHPstorm

Just a guess, but are you using a 64bit version of PHPStorm, or is it 32bit?
There could be a problem that 32bit applications cannot see the 64bit bash.exe as described here: https://superuser.com/a/1219130

Thanks for the hint. IS the problem just that we put wslgit.exe in system32\ ? I assume wslgit.exe is a 64bit app ?

Maybe, have you tried putting it somewhere else?
Yes, wslgit.exe itself is a 64bit application.

Basically working, but we have other issues now (hanging git process) - opening an other ticket for that.


Slight Module Structure Improvement

Currently it is not possible to include the "abel" folder as a standalone module without installing it on your path.
This is because of the single line "import abel" in the files transform.py and "benchmark.py".
Replacing this by
"from .. import abel"
cures the problem.

Hi @himbeles, thanks for suggesting this and welcome to the PyAbel GitHub!
We have typically been installing PyAbel using
python setup.py develop
to allow the package to be installed, but remain in a user's directory where the source code can be directly modified. (Alternatively, you can use python setup.py install).
Changing to from .. import abel might allow for the behavior that you are looking for, but it breaks the package for the installed version. Here is the results after making the change:
In [1]: import abel
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-0953192da019> in <module>()
----> 1 import abel

/Users/danhickstein/Documents/PyAbel-dh/abel/__init__.py in <module>()
      7
      8 from . import basex
----> 9 from . import benchmark
     10 from . import direct
     11 from . import hansenlaw

/Users/danhickstein/Documents/PyAbel-dh/abel/benchmark.py in <module>()
      9
     10
---> 11 from .. import abel
     12
     13

ValueError: Attempted relative import beyond toplevel package

I think that we would need to change the imports in transform.py and benchmark.py to be something along the lines of
from . import basex
from . import hansenlaw
from . import direct
from . import three_point
etc, etc

These changes could be made, but we would want to be careful to make sure nothing gets messed up with the regular installation.
Does the python setup.py develop not work for you?

Okay, I think that this works as long as we change
import abel

to
from . import basex
from . import hansenlaw
from . import direct
from . import three_point
from . import tools

I don't really know enough about Python to know which is the preferred style. The former is fewer lines of code, but the latter seems to ensure that we are using packages from the same PyAbel directory. Also, it lets PyAbel run without being installed, which I suppose is a good thing...

Thanks for the quick reply!
I think, this change is really useful for many applications, where you build an integrated solution and want to include a fixed version of pyabel for compatibility reasons (and you dont want to resort to python virtual environments).

@DanHickstein
A three corrections, that you may be able to fix more quickly than waiting for me to put together a trivial PR:

Line 256 of transform.py requires the path to center_image (bottom line)

 # centering:
  if center == 'none':  # no centering
      if cols % 2 != 1:
          raise ValueError('Image must have an odd number of columns. \
                            Use a centering method.')
  else:
      IM = tools.center.center_image(IM, center, **center_options)

CONTRIBUTING.rst   extra >   (my fault)

_transform>

doc/transform_methods/hansenlaw.rst

Line 17 in the abstract spelling error modl (also my error)

Thanks @stggh! I just merged your https://github.com/PyAbel/PyAbel/pull/145, which contained these.

Hey, thanks for the quick support.
We use it for absorption imaging with ultracold atoms. Thanks to you for providing this nice package!

Am 10.03.2016 um 21:10 schrieb Danhickstein<EMAIL_ADDRESS>I think that this was addressed in #142, so I will close this issue.
Thanks @himbeles for making this suggestion!
Let us know if there are other ideas that you have for the package.
Also, out of curiosity, for what application are you using PyAbel? So far, we have people using it for photoelectron spectroscopy, flame analysis, and ultracold atoms.
―
Reply to this email directly or view it on GitHub.

Glad it has been useful for you!
If there are any features that the ultracold community is looking for, we would be happy to try to help incorporate them.


Login doesn't seem to work

I'm trying to use this API, but I have an Issue. When I try to login, there is no error, but then when I try to send something like $snapchat->sendMessage('xxx', 'Hello World!');, it says Warning:  Invalid argument supplied for foreach() in D:\Programme\xampp\htdocs\snapchat\src\snapchat.php on line 720 You have to add xxx as a friend first!.
It seems like the request for an Auth-Token doesn't return anything, but i have actually no idea why it doesn't work. :(

You don't have xxx in your contacts.

Yeah sure not, I put in a Username that is in the COntacts of the Account I logged in with. XXX is just a placeholder.

I'm getting this also. It seems my account logs in fine, but won't send chat msgs or update story etc.

Same here. Seems like snapchat has changed their API. When trying to log in into my account with $debug = true first request to https://feelinsonice-hrd.appspot.com/loq/device_id returns "Error: UNAUTHORIZED"

@Krupson ip/host blocked try a different one

@mgp25 Do you have an idea why it doesn't work? Did I oversee something? I checked pretty much all the issues other people had to deal with, but didn't find anything that could cause the problem for me.

@CptCarbonat yes, i have the fix, when i have time ill push it eventually

@mgp25  ok, thank you


adding a open in a window button

adding a keyboard shortcut to open a folder in a new window preferably Ctrl O
opening a folder in a new window will work the same as in file explorer
if you want you can replace it with a open in a new tab but i see that feature more difficult to add than the other

I've been thinking about having tabs similar to what ranger has, but it would require quite a bit of refactoring...
I think an easier alternative could be to make the number keys (or maybe tab/shift+tab) jump to different folders instantly from the latest history.
it would be even more useful if the history is preserved in a file
i'm not sure how well it would work in practice, though (the navigation history code is far from perfect, so it might end up too unpredictable)
maybe you'd manually assign numbers to folders, or just have 2 keys: bookmark / go to bookmark, what do you think?

I'm not too familiar with the project structure but I'll make sure to try to do that

You can configure bookmarks in your config.lua file now:
https://github.com/kivattt/fen/blob/453320a3301e2c4b623f5c26012b3d1eddba819e/config.lua#L35-L46


CLOUD-47602 use private IP for consul join

@martonsereg

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1787/


help with dob

Hi, im trying to create a db strategy yml file, where the dob generated should be between certains dates, cause they need to be 18 or above of age.
Any help, would be much appreciated.

You prolly can do something with a type literal and then use some sql to generate it @amz4u2nv

Thanks,
Is there any example, of using this
date_between_dates

If you're doing >18 age, can you filter via based on the table? Like for example
mysql> select * from person;
+-----+----------+--------+------+
| number | name  | gender | age  |
+-----+----------+--------+------+
| 114    | kev    | m    |  18   |
| 115    | brian  | m    |  18   |
+-----+----------+--------+------+

select * from table_name where  timestampdiff(year,age,curdate()) > 50
Or something like this

My bad at not explaining it, I’m trying to generate a fake dob but need the dob to be set so that they are all over 18

you should be able to use the date_between provider in the way you mentioned, using the fake_args feature.
column_name:
  type: fake_update
  fake_type: date_between
  fake_args:
    start_date: "-50y"
    end_date: "-18y"

You can read more about how passing args to generators works in the docs.
Let me know how you get on ✨

Thanks @rwnx, that did the trick
I was trying to use date_between_dates -
like below
  date_of_birth:
    type: fake_update
    fake_type: date_between_dates
    fake_args:
      start_date: '1975-01-01'
      end_date: '2001-01-01'

but got this error -
Unsupported Fake type: date_between_dates: dict_keys(['start_date', 'end_date'])
Not sure why this didnt work, do you know where the best place to see if my keys are correct and if the date inputs are in the correct format.
Thanks

the version of pynonymizer is 1.21.3
faker 11.3.0
I didn't choose explicity a locale but tried it with and without
pynonymizer -u root -p root -i test1.sql -s table_strategy.yml -o testdumpanon.sql
tables:
applicant_applicant:
columns:
firstName: first_name
lastName: last_name
dateOfBirth:
type: fake_update
fake_type: date_between_dates
fake_args:
start_date: '1975-01-01'
end_date: '2003-01-01'
Also taking out the fake_args in the above example, doesn't show any error, but it requires the params to make it work correctly.

yup that did the trick...my bad, should have spotted that.
date_between work absolutely fine, it was just when i trying to figure out how to resolve it, I came across date_between_dates, and was just wandering why it didn't work for me.
Thanks for all your help, much appreciated.


DateTransformer date format issue

I'm using a repository created from XML metadata and when trying to fetch a record from FileMaker I'm getting this error from DateTransformer:
  Notice: Undefined offset: 0

Trace looks like this (testing with a Symfony console command):
https://gist.github.com/montaniasystemab/3808750fc6cbe04e88832cb25bcafbc9
Dumping the value reveals another date format than what DateTransformer is expecting: 08-23-2010
Adding another block in DateTransformer with this date format seems to work, but I'm not sure if this is the best solution:
if (false === $dateTime) {
    $dateTime = DateTimeImmutable::createFromFormat(
        '!d-m-Y',
        $value,
        self::$utcTimeZone ?: (self::$utcTimeZone = new DateTimeZone('UTC'))
    );
}

I would like to discuss approaches to solving this issue before submitting a PR.
Maybe the date format should be configurable some way?
Also, this field is actually not required by the web application, so some way to exclude it from hydration would also effectively resolve the issue for us. I've not added this field to the XML metadata file.

Can you also provide a gist of the meta data part of your xml response from the FileMaker Server? I'm wondering if your date field in FileMaker is actually a text field. Pretty sure we found out that the date format is not variable when the field is properly typed.

So it seems that there is a way to alter the formats. For all intents and purposes it boils down to the host system settings, and it can vary by individual datasource. Here is where the per-file (per-datasource) setting can be altered:

@DASPRiD, so this means that we need to assume the Date, Time, and Timestamp formats can vary, even if that isn't very common. See hardcoded formats in these three transformers:

src/Client/ResultSet/Transformer/DateTimeTransformer.php
src/Client/ResultSet/Transformer/DateTransformer.php
src/Client/ResultSet/Transformer/TimeTransformer.php

Thanks for looking into it so quickly!
@jeremiahsmall Do you still need the XML response from us?

@montaniasystemab, that would be very helpful since you have a system with a different date format. All we need is the top part down to metadata and showing an example date field (you can manually delete any other fields). Bonus if you have a time and a timestamp field example you can include too.

@jeremiahsmall Here's a redacted XML response from our server:
https://gist.github.com/montaniasystemab/5fa0d64c4f9a2040a902da10ff269d6b
Unfortunately there's no timestamp field and I'm not a FileMaker developer so I'm not sure how to add another field.

Ok, well the xml you provided doesn't show an alternate format in the data source. You have one type "calculation" and two type "normal" fields. In other words, they are not date type fields. They appear to be custom formatted string results. So my proposed dynamic formatting wouldn't help in your case. Two things you could do here: let them be hydrated as strings, or change them to dates in FileMaker.

NB, a type "calculation" should be fine, as long as it's returning a date result.

Gah! I'm on a mobile device and scanned it too fast. It's result attribute, not type that matters, and your data shows that as date. Is that xml directly copied from your host? I am confused now.

That XML is the response of a findBy() call to a generated repository.
I've gathered the XML document by doing this:

Adding a logger to the Connection object
Using the Console Command that results in the error mentioned in the description
Getting the request URL from logs and manually calling it with curl

The request URL looks like this:
http://server/fmi/xml/fmresultset.xml?-db=File.fmp12&-lay=layout&x=...&y=...-find

Hydrating them as strings would work just fine for our use case, I tried adding type="string" in the entity metadata file but it still gets hydrated as a date. Any ideas how to force them to be hydrated as strings?
Thanks!

Chiming in here. There are actually several parts working together here. For once there is the XML-based repository, where you define specific types. That repository is getting its data from the result set client though, which sees a field definition with a date result and will accordingly transform it into a DateTimeImmutable object.
Looking through everything posted so far, it is indeed quite weird that those are defined as date results, but don't match the date format defined in the data source. I'm no Filemaker developer myself, so I have no idea how that would be possible.
The only thing which strikes my eye is that the date data are actually standard American dates, but with a dash instead of a slash (so that's not an ISO date or any locale date I've ever seen). Without knowing what exactly is going on there, I can't see how we'd properly fix the problem.
My current best guess is that the date and time separators are actually not important and can be changed to whatever one dislikes. If that'd be the case, we'd have to write a more sophisticated parser. But as I said, before we can write a proper fix for that, we'd have to figure out what's going on there.

Also, just doing a quick Google search, I found this: https://community.filemaker.com/message/301320#301320

@montaniasystemab did you find a solution? To hydrate them as strings, you could try one of two things in FileMaker:

Change the field type to text
Create a read-only (calc) field which re-casts the existing field as text, and reference that instead.

Sorry for the late reply, it's been holiday season here in Sweden =)
@jeremiahsmall I decided to add the format used by our FileMaker Server in DateTransformer because the project was about to go live.
I've not been able to figure out a solution which does not require changes in DateTransformer
Unfortunately changing the types in FileMaker is not an alternative since there's other integrations in place as well that we're reluctant to break/change.

With the upcoming v6 of SimpleFM, this will no longer be an issue, because we no longer use the metadata directly from FileMaker (they don't return it in the Data API, so it's not an option anyway). Now you define your own field mapping. So now one can now just use their own date transformer within the repository builder.


If there are 10 rooms in the list the tool fails

If there are 10 rooms in the list the tool fails.
The error starts from : use room_button(room, cur_room, i, there_are_ch)
https://github.com/DRincs-Productions/NQTR-System/blob/main/game/nqtr_screens/screens_nqtr.rpy#L38
log.txt

The code appears to be assigning a shortcut key based upon the number of rooms - so you'll notice if you press the numbers 1-9 it may highlight a room based upon this. Obviously there is no key on the keyboard with the number 10 or above so it is throwing an error.
Under game\nqtr_screens\screens_nqtr_component.rpy there is the following code:
key str(i) action [
SetVariable('prev_room', cur_room),
SetVariable('cur_room', room),
Call("after_return_from_room_navigation", label_name_to_call = "change_room"),
]


[Task]: Add logic for switching environments.

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks

expose endpoints for switching environments
update datasource configurations

Logic switched to FE only concept


[#164728382] Use upstream ipsec release

Story
What
Do not use our IPSec release, use SAP's (upstream) instead
We forked the release to change some file permissions, which has been merged upstream.
This doesn't actually change any packages at all, so it didn't modify any instances during deployment.
How to review
Review the no-op changes upstream
Who can review
Not @tlwr

The upstream changes look fine to me, and I can see that the change was a no-op in your env.


new platform: Excalibur

api PR: https://github.com/beefyfinance/beefy-api/pull/707
contract PR: https://github.com/beefyfinance/beefy-contracts/pull/176
"excalibur-usdc-ust"
vaultAddr = "0xAc637C673B0dCcCb69FbAf4d887b7d39e83685a3"
stratAddr = "0x26EdE57864ef2b8Ed2761841AB7f91B44C950728"
wantAddr =  "0xfA54BD05a1Aeaf66031a97a212981e8B35f88cD2"
"excalibur-usdc-ftm"
vaultAddr = "0x6529872D1bfF13097990e1672AAc5DAE0824d20c"
stratAddr = "0x7f058DF5A8CE63f8c8329925CeF3dfB99B7D29dB"
wantAddr =  "0xbFA565D3687C47B50661D4D26f9823eCC3547AC0"
"excalibur-ftm-ust"
vaultAddr = "0xB86D7c47135f593cFb00E6555e210b4D6817224d"
stratAddr = "0x17e3D7cb2A5fe4C5342d8E30Eeb5A3C9975C6293"
wantAddr =  "0x66402fdF9CF83Cdd54bfBB231162eEdA1B611925"
"excalibur-usdc-weth"
vaultAddr = "0xa9C58905185A17827e1E682d30A25629cb7Ad5fD"
stratAddr = "0x35e6F81fa7b29eCD44859f6EA74b43F77Fe910ec"
wantAddr =  "0x256301df3b8550C7C631a6Dc958700dfDbe1313D"
"excalibur-ftm-weth"
vaultAddr = "0x253f0C0b847d516B49F8481df318d3DEcB048FC5"
stratAddr = "0x8F8d1dE7f7E2B8C32BABFa1CE21613e8EcB49593"
wantAddr =  "0x4B27e549c336269c1fA23cd9fa156F10256A708C"
"excalibur-ftm-btc"
vaultAddr = "0x8bfCe478f3E6F134a081879984c8d9Bb2F7D7465"
stratAddr = "0x61bF8772C9DdBB65EcE0EC6c6476D598Ecd41Edc"
wantAddr =  "0xAD802d23E0e8FAF61064E3531B892c32AB7c4452"
"excalibur-ftm-exc"
vaultAddr = "0x10593B594490D8848B1A0e2dD13Eb75e6f58097A"
stratAddr = "0x6b5ac7443AF4118a31d70Bb45eF753dd67C34ADd"
wantAddr =  "0x7DeCbd8861b7fD98036Dd105B0265015744Cb2a6"


⚖ Register Validator: Cumulo

Network Choice
nemeton-1
Who are you?
Cumulo is an active member of the validator community in the Cosmos ecosystem, also we are in charge of managing the Spanish communites in SoMe as well as generating content for some of these networks.
http://cumulo.pro/
gentx
{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Cumulo","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"okp41vul4qp50x02j9qc6wcs4zt9f2y22yrl7fgvl6k","validator_address":"okp4valoper1vul4qp50x02j9qc6wcs4zt9f2y22yrl7u0ukyh","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"sTU12hbDAK84YK6bdSl60YVp7PqZoUD6ztrPaIELGew="},"value":{"denom":"uknow","amount":"10000000000"}}],"memo":"c030413e39be95c397c6681639f5d48675554c0c@<IP_ADDRESS>:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AzWW5eKr1lgTOCi9FQd7FnnLODeYbW9BlU5fMDG6sWGW"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["oCdU9giSoviqBM/ZrYHzCo9AGkHr6JwqVYE5HXZbF8Nqr0KTREP3Z1gAaR42+le5WrJTwUSQKALE4vmX0qBhWQ=="]}

😉 Here is the corresponding PR: https://github.com/okp4/networks/pull/250


Add instructions to debug tlapm

https://asciinema.org/a/307459 and https://www.youtube.com/watch?v=Eu46FmhpR_0&feature=youtu.be are recordings of how to debug tlapm with ocamldebug and inside VSCode (on Linux).  Do you want me to add a section to INSTALL that references/mirrors the recordings?

I put a bunch of effort into trying to set this up a few months ago and was met with failure unfortunately: https://github.com/tlaplus/tlapm/discussions/143